mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-01-11 14:50:49 +08:00
Update to 0.3.15 and improve models
- Cosmos now fully tested - Preliminary support for essential Cosmos prompt "upsampler" - Lumina tests - Tweaks to language and image resizing nodes - Fix for #31 all the samplers are now present again
This commit is contained in:
parent
693038738a
commit
048746f58b
@ -1,9 +1,12 @@
|
||||
from aiohttp import web
|
||||
from typing import Optional
|
||||
from folder_paths import folder_names_and_paths, get_directory_by_type
|
||||
from api_server.services.terminal_service import TerminalService
|
||||
import app.logger
|
||||
import os
|
||||
from typing import Optional
|
||||
|
||||
from aiohttp import web
|
||||
|
||||
from ...services.terminal_service import TerminalService
|
||||
from ....app.logger import get_logs as _logger_get_logs
|
||||
from ....cmd.folder_paths import folder_names_and_paths, get_directory_by_type # pylint: disable=import-error
|
||||
|
||||
|
||||
class InternalRoutes:
|
||||
'''
|
||||
@ -21,13 +24,13 @@ class InternalRoutes:
|
||||
def setup_routes(self):
|
||||
@self.routes.get('/logs')
|
||||
async def get_logs(request):
|
||||
return web.json_response("".join([(l["t"] + " - " + l["m"]) for l in app.logger.get_logs()]))
|
||||
return web.json_response("".join([(l["t"] + " - " + l["m"]) for l in _logger_get_logs()]))
|
||||
|
||||
@self.routes.get('/logs/raw')
|
||||
async def get_raw_logs(request):
|
||||
self.terminal_service.update_size()
|
||||
return web.json_response({
|
||||
"entries": list(app.logger.get_logs()),
|
||||
"entries": list(_logger_get_logs()),
|
||||
"size": {"cols": self.terminal_service.cols, "rows": self.terminal_service.rows}
|
||||
})
|
||||
|
||||
@ -43,7 +46,6 @@ class InternalRoutes:
|
||||
|
||||
return web.Response(status=200)
|
||||
|
||||
|
||||
@self.routes.get('/folder_paths')
|
||||
async def get_folder_paths(request):
|
||||
response = {}
|
||||
@ -64,7 +66,6 @@ class InternalRoutes:
|
||||
)
|
||||
return web.json_response([entry.name for entry in sorted_files], status=200)
|
||||
|
||||
|
||||
def get_app(self):
|
||||
if self._app is None:
|
||||
self._app = web.Application()
|
||||
|
||||
@ -133,7 +133,7 @@ class Configuration(dict):
|
||||
self.config_files = []
|
||||
self.cwd: Optional[str] = None
|
||||
self.base_paths: list[str] = []
|
||||
self.base_directory = Optional[str] = None
|
||||
self.base_directory: Optional[str] = None
|
||||
self.listen: str = "127.0.0.1"
|
||||
self.port: int = 8188
|
||||
self.enable_cors_header: Optional[str] = None
|
||||
|
||||
@ -53,27 +53,29 @@ def _resolve_path_with_compatibility(path: Path | str) -> PurePosixPath | Path:
|
||||
return Path(path).resolve()
|
||||
|
||||
|
||||
def init_default_paths(folder_names_and_paths: FolderNames, configuration: Optional[Configuration] = None, create_all_directories=False, replace_existing=True):
|
||||
def init_default_paths(folder_names_and_paths: FolderNames, configuration: Optional[Configuration] = None, create_all_directories=False, replace_existing=True, base_paths_from_configuration=True):
|
||||
"""
|
||||
Populates the folder names and paths object with the default, upstream model directories and custom_nodes directory.
|
||||
:param folder_names_and_paths: the object to populate with paths
|
||||
:param configuration: a configuration whose base_paths and other path settings will be used to set the values on this object
|
||||
:param create_all_directories: create all the possible directories by calling create_directories() after the object is populated
|
||||
:param replace_existing: when true, removes existing model paths objects for the built-in folder names; and, replaces the base paths
|
||||
:param base_paths_from_configuration: when true (default), populates folder_names_and_paths using the configuration's base paths, otherwise does not alter base paths as passed from folder_names_and_paths.base_paths
|
||||
:return:
|
||||
"""
|
||||
from ..cmd.main_pre import args
|
||||
configuration = configuration or args
|
||||
|
||||
base_paths = [Path(configuration.cwd) if configuration.cwd is not None else None] + [Path(configuration.base_directory) if configuration.base_directory is not None else None] + configuration.base_paths
|
||||
base_paths = [Path(path) for path in base_paths if path is not None]
|
||||
if len(base_paths) == 0:
|
||||
base_paths = [Path(os.getcwd())]
|
||||
base_paths = reduce(lambda uniq_list, item: uniq_list.append(item) or uniq_list if item not in uniq_list else uniq_list, base_paths, [])
|
||||
if replace_existing:
|
||||
folder_names_and_paths.base_paths.clear()
|
||||
for base_path in base_paths:
|
||||
folder_names_and_paths.add_base_path(base_path)
|
||||
if base_paths_from_configuration:
|
||||
base_paths = [Path(configuration.cwd) if configuration.cwd is not None else None] + [Path(configuration.base_directory) if configuration.base_directory is not None else None] + configuration.base_paths
|
||||
base_paths = [Path(path) for path in base_paths if path is not None]
|
||||
if len(base_paths) == 0:
|
||||
base_paths = [Path(os.getcwd())]
|
||||
base_paths = reduce(lambda uniq_list, item: uniq_list.append(item) or uniq_list if item not in uniq_list else uniq_list, base_paths, [])
|
||||
if replace_existing:
|
||||
folder_names_and_paths.base_paths.clear()
|
||||
for base_path in base_paths:
|
||||
folder_names_and_paths.add_base_path(base_path)
|
||||
hf_cache_paths = ModelPaths(["huggingface_cache"], supported_extensions=set())
|
||||
# TODO: explore if there is a better way to do this
|
||||
if "HF_HUB_CACHE" in os.environ:
|
||||
|
||||
@ -18,7 +18,7 @@ supported_pt_extensions: set[str]
|
||||
|
||||
|
||||
# Functions
|
||||
def init_default_paths(folder_names_and_paths: FolderNames, configuration: Optional[Configuration] = None, create_all_directories: bool = ..., replace_existing: bool = ...): ...
|
||||
def init_default_paths(folder_names_and_paths: FolderNames, configuration: Optional[Configuration] = None, create_all_directories: bool = ..., replace_existing: bool = ..., base_paths_from_configuration: bool = ...): ...
|
||||
|
||||
|
||||
def map_legacy(folder_name: str) -> str: ...
|
||||
|
||||
@ -39,6 +39,10 @@ warnings.filterwarnings("ignore", message="torch.utils._pytree._register_pytree_
|
||||
warnings.filterwarnings("ignore", message="Torch was not compiled with flash attention.")
|
||||
warnings.filterwarnings("ignore", message=".*Torch was not compiled with flash attention.*")
|
||||
warnings.filterwarnings('ignore', category=FutureWarning, message=r'`torch\.cuda\.amp\.custom_fwd.*')
|
||||
warnings.filterwarnings("ignore", message="Importing from timm.models.registry is deprecated, please import via timm.models", category=FutureWarning)
|
||||
warnings.filterwarnings("ignore", message="Importing from timm.models.layers is deprecated, please import via timm.layers", category=FutureWarning)
|
||||
warnings.filterwarnings("ignore", message="Inheritance class _InstrumentedApplication from web.Application is discouraged", category=DeprecationWarning)
|
||||
warnings.filterwarnings("ignore", message="Please import `gaussian_filter` from the `scipy.ndimage` namespace; the `scipy.ndimage.filters` namespace is deprecated", category=DeprecationWarning)
|
||||
|
||||
from ..cli_args import args
|
||||
|
||||
@ -55,7 +59,6 @@ if args.oneapi_device_selector is not None:
|
||||
os.environ['ONEAPI_DEVICE_SELECTOR'] = args.oneapi_device_selector
|
||||
this_logger.info("Set oneapi device selector to: {}".format(args.oneapi_device_selector))
|
||||
|
||||
|
||||
try:
|
||||
from . import cuda_malloc
|
||||
except Exception:
|
||||
@ -66,6 +69,7 @@ os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
|
||||
os.environ["TORCHINDUCTOR_FX_GRAPH_CACHE"] = "1"
|
||||
os.environ["TORCHINDUCTOR_AUTOGRAD_CACHE"] = "1"
|
||||
|
||||
|
||||
def _fix_pytorch_240():
|
||||
"""Fixes pytorch 2.4.0"""
|
||||
torch_spec = importlib.util.find_spec("torch")
|
||||
|
||||
@ -57,9 +57,9 @@ class TransformersManagedModel(ModelManageable, LanguageModel):
|
||||
model.to(device=self.offload_device)
|
||||
|
||||
@staticmethod
|
||||
def from_pretrained(ckpt_name: str, subfolder: Optional[str] = None) -> "TransformersManagedModel":
|
||||
def from_pretrained(ckpt_name: str, subfolder: Optional[str] = None, config_dict: PretrainedConfig | dict | None = None) -> "TransformersManagedModel":
|
||||
hub_kwargs = {}
|
||||
if subfolder is not None and subfolder != "":
|
||||
if subfolder is not None and subfolder.strip() != "":
|
||||
hub_kwargs["subfolder"] = subfolder
|
||||
repo_id = ckpt_name
|
||||
with comfy_tqdm():
|
||||
@ -77,7 +77,10 @@ class TransformersManagedModel(ModelManageable, LanguageModel):
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
config_dict, _ = PretrainedConfig.get_config_dict(ckpt_name, **hub_kwargs)
|
||||
if config_dict is None:
|
||||
config_dict, _ = PretrainedConfig.get_config_dict(ckpt_name, **hub_kwargs)
|
||||
elif isinstance(config_dict, PretrainedConfig):
|
||||
config_dict: dict = config_dict.to_dict()
|
||||
model_type = config_dict["model_type"]
|
||||
# language models prefer to use bfloat16 over float16
|
||||
kwargs_to_try = ({"torch_dtype": unet_dtype(supported_dtypes=(torch.bfloat16, torch.float16, torch.float32)),
|
||||
|
||||
0
comfy/ldm/lumina/__init__.py
Normal file
0
comfy/ldm/lumina/__init__.py
Normal file
@ -6,11 +6,11 @@ from typing import List, Optional, Tuple
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
import torch.nn.functional as F
|
||||
import comfy.ldm.common_dit
|
||||
|
||||
from comfy.ldm.modules.diffusionmodules.mmdit import TimestepEmbedder, RMSNorm
|
||||
from comfy.ldm.modules.attention import optimized_attention_masked
|
||||
from comfy.ldm.flux.layers import EmbedND
|
||||
from ..common_dit import pad_to_patch_size
|
||||
from ..modules.diffusionmodules.mmdit import TimestepEmbedder, RMSNorm
|
||||
from ..modules.attention import optimized_attention_masked
|
||||
from ..flux.layers import EmbedND
|
||||
|
||||
|
||||
def modulate(x, scale):
|
||||
@ -596,7 +596,7 @@ class NextDiT(nn.Module):
|
||||
cap_feats = context
|
||||
cap_mask = attention_mask
|
||||
bs, c, h, w = x.shape
|
||||
x = comfy.ldm.common_dit.pad_to_patch_size(x, (self.patch_size, self.patch_size))
|
||||
x = pad_to_patch_size(x, (self.patch_size, self.patch_size))
|
||||
"""
|
||||
Forward pass of NextDiT.
|
||||
t: (N,) tensor of diffusion timesteps
|
||||
|
||||
@ -278,6 +278,8 @@ KNOWN_CHECKPOINTS: Final[KnownDownloadables] = KnownDownloadables([
|
||||
HuggingFile("lllyasviel/flux1-dev-bnb-nf4", "flux1-dev-bnb-nf4-v2.safetensors"),
|
||||
HuggingFile("silveroxides/flux1-nf4-weights", "flux1-schnell-bnb-nf4.safetensors"),
|
||||
HuggingFile("Lightricks/LTX-Video", "ltx-video-2b-v0.9.safetensors"),
|
||||
HuggingFile("Lightricks/LTX-Video", "ltx-video-2b-v0.9.1.safetensors"),
|
||||
HuggingFile("Comfy-Org/Lumina_Image_2.0_Repackaged", "all_in_one/lumina_2.safetensors"),
|
||||
], folder_name="checkpoints")
|
||||
|
||||
KNOWN_UNCLIP_CHECKPOINTS: Final[KnownDownloadables] = KnownDownloadables([
|
||||
@ -440,6 +442,7 @@ KNOWN_VAES: Final[KnownDownloadables] = KnownDownloadables([
|
||||
HuggingFile("Comfy-Org/mochi_preview_repackaged", "split_files/vae/mochi_vae.safetensors"),
|
||||
HuggingFile("Comfy-Org/HunyuanVideo_repackaged", "split_files/vae/hunyuan_video_vae_bf16.safetensors"),
|
||||
HuggingFile("comfyanonymous/cosmos_1.0_text_encoder_and_VAE_ComfyUI", "vae/cosmos_cv8x8x8_1.0.safetensors"),
|
||||
HuggingFile("Comfy-Org/Lumina_Image_2.0_Repackaged", "split_files/vae/ae.safetensors", save_with_filename="lumina_image_2.0-ae.safetensors"),
|
||||
], folder_name="vae")
|
||||
|
||||
KNOWN_HUGGINGFACE_MODEL_REPOS: Final[Set[str]] = {
|
||||
@ -456,6 +459,7 @@ KNOWN_HUGGINGFACE_MODEL_REPOS: Final[Set[str]] = {
|
||||
'google/paligemma2-28b-pt-896',
|
||||
'google/paligemma-3b-ft-refcoco-seg-896',
|
||||
'microsoft/phi-4',
|
||||
'appmana/Cosmos-1.0-Prompt-Upsampler-12B-Text2World-hf'
|
||||
}
|
||||
|
||||
KNOWN_UNET_MODELS: Final[KnownDownloadables] = KnownDownloadables([
|
||||
@ -474,6 +478,7 @@ KNOWN_UNET_MODELS: Final[KnownDownloadables] = KnownDownloadables([
|
||||
HuggingFile("mcmonkey/cosmos-1.0", "Cosmos-1_0-Diffusion-14B-Video2World.safetensors"),
|
||||
HuggingFile("mcmonkey/cosmos-1.0", "Cosmos-1_0-Diffusion-7B-Text2World.safetensors"),
|
||||
HuggingFile("mcmonkey/cosmos-1.0", "Cosmos-1_0-Diffusion-7B-Video2World.safetensors"),
|
||||
HuggingFile("Comfy-Org/Lumina_Image_2.0_Repackaged", "split_files/diffusion_models/lumina_2_model_bf16.safetensors"),
|
||||
], folder_names=["diffusion_models", "unet"])
|
||||
|
||||
KNOWN_CLIP_MODELS: Final[KnownDownloadables] = KnownDownloadables([
|
||||
@ -490,6 +495,7 @@ KNOWN_CLIP_MODELS: Final[KnownDownloadables] = KnownDownloadables([
|
||||
HuggingFile("zer0int/CLIP-GmP-ViT-L-14", "ViT-L-14-TEXT-detail-improved-hiT-GmP-TE-only-HF.safetensors"),
|
||||
HuggingFile("comfyanonymous/cosmos_1.0_text_encoder_and_VAE_ComfyUI", "text_encoders/oldt5_xxl_fp16.safetensors"),
|
||||
HuggingFile("comfyanonymous/cosmos_1.0_text_encoder_and_VAE_ComfyUI", "text_encoders/oldt5_xxl_fp8_e4m3fn_scaled.safetensors"),
|
||||
HuggingFile("Comfy-Org/Lumina_Image_2.0_Repackaged", "split_files/text_encoders/gemma_2_2b_fp16.safetensors"),
|
||||
], folder_names=["clip", "text_encoders"])
|
||||
|
||||
KNOWN_STYLE_MODELS: Final[KnownDownloadables] = KnownDownloadables([
|
||||
|
||||
@ -1172,8 +1172,8 @@ def is_device_cuda(device):
|
||||
|
||||
|
||||
def is_directml_enabled():
|
||||
global directml_enabled
|
||||
if directml_enabled:
|
||||
global directml_device
|
||||
if directml_device is not None:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
@ -975,7 +975,7 @@ class CLIPLoader:
|
||||
elif type == "cosmos":
|
||||
clip_type = sd.CLIPType.COSMOS
|
||||
elif type == "lumina2":
|
||||
clip_type = comfy.sd.CLIPType.LUMINA2
|
||||
clip_type = sd.CLIPType.LUMINA2
|
||||
else:
|
||||
logging.warning(f"Unknown clip type argument passed: {type} for model {clip_name}")
|
||||
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
KSAMPLER_NAMES = ["euler", "euler_ancestral", "heun", "heunpp2", "dpm_2", "dpm_2_ancestral",
|
||||
"lms", "dpm_fast", "dpm_adaptive", "dpmpp_2s_ancestral", "dpmpp_sde", "dpmpp_sde_gpu",
|
||||
"dpmpp_2m", "dpmpp_2m_sde", "dpmpp_2m_sde_gpu", "dpmpp_3m_sde", "dpmpp_3m_sde_gpu", "ddpm", "lcm"]
|
||||
KSAMPLER_NAMES = ["euler", "euler_cfg_pp", "euler_ancestral", "euler_ancestral_cfg_pp", "heun", "heunpp2", "dpm_2", "dpm_2_ancestral",
|
||||
"lms", "dpm_fast", "dpm_adaptive", "dpmpp_2s_ancestral", "dpmpp_2s_ancestral_cfg_pp", "dpmpp_sde", "dpmpp_sde_gpu",
|
||||
"dpmpp_2m", "dpmpp_2m_cfg_pp", "dpmpp_2m_sde", "dpmpp_2m_sde_gpu", "dpmpp_3m_sde", "dpmpp_3m_sde_gpu", "ddpm", "lcm",
|
||||
"ipndm", "ipndm_v", "deis", "res_multistep", "res_multistep_cfg_pp", "res_multistep_ancestral", "res_multistep_ancestral_cfg_pp",
|
||||
"gradient_estimation"]
|
||||
|
||||
SCHEDULER_NAMES = ["normal", "karras", "exponential", "sgm_uniform", "simple", "ddim_uniform", "beta", "linear_quadratic", "kl_optimal"]
|
||||
SAMPLER_NAMES = KSAMPLER_NAMES + ["ddim", "uni_pc", "uni_pc_bh2"]
|
||||
|
||||
@ -720,14 +720,6 @@ class Sampler:
|
||||
sigma = float(sigmas[0])
|
||||
return math.isclose(max_sigma, sigma, rel_tol=1e-05) or sigma > max_sigma
|
||||
|
||||
|
||||
KSAMPLER_NAMES = ["euler", "euler_cfg_pp", "euler_ancestral", "euler_ancestral_cfg_pp", "heun", "heunpp2", "dpm_2", "dpm_2_ancestral",
|
||||
"lms", "dpm_fast", "dpm_adaptive", "dpmpp_2s_ancestral", "dpmpp_2s_ancestral_cfg_pp", "dpmpp_sde", "dpmpp_sde_gpu",
|
||||
"dpmpp_2m", "dpmpp_2m_cfg_pp", "dpmpp_2m_sde", "dpmpp_2m_sde_gpu", "dpmpp_3m_sde", "dpmpp_3m_sde_gpu", "ddpm", "lcm",
|
||||
"ipndm", "ipndm_v", "deis", "res_multistep", "res_multistep_cfg_pp", "res_multistep_ancestral", "res_multistep_ancestral_cfg_pp",
|
||||
"gradient_estimation"]
|
||||
|
||||
|
||||
class KSAMPLER(Sampler):
|
||||
def __init__(self, sampler_function, extra_options={}, inpaint_options={}):
|
||||
self.sampler_function = sampler_function
|
||||
@ -1095,7 +1087,7 @@ class KSampler:
|
||||
self.model = model
|
||||
self.device = device
|
||||
if scheduler not in self.SCHEDULERS:
|
||||
scheduler = self.SCHEDULERS[0]
|
||||
sheduler = self.SCHEDULERS[0]
|
||||
if sampler not in self.SAMPLERS:
|
||||
sampler = self.SAMPLERS[0]
|
||||
self.scheduler = scheduler
|
||||
|
||||
@ -291,6 +291,8 @@ class Llama2_(nn.Module):
|
||||
|
||||
|
||||
class BaseLlama:
|
||||
model: Llama2_
|
||||
|
||||
def get_input_embeddings(self):
|
||||
return self.model.embed_tokens
|
||||
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
from comfy import sd1_clip
|
||||
from .llama import Gemma2_2B
|
||||
from .spiece_tokenizer import SPieceTokenizer
|
||||
import comfy.text_encoders.llama
|
||||
from .. import sd1_clip
|
||||
|
||||
|
||||
class Gemma2BTokenizer(sd1_clip.SDTokenizer):
|
||||
def __init__(self, embedding_directory=None, tokenizer_data={}):
|
||||
def __init__(self, embedding_directory=None, tokenizer_data=None):
|
||||
if tokenizer_data is None:
|
||||
tokenizer_data = {}
|
||||
tokenizer = tokenizer_data.get("spiece_model", None)
|
||||
super().__init__(tokenizer, pad_with_end=False, embedding_size=2304, embedding_key='gemma2_2b', tokenizer_class=SPieceTokenizer, has_end_token=False, pad_to_max_length=False, max_length=99999999, min_length=1, tokenizer_args={"add_bos": True, "add_eos": False})
|
||||
|
||||
@ -13,32 +15,41 @@ class Gemma2BTokenizer(sd1_clip.SDTokenizer):
|
||||
|
||||
|
||||
class LuminaTokenizer(sd1_clip.SD1Tokenizer):
|
||||
def __init__(self, embedding_directory=None, tokenizer_data={}):
|
||||
def __init__(self, embedding_directory=None, tokenizer_data=None):
|
||||
super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, name="gemma2_2b", tokenizer=Gemma2BTokenizer)
|
||||
if tokenizer_data is None:
|
||||
tokenizer_data = {}
|
||||
|
||||
|
||||
class Gemma2_2BModel(sd1_clip.SDClipModel):
|
||||
def __init__(self, device="cpu", layer="hidden", layer_idx=-2, dtype=None, attention_mask=True, model_options={}):
|
||||
def __init__(self, device="cpu", layer="hidden", layer_idx=-2, dtype=None, attention_mask=True, model_options=None, textmodel_json_config=None):
|
||||
if model_options is None:
|
||||
model_options = {}
|
||||
llama_scaled_fp8 = model_options.get("llama_scaled_fp8", None)
|
||||
if llama_scaled_fp8 is not None:
|
||||
model_options = model_options.copy()
|
||||
model_options["scaled_fp8"] = llama_scaled_fp8
|
||||
|
||||
super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config={}, dtype=dtype, special_tokens={"start": 2, "pad": 0}, layer_norm_hidden_state=False, model_class=comfy.text_encoders.llama.Gemma2_2B, enable_attention_masks=attention_mask, return_attention_masks=attention_mask, model_options=model_options)
|
||||
super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config={}, dtype=dtype, special_tokens={"start": 2, "pad": 0}, layer_norm_hidden_state=False, model_class=Gemma2_2B, enable_attention_masks=attention_mask, return_attention_masks=attention_mask, model_options=model_options)
|
||||
|
||||
|
||||
class LuminaModel(sd1_clip.SD1ClipModel):
|
||||
def __init__(self, device="cpu", dtype=None, model_options={}):
|
||||
def __init__(self, device="cpu", dtype=None, model_options=None):
|
||||
super().__init__(device=device, dtype=dtype, name="gemma2_2b", clip_model=Gemma2_2BModel, model_options=model_options)
|
||||
if model_options is None:
|
||||
model_options = {}
|
||||
|
||||
|
||||
def te(dtype_llama=None, llama_scaled_fp8=None):
|
||||
class LuminaTEModel_(LuminaModel):
|
||||
def __init__(self, device="cpu", dtype=None, model_options={}):
|
||||
def __init__(self, device="cpu", dtype=None, model_options=None):
|
||||
if model_options is None:
|
||||
model_options = {}
|
||||
if llama_scaled_fp8 is not None and "llama_scaled_fp8" not in model_options:
|
||||
model_options = model_options.copy()
|
||||
model_options["llama_scaled_fp8"] = llama_scaled_fp8
|
||||
if dtype_llama is not None:
|
||||
dtype = dtype_llama
|
||||
super().__init__(device=device, dtype=dtype, model_options=model_options)
|
||||
|
||||
return LuminaTEModel_
|
||||
|
||||
1
comfy/web/assets/BaseViewTemplate-DDUNNAbV.js.map
generated
vendored
1
comfy/web/assets/BaseViewTemplate-DDUNNAbV.js.map
generated
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"BaseViewTemplate-DDUNNAbV.js","sources":["../../src/views/templates/BaseViewTemplate.vue"],"sourcesContent":["<template>\n <div\n class=\"font-sans w-screen h-screen flex flex-col pointer-events-auto\"\n :class=\"[\n props.dark\n ? 'text-neutral-300 bg-neutral-900 dark-theme'\n : 'text-neutral-900 bg-neutral-300'\n ]\"\n >\n <!-- Virtual top menu for native window (drag handle) -->\n <div\n v-show=\"isNativeWindow()\"\n ref=\"topMenuRef\"\n class=\"app-drag w-full h-[var(--comfy-topbar-height)]\"\n />\n <div\n class=\"flex-grow w-full flex items-center justify-center overflow-auto\"\n >\n <slot></slot>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { nextTick, onMounted, ref } from 'vue'\n\nimport { electronAPI, isElectron, isNativeWindow } from '@/utils/envUtil'\n\nconst props = withDefaults(\n defineProps<{\n dark?: boolean\n }>(),\n {\n dark: false\n }\n)\n\nconst darkTheme = {\n color: 'rgba(0, 0, 0, 0)',\n symbolColor: '#d4d4d4'\n}\n\nconst lightTheme = {\n color: 'rgba(0, 0, 0, 0)',\n symbolColor: '#171717'\n}\n\nconst topMenuRef = ref<HTMLDivElement | null>(null)\nonMounted(async () => {\n if (isElectron()) {\n await nextTick()\n\n electronAPI().changeTheme({\n ...(props.dark ? darkTheme : lightTheme),\n height: topMenuRef.value.getBoundingClientRect().height\n })\n }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;AA4BA,UAAM,QAAQ;AASd,UAAM,YAAY;AAAA,MAChB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAEA,UAAM,aAAa;AAAA,MACjB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAEM,UAAA,aAAa,IAA2B,IAAI;AAClD,cAAU,YAAY;AACpB,UAAI,cAAc;AAChB,cAAM,SAAS;AAEf,oBAAA,EAAc,YAAY;AAAA,UACxB,GAAI,MAAM,OAAO,YAAY;AAAA,UAC7B,QAAQ,WAAW,MAAM,wBAAwB;AAAA,QAAA,CAClD;AAAA,MAAA;AAAA,IACH,CACD;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@ -1,8 +1,4 @@
|
||||
<<<<<<<< HEAD:comfy/web/assets/BaseViewTemplate-DDUNNAbV.js
|
||||
import { d as defineComponent, U as ref, p as onMounted, b4 as isElectron, W as nextTick, b5 as electronAPI, o as openBlock, f as createElementBlock, i as withDirectives, v as vShow, j as unref, b6 as isNativeWindow, m as createBaseVNode, A as renderSlot, ai as normalizeClass } from "./index-BsGgXmrT.js";
|
||||
========
|
||||
import { d as defineComponent, T as ref, p as onMounted, b8 as isElectron, V as nextTick, b9 as electronAPI, o as openBlock, f as createElementBlock, i as withDirectives, v as vShow, j as unref, ba as isNativeWindow, m as createBaseVNode, A as renderSlot, aj as normalizeClass } from "./index-Bv0b06LE.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/BaseViewTemplate-BTbuZf5t.js
|
||||
import { d as defineComponent, T as ref, p as onMounted, bh as isElectron, V as nextTick, bi as electronAPI, o as openBlock, f as createElementBlock, i as withDirectives, v as vShow, j as unref, bj as isNativeWindow, m as createBaseVNode, A as renderSlot, Z as normalizeClass } from "./index-DIgj6hpb.js";
|
||||
const _hoisted_1 = { class: "flex-grow w-full flex items-center justify-center overflow-auto" };
|
||||
const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
__name: "BaseViewTemplate",
|
||||
@ -52,8 +48,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
export {
|
||||
_sfc_main as _
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/BaseViewTemplate-DDUNNAbV.js
|
||||
//# sourceMappingURL=BaseViewTemplate-DDUNNAbV.js.map
|
||||
========
|
||||
//# sourceMappingURL=BaseViewTemplate-BTbuZf5t.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/BaseViewTemplate-BTbuZf5t.js
|
||||
//# sourceMappingURL=BaseViewTemplate-DaGOaycP.js.map
|
||||
1
comfy/web/assets/BaseViewTemplate-DaGOaycP.js.map
generated
vendored
Normal file
1
comfy/web/assets/BaseViewTemplate-DaGOaycP.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"BaseViewTemplate-DaGOaycP.js","sources":["../../src/views/templates/BaseViewTemplate.vue"],"sourcesContent":["<template>\n <div\n class=\"font-sans w-screen h-screen flex flex-col\"\n :class=\"[\n props.dark\n ? 'text-neutral-300 bg-neutral-900 dark-theme'\n : 'text-neutral-900 bg-neutral-300'\n ]\"\n >\n <!-- Virtual top menu for native window (drag handle) -->\n <div\n v-show=\"isNativeWindow()\"\n ref=\"topMenuRef\"\n class=\"app-drag w-full h-[var(--comfy-topbar-height)]\"\n />\n <div\n class=\"flex-grow w-full flex items-center justify-center overflow-auto\"\n >\n <slot></slot>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { nextTick, onMounted, ref } from 'vue'\n\nimport { electronAPI, isElectron, isNativeWindow } from '@/utils/envUtil'\n\nconst props = withDefaults(\n defineProps<{\n dark?: boolean\n }>(),\n {\n dark: false\n }\n)\n\nconst darkTheme = {\n color: 'rgba(0, 0, 0, 0)',\n symbolColor: '#d4d4d4'\n}\n\nconst lightTheme = {\n color: 'rgba(0, 0, 0, 0)',\n symbolColor: '#171717'\n}\n\nconst topMenuRef = ref<HTMLDivElement | null>(null)\nonMounted(async () => {\n if (isElectron()) {\n await nextTick()\n\n electronAPI().changeTheme({\n ...(props.dark ? darkTheme : lightTheme),\n height: topMenuRef.value.getBoundingClientRect().height\n })\n }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;AA4BA,UAAM,QAAQ;AASd,UAAM,YAAY;AAAA,MAChB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAEA,UAAM,aAAa;AAAA,MACjB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAEM,UAAA,aAAa,IAA2B,IAAI;AAClD,cAAU,YAAY;AACpB,UAAI,cAAc;AAChB,cAAM,SAAS;AAEf,oBAAA,EAAc,YAAY;AAAA,UACxB,GAAI,MAAM,OAAO,YAAY;AAAA,UAC7B,QAAQ,WAAW,MAAM,wBAAwB;AAAA,QAAA,CAClD;AAAA,MAAA;AAAA,IACH,CACD;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@ -1,5 +1,5 @@
|
||||
import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, k as createVNode, j as unref, bE as script } from "./index-Bv0b06LE.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-BTbuZf5t.js";
|
||||
import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, k as createVNode, j as unref, bN as script } from "./index-DIgj6hpb.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
__name: "DesktopStartView",
|
||||
setup(__props) {
|
||||
@ -16,4 +16,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
export {
|
||||
_sfc_main as default
|
||||
};
|
||||
//# sourceMappingURL=DesktopStartView-D9r53Bue.js.map
|
||||
//# sourceMappingURL=DesktopStartView-Dy1mcl-U.js.map
|
||||
1
comfy/web/assets/DesktopStartView-Dy1mcl-U.js.map
generated
vendored
Normal file
1
comfy/web/assets/DesktopStartView-Dy1mcl-U.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"DesktopStartView-Dy1mcl-U.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
||||
1
comfy/web/assets/DesktopStartView-elroCqfp.js.map
generated
vendored
1
comfy/web/assets/DesktopStartView-elroCqfp.js.map
generated
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"DesktopStartView-elroCqfp.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
|
||||
@ -1,9 +1,10 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
import { d as defineComponent, T as ref, d8 as onUnmounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, j as unref, bg as t, k as createVNode, bE as script, l as script$1, b9 as electronAPI, _ as _export_sfc } from "./index-Bv0b06LE.js";
|
||||
import { s as script$2 } from "./index-A_bXPJCN.js";
|
||||
import { _ as _sfc_main$1 } from "./TerminalOutputDrawer-CKr7Br7O.js";
|
||||
import { _ as _sfc_main$2 } from "./BaseViewTemplate-BTbuZf5t.js";
|
||||
import { d as defineComponent, T as ref, bU as onUnmounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, j as unref, bp as t, k as createVNode, bN as script, l as script$1, bi as electronAPI, _ as _export_sfc } from "./index-DIgj6hpb.js";
|
||||
import { s as script$2 } from "./index-CE2hpomb.js";
|
||||
import { _ as _sfc_main$1 } from "./TerminalOutputDrawer-B_NZxAv8.js";
|
||||
import { _ as _sfc_main$2 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
import "./index-C_ACzX5-.js";
|
||||
const _hoisted_1 = { class: "h-screen w-screen grid items-center justify-around overflow-y-auto" };
|
||||
const _hoisted_2 = { class: "relative m-8 text-center" };
|
||||
const _hoisted_3 = { class: "download-bg pi-download text-4xl font-bold" };
|
||||
@ -55,4 +56,4 @@ const DesktopUpdateView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId",
|
||||
export {
|
||||
DesktopUpdateView as default
|
||||
};
|
||||
//# sourceMappingURL=DesktopUpdateView-C-R0415K.js.map
|
||||
//# sourceMappingURL=DesktopUpdateView-dW35wQOR.js.map
|
||||
1
comfy/web/assets/DesktopUpdateView-dW35wQOR.js.map
generated
vendored
Normal file
1
comfy/web/assets/DesktopUpdateView-dW35wQOR.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"DesktopUpdateView-dW35wQOR.js","sources":["../../src/views/DesktopUpdateView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark>\n <div\n class=\"h-screen w-screen grid items-center justify-around overflow-y-auto\"\n >\n <div class=\"relative m-8 text-center\">\n <!-- Header -->\n <h1 class=\"download-bg pi-download text-4xl font-bold\">\n {{ t('desktopUpdate.title') }}\n </h1>\n\n <div class=\"m-8\">\n <span>{{ t('desktopUpdate.description') }}</span>\n </div>\n\n <ProgressSpinner class=\"m-8 w-48 h-48\" />\n\n <!-- Console button -->\n <Button\n style=\"transform: translateX(-50%)\"\n class=\"fixed bottom-0 left-1/2 my-8\"\n :label=\"t('maintenance.consoleLogs')\"\n icon=\"pi pi-desktop\"\n icon-pos=\"left\"\n severity=\"secondary\"\n @click=\"toggleConsoleDrawer\"\n />\n\n <TerminalOutputDrawer\n v-model=\"terminalVisible\"\n :header=\"t('g.terminal')\"\n :default-message=\"t('desktopUpdate.terminalDefaultMessage')\"\n />\n </div>\n </div>\n <Toast />\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport ProgressSpinner from 'primevue/progressspinner'\nimport Toast from 'primevue/toast'\nimport { onUnmounted, ref } from 'vue'\n\nimport TerminalOutputDrawer from '@/components/maintenance/TerminalOutputDrawer.vue'\nimport { t } from '@/i18n'\nimport { electronAPI } from '@/utils/envUtil'\n\nimport BaseViewTemplate from './templates/BaseViewTemplate.vue'\n\nconst electron = electronAPI()\n\nconst terminalVisible = ref(false)\n\nconst toggleConsoleDrawer = () => {\n terminalVisible.value = !terminalVisible.value\n}\n\nonUnmounted(() => electron.Validation.dispose())\n</script>\n\n<style scoped>\n.download-bg::before {\n @apply m-0 absolute text-muted;\n font-family: 'primeicons';\n top: -2rem;\n right: 2rem;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n display: inline-block;\n -webkit-font-smoothing: antialiased;\n opacity: 0.02;\n font-size: min(14rem, 90vw);\n z-index: 0;\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAmDA,UAAM,WAAW,YAAY;AAEvB,UAAA,kBAAkB,IAAI,KAAK;AAEjC,UAAM,sBAAsB,6BAAM;AAChB,sBAAA,QAAQ,CAAC,gBAAgB;AAAA,IAC3C,GAF4B;AAI5B,gBAAY,MAAM,SAAS,WAAW,QAAA,CAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@ -1,12 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/DownloadGitView-BFcFCk37.js
|
||||
import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, l as script, be as useRouter } from "./index-BsGgXmrT.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DDUNNAbV.js";
|
||||
========
|
||||
import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, l as script, bi as useRouter } from "./index-Bv0b06LE.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-BTbuZf5t.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/DownloadGitView-PWqK5ke4.js
|
||||
import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, l as script, br as useRouter } from "./index-DIgj6hpb.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
const _hoisted_1 = { class: "max-w-screen-sm flex flex-col gap-8 p-8 bg-[url('/assets/images/Git-Logo-White.svg')] bg-no-repeat bg-right-top bg-origin-padding" };
|
||||
const _hoisted_2 = { class: "mt-24 text-4xl font-bold text-red-500" };
|
||||
const _hoisted_3 = { class: "space-y-4" };
|
||||
@ -60,8 +55,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
export {
|
||||
_sfc_main as default
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/DownloadGitView-BFcFCk37.js
|
||||
//# sourceMappingURL=DownloadGitView-BFcFCk37.js.map
|
||||
========
|
||||
//# sourceMappingURL=DownloadGitView-PWqK5ke4.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/DownloadGitView-PWqK5ke4.js
|
||||
//# sourceMappingURL=DownloadGitView-La5U0bHp.js.map
|
||||
@ -1 +1 @@
|
||||
{"version":3,"file":"DownloadGitView-BFcFCk37.js","sources":["../../src/views/DownloadGitView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate>\n <div\n class=\"max-w-screen-sm flex flex-col gap-8 p-8 bg-[url('/assets/images/Git-Logo-White.svg')] bg-no-repeat bg-right-top bg-origin-padding\"\n >\n <!-- Header -->\n <h1 class=\"mt-24 text-4xl font-bold text-red-500\">\n {{ $t('downloadGit.title') }}\n </h1>\n\n <!-- Message -->\n <div class=\"space-y-4\">\n <p class=\"text-xl\">\n {{ $t('downloadGit.message') }}\n </p>\n <p class=\"text-xl\">\n {{ $t('downloadGit.instructions') }}\n </p>\n <p class=\"text-m\">\n {{ $t('downloadGit.warning') }}\n </p>\n </div>\n\n <!-- Actions -->\n <div class=\"flex gap-4 flex-row-reverse\">\n <Button\n :label=\"$t('downloadGit.gitWebsite')\"\n icon=\"pi pi-external-link\"\n icon-pos=\"right\"\n @click=\"openGitDownloads\"\n severity=\"primary\"\n />\n <Button\n :label=\"$t('downloadGit.skip')\"\n icon=\"pi pi-exclamation-triangle\"\n @click=\"skipGit\"\n severity=\"secondary\"\n />\n </div>\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport { useRouter } from 'vue-router'\n\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst openGitDownloads = () => {\n window.open('https://git-scm.com/downloads/', '_blank')\n}\n\nconst skipGit = () => {\n console.warn('pushing')\n const router = useRouter()\n router.push('install')\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAiDA,UAAM,mBAAmB,6BAAM;AACtB,aAAA,KAAK,kCAAkC,QAAQ;AAAA,IACxD,GAFyB;AAIzB,UAAM,UAAU,6BAAM;AACpB,cAAQ,KAAK,SAAS;AACtB,YAAM,SAAS,UAAU;AACzB,aAAO,KAAK,SAAS;AAAA,IACvB,GAJgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
{"version":3,"file":"DownloadGitView-La5U0bHp.js","sources":["../../src/views/DownloadGitView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate>\n <div\n class=\"max-w-screen-sm flex flex-col gap-8 p-8 bg-[url('/assets/images/Git-Logo-White.svg')] bg-no-repeat bg-right-top bg-origin-padding\"\n >\n <!-- Header -->\n <h1 class=\"mt-24 text-4xl font-bold text-red-500\">\n {{ $t('downloadGit.title') }}\n </h1>\n\n <!-- Message -->\n <div class=\"space-y-4\">\n <p class=\"text-xl\">\n {{ $t('downloadGit.message') }}\n </p>\n <p class=\"text-xl\">\n {{ $t('downloadGit.instructions') }}\n </p>\n <p class=\"text-m\">\n {{ $t('downloadGit.warning') }}\n </p>\n </div>\n\n <!-- Actions -->\n <div class=\"flex gap-4 flex-row-reverse\">\n <Button\n :label=\"$t('downloadGit.gitWebsite')\"\n icon=\"pi pi-external-link\"\n icon-pos=\"right\"\n @click=\"openGitDownloads\"\n severity=\"primary\"\n />\n <Button\n :label=\"$t('downloadGit.skip')\"\n icon=\"pi pi-exclamation-triangle\"\n @click=\"skipGit\"\n severity=\"secondary\"\n />\n </div>\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport { useRouter } from 'vue-router'\n\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst openGitDownloads = () => {\n window.open('https://git-scm.com/downloads/', '_blank')\n}\n\nconst skipGit = () => {\n console.warn('pushing')\n const router = useRouter()\n router.push('install')\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAiDA,UAAM,mBAAmB,6BAAM;AACtB,aAAA,KAAK,kCAAkC,QAAQ;AAAA,IACxD,GAFyB;AAIzB,UAAM,UAAU,6BAAM;AACpB,cAAQ,KAAK,SAAS;AACtB,YAAM,SAAS,UAAU;AACzB,aAAO,KAAK,SAAS;AAAA,IACvB,GAJgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@ -1,14 +1,8 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/ExtensionPanel-BPpLOa_B.js
|
||||
import { d as defineComponent, U as ref, df as FilterMatchMode, dk as useExtensionStore, a as useSettingStore, p as onMounted, c as computed, o as openBlock, y as createBlock, z as withCtx, k as createVNode, dg as SearchBox, j as unref, bj as script, m as createBaseVNode, f as createElementBlock, D as renderList, E as toDisplayString, a7 as createTextVNode, F as Fragment, l as script$1, B as createCommentVNode, a4 as script$3, ax as script$4, bn as script$5, dh as _sfc_main$1 } from "./index-BsGgXmrT.js";
|
||||
import { g as script$2, h as script$6 } from "./index-Br6dw1F6.js";
|
||||
import "./index-COyiXDAn.js";
|
||||
========
|
||||
import { d as defineComponent, T as ref, dx as FilterMatchMode, dC as useExtensionStore, a as useSettingStore, p as onMounted, c as computed, o as openBlock, y as createBlock, z as withCtx, k as createVNode, dy as SearchBox, j as unref, bn as script, m as createBaseVNode, f as createElementBlock, D as renderList, E as toDisplayString, a8 as createTextVNode, F as Fragment, l as script$1, B as createCommentVNode, a5 as script$3, ay as script$4, br as script$5, dz as _sfc_main$1 } from "./index-Bv0b06LE.js";
|
||||
import { g as script$2, h as script$6 } from "./index-CgMyWf7n.js";
|
||||
import "./index-Dzu9WL4p.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/ExtensionPanel-Ba57xrmg.js
|
||||
import { d as defineComponent, T as ref, dI as FilterMatchMode, dN as useExtensionStore, a as useSettingStore, p as onMounted, c as computed, o as openBlock, y as createBlock, z as withCtx, k as createVNode, dJ as SearchBox, j as unref, bw as script, m as createBaseVNode, f as createElementBlock, D as renderList, E as toDisplayString, ak as createTextVNode, F as Fragment, l as script$1, B as createCommentVNode, ah as script$3, aI as script$4, bA as script$5, dK as _sfc_main$1 } from "./index-DIgj6hpb.js";
|
||||
import { g as script$2, h as script$6 } from "./index-Czd3J-KM.js";
|
||||
import "./index-D8hjiWMw.js";
|
||||
const _hoisted_1 = { class: "flex justify-end" };
|
||||
const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
__name: "ExtensionPanel",
|
||||
@ -185,8 +179,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
export {
|
||||
_sfc_main as default
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/ExtensionPanel-BPpLOa_B.js
|
||||
//# sourceMappingURL=ExtensionPanel-BPpLOa_B.js.map
|
||||
========
|
||||
//# sourceMappingURL=ExtensionPanel-Ba57xrmg.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/ExtensionPanel-Ba57xrmg.js
|
||||
//# sourceMappingURL=ExtensionPanel-CSL3CfyH.js.map
|
||||
File diff suppressed because one or more lines are too long
4676
comfy/web/assets/GraphView-CPk-0F87.js
generated
vendored
4676
comfy/web/assets/GraphView-CPk-0F87.js
generated
vendored
File diff suppressed because it is too large
Load Diff
1
comfy/web/assets/GraphView-CPk-0F87.js.map
generated
vendored
1
comfy/web/assets/GraphView-CPk-0F87.js.map
generated
vendored
File diff suppressed because one or more lines are too long
668
comfy/web/assets/GraphView-B_UDZi95.js → comfy/web/assets/GraphView-J5fY4zmU.js
generated
vendored
668
comfy/web/assets/GraphView-B_UDZi95.js → comfy/web/assets/GraphView-J5fY4zmU.js
generated
vendored
File diff suppressed because it is too large
Load Diff
1
comfy/web/assets/GraphView-J5fY4zmU.js.map
generated
vendored
Normal file
1
comfy/web/assets/GraphView-J5fY4zmU.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
76
comfy/web/assets/GraphView-Bo28XDd0.css → comfy/web/assets/GraphView-NWS5Ob8A.css
generated
vendored
76
comfy/web/assets/GraphView-Bo28XDd0.css → comfy/web/assets/GraphView-NWS5Ob8A.css
generated
vendored
@ -1,5 +1,5 @@
|
||||
|
||||
.comfy-menu-hamburger[data-v-82120b51] {
|
||||
.comfy-menu-hamburger[data-v-4c2fbe7d] {
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
display: flex;
|
||||
@ -68,27 +68,51 @@
|
||||
z-index: 99999;
|
||||
}
|
||||
|
||||
.group-title-editor.node-title-editor[data-v-12d3fd12] {
|
||||
.selection-overlay-container[data-v-79be2f2e] > * {
|
||||
pointer-events: auto;
|
||||
}
|
||||
.show-border[data-v-79be2f2e] {
|
||||
border-radius: 0.375rem;
|
||||
border-width: 2px;
|
||||
border-style: dashed;
|
||||
border-color: var(--border-color);
|
||||
}
|
||||
|
||||
.color-picker-container[data-v-665d04c1] {
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
[data-v-665d04c1] .p-togglebutton {
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
padding-left: 0.25rem;
|
||||
padding-right: 0.25rem;
|
||||
}
|
||||
|
||||
.selection-toolbox[data-v-5f2fc3fa] {
|
||||
transform: translateX(-50%) translateY(-120%);
|
||||
}
|
||||
|
||||
.group-title-editor.node-title-editor[data-v-4e10cee2] {
|
||||
z-index: 9999;
|
||||
padding: 0.25rem;
|
||||
}
|
||||
[data-v-12d3fd12] .editable-text {
|
||||
[data-v-4e10cee2] .editable-text {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
[data-v-12d3fd12] .editable-text input {
|
||||
[data-v-4e10cee2] .editable-text input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
/* Override the default font size */
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
[data-v-fd0a74bd] .highlight {
|
||||
[data-v-186bfdc4] .highlight {
|
||||
background-color: var(--p-primary-color);
|
||||
color: var(--p-primary-contrast-color);
|
||||
font-weight: bold;
|
||||
border-radius: 0.25rem;
|
||||
padding: 0rem 0.125rem;
|
||||
padding: 0 0.125rem;
|
||||
margin: -0.125rem 0.125rem;
|
||||
}
|
||||
|
||||
@ -103,7 +127,7 @@
|
||||
}
|
||||
@media all and (max-width: 768px) {
|
||||
.invisible-dialog-root {
|
||||
margin-left: 0px;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
.node-search-box-dialog-mask {
|
||||
@ -222,12 +246,12 @@
|
||||
background-color: var(--comfy-menu-bg);
|
||||
}
|
||||
|
||||
[data-v-26957f1f] .p-inputtext {
|
||||
[data-v-2dc25459] .p-inputtext {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.comfyui-queue-button[data-v-91a628af] .p-splitbutton-dropdown {
|
||||
.comfyui-queue-button[data-v-4579e2ce] .p-splitbutton-dropdown {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
@ -263,25 +287,18 @@
|
||||
width: 0.75rem;
|
||||
}
|
||||
|
||||
.top-menubar[data-v-56df69d2] .p-menubar-item-link svg {
|
||||
display: none;
|
||||
}
|
||||
[data-v-56df69d2] .p-menubar-submenu.dropdown-direction-up {
|
||||
[data-v-6a9cf415] .p-menubar-submenu.dropdown-direction-up {
|
||||
top: auto;
|
||||
bottom: 100%;
|
||||
flex-direction: column-reverse;
|
||||
}
|
||||
.keybinding-tag[data-v-56df69d2] {
|
||||
.keybinding-tag[data-v-6a9cf415] {
|
||||
background: var(--p-content-hover-background);
|
||||
border-color: var(--p-content-border-color);
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
<<<<<<<< HEAD:comfy/web/assets/GraphView-BL5xAPb-.css
|
||||
.comfyui-menu[data-v-929e7543] {
|
||||
========
|
||||
.comfyui-menu[data-v-68d3b5b9] {
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/GraphView-Bo28XDd0.css
|
||||
.comfyui-menu[data-v-99f99a6b] {
|
||||
width: 100vw;
|
||||
height: var(--comfy-topbar-height);
|
||||
background: var(--comfy-menu-bg);
|
||||
@ -294,29 +311,16 @@
|
||||
order: 0;
|
||||
grid-column: 1/-1;
|
||||
}
|
||||
<<<<<<<< HEAD:comfy/web/assets/GraphView-BL5xAPb-.css
|
||||
.comfyui-menu.dropzone[data-v-929e7543] {
|
||||
.comfyui-menu.dropzone[data-v-99f99a6b] {
|
||||
background: var(--p-highlight-background);
|
||||
}
|
||||
.comfyui-menu.dropzone-active[data-v-929e7543] {
|
||||
.comfyui-menu.dropzone-active[data-v-99f99a6b] {
|
||||
background: var(--p-highlight-background-focus);
|
||||
}
|
||||
[data-v-929e7543] .p-menubar-item-label {
|
||||
[data-v-99f99a6b] .p-menubar-item-label {
|
||||
line-height: revert;
|
||||
}
|
||||
.comfyui-logo[data-v-929e7543] {
|
||||
========
|
||||
.comfyui-menu.dropzone[data-v-68d3b5b9] {
|
||||
background: var(--p-highlight-background);
|
||||
}
|
||||
.comfyui-menu.dropzone-active[data-v-68d3b5b9] {
|
||||
background: var(--p-highlight-background-focus);
|
||||
}
|
||||
[data-v-68d3b5b9] .p-menubar-item-label {
|
||||
line-height: revert;
|
||||
}
|
||||
.comfyui-logo[data-v-68d3b5b9] {
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/GraphView-Bo28XDd0.css
|
||||
.comfyui-logo[data-v-99f99a6b] {
|
||||
font-size: 1.2em;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
8
comfy/web/assets/InstallView-DW9xwU_F.js → comfy/web/assets/InstallView-BwawagSr.js
generated
vendored
8
comfy/web/assets/InstallView-DW9xwU_F.js → comfy/web/assets/InstallView-BwawagSr.js
generated
vendored
@ -1,9 +1,9 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
import { d as defineComponent, T as ref, bq as useModel, o as openBlock, f as createElementBlock, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, br as script, bl as script$1, as as withModifiers, z as withCtx, ac as script$2, I as useI18n, c as computed, aj as normalizeClass, B as createCommentVNode, a5 as script$3, a8 as createTextVNode, b9 as electronAPI, _ as _export_sfc, p as onMounted, r as resolveDirective, bk as script$4, i as withDirectives, bs as script$5, bt as script$6, l as script$7, y as createBlock, bn as script$8, bu as MigrationItems, w as watchEffect, F as Fragment, D as renderList, bv as script$9, bw as mergeModels, bx as ValidationState, X as normalizeI18nKey, N as watch, by as checkMirrorReachable, bz as _sfc_main$7, bA as isInChina, bB as mergeValidationStates, bg as t, b3 as script$a, bC as CUDA_TORCH_URL, bD as NIGHTLY_CPU_TORCH_URL, bi as useRouter, ah as toRaw } from "./index-Bv0b06LE.js";
|
||||
import { s as script$b, a as script$c, b as script$d, c as script$e, d as script$f } from "./index-SeIZOWJp.js";
|
||||
import { d as defineComponent, T as ref, bz as useModel, o as openBlock, f as createElementBlock, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, bA as script, bu as script$1, aD as withModifiers, z as withCtx, ao as script$2, I as useI18n, c as computed, Z as normalizeClass, B as createCommentVNode, ah as script$3, ak as createTextVNode, bi as electronAPI, _ as _export_sfc, p as onMounted, r as resolveDirective, bt as script$4, i as withDirectives, bB as script$5, bC as script$6, l as script$7, y as createBlock, bw as script$8, bD as MigrationItems, w as watchEffect, F as Fragment, D as renderList, bE as script$9, bF as mergeModels, bG as ValidationState, X as normalizeI18nKey, N as watch, bH as checkMirrorReachable, bI as _sfc_main$7, bJ as isInChina, bK as mergeValidationStates, bp as t, a8 as script$a, bL as CUDA_TORCH_URL, bM as NIGHTLY_CPU_TORCH_URL, br as useRouter, at as toRaw } from "./index-DIgj6hpb.js";
|
||||
import { s as script$b, a as script$c, b as script$d, c as script$e, d as script$f } from "./index-BKScv1mm.js";
|
||||
import { P as PYTHON_MIRROR, a as PYPI_MIRROR } from "./uvMirrors-B-HKMf6X.js";
|
||||
import { _ as _sfc_main$8 } from "./BaseViewTemplate-BTbuZf5t.js";
|
||||
import { _ as _sfc_main$8 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
const _hoisted_1$5 = { class: "flex flex-col gap-6 w-[600px]" };
|
||||
const _hoisted_2$5 = { class: "flex flex-col gap-4" };
|
||||
const _hoisted_3$5 = { class: "text-2xl font-semibold text-neutral-100" };
|
||||
@ -968,4 +968,4 @@ const InstallView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-
|
||||
export {
|
||||
InstallView as default
|
||||
};
|
||||
//# sourceMappingURL=InstallView-DW9xwU_F.js.map
|
||||
//# sourceMappingURL=InstallView-BwawagSr.js.map
|
||||
1
comfy/web/assets/InstallView-BwawagSr.js.map
generated
vendored
Normal file
1
comfy/web/assets/InstallView-BwawagSr.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
comfy/web/assets/InstallView-C1fnMZKt.js.map
generated
vendored
1
comfy/web/assets/InstallView-C1fnMZKt.js.map
generated
vendored
File diff suppressed because one or more lines are too long
1
comfy/web/assets/KeybindingPanel-BRfso_Vt.js.map
generated
vendored
1
comfy/web/assets/KeybindingPanel-BRfso_Vt.js.map
generated
vendored
File diff suppressed because one or more lines are too long
@ -1,16 +1,9 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/KeybindingPanel-BRfso_Vt.js
|
||||
import { d as defineComponent, c as computed, o as openBlock, f as createElementBlock, F as Fragment, D as renderList, k as createVNode, z as withCtx, a7 as createTextVNode, E as toDisplayString, j as unref, a4 as script, B as createCommentVNode, U as ref, df as FilterMatchMode, an as useKeybindingStore, L as useCommandStore, K as useI18n, Y as normalizeI18nKey, w as watchEffect, aR as useToast, r as resolveDirective, y as createBlock, dg as SearchBox, m as createBaseVNode, l as script$2, bg as script$4, ar as withModifiers, bj as script$5, ab as script$6, i as withDirectives, dh as _sfc_main$2, di as KeyComboImpl, dj as KeybindingImpl, _ as _export_sfc } from "./index-BsGgXmrT.js";
|
||||
import { g as script$1, h as script$3 } from "./index-Br6dw1F6.js";
|
||||
import { u as useKeybindingService } from "./keybindingService-DoUb2RT6.js";
|
||||
import "./index-COyiXDAn.js";
|
||||
========
|
||||
import { d as defineComponent, c as computed, o as openBlock, f as createElementBlock, F as Fragment, D as renderList, k as createVNode, z as withCtx, a8 as createTextVNode, E as toDisplayString, j as unref, a5 as script, B as createCommentVNode, T as ref, dx as FilterMatchMode, ao as useKeybindingStore, J as useCommandStore, I as useI18n, X as normalizeI18nKey, w as watchEffect, aV as useToast, r as resolveDirective, y as createBlock, dy as SearchBox, m as createBaseVNode, l as script$2, bk as script$4, as as withModifiers, bn as script$5, ac as script$6, i as withDirectives, dz as _sfc_main$2, dA as KeyComboImpl, dB as KeybindingImpl, _ as _export_sfc } from "./index-Bv0b06LE.js";
|
||||
import { g as script$1, h as script$3 } from "./index-CgMyWf7n.js";
|
||||
import { u as useKeybindingService } from "./keybindingService-DyjX-nxF.js";
|
||||
import "./index-Dzu9WL4p.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/KeybindingPanel-oavhFdkz.js
|
||||
import { d as defineComponent, c as computed, o as openBlock, f as createElementBlock, F as Fragment, D as renderList, k as createVNode, z as withCtx, ak as createTextVNode, E as toDisplayString, j as unref, ah as script, B as createCommentVNode, T as ref, dI as FilterMatchMode, az as useKeybindingStore, J as useCommandStore, I as useI18n, X as normalizeI18nKey, w as watchEffect, b3 as useToast, r as resolveDirective, y as createBlock, dJ as SearchBox, m as createBaseVNode, l as script$2, bt as script$4, aD as withModifiers, bw as script$5, ao as script$6, i as withDirectives, dK as _sfc_main$2, dL as KeyComboImpl, dM as KeybindingImpl, _ as _export_sfc } from "./index-DIgj6hpb.js";
|
||||
import { g as script$1, h as script$3 } from "./index-Czd3J-KM.js";
|
||||
import { u as useKeybindingService } from "./keybindingService-CqDMAs0_.js";
|
||||
import "./index-D8hjiWMw.js";
|
||||
const _hoisted_1$1 = {
|
||||
key: 0,
|
||||
class: "px-2"
|
||||
@ -296,8 +289,4 @@ const KeybindingPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d
|
||||
export {
|
||||
KeybindingPanel as default
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/KeybindingPanel-BRfso_Vt.js
|
||||
//# sourceMappingURL=KeybindingPanel-BRfso_Vt.js.map
|
||||
========
|
||||
//# sourceMappingURL=KeybindingPanel-oavhFdkz.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/KeybindingPanel-oavhFdkz.js
|
||||
//# sourceMappingURL=KeybindingPanel-BetULlhU.js.map
|
||||
1
comfy/web/assets/KeybindingPanel-BetULlhU.js.map
generated
vendored
Normal file
1
comfy/web/assets/KeybindingPanel-BetULlhU.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
770
comfy/web/assets/MaintenanceView-BFp9KqAr.js
generated
vendored
Normal file
770
comfy/web/assets/MaintenanceView-BFp9KqAr.js
generated
vendored
Normal file
@ -0,0 +1,770 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
import { d as defineComponent, bF as mergeModels, bz as useModel, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, Z as normalizeClass, i as withDirectives, v as vShow, k as createVNode, j as unref, bN as script, l as script$1, c as computed, bO as PrimeIcons, bp as t, ah as script$2, bi as electronAPI, ad as defineStore, T as ref, bP as useTimeout, N as watch, f as createElementBlock, B as createCommentVNode, ak as createTextVNode, E as toDisplayString, aE as mergeProps, bQ as script$3, _ as _export_sfc, r as resolveDirective, bR as script$4, b3 as useToast, bS as useConfirm, F as Fragment, bu as script$5, D as renderList, bT as script$6, p as onMounted, bU as onUnmounted, a2 as script$7, as as isRef } from "./index-DIgj6hpb.js";
|
||||
import { s as script$8 } from "./index-CE2hpomb.js";
|
||||
import "./index-mHcHTYAB.js";
|
||||
import { _ as _sfc_main$7 } from "./TerminalOutputDrawer-B_NZxAv8.js";
|
||||
import { _ as _sfc_main$8 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
import "./index-DdgRmRKP.js";
|
||||
import "./index-D8hjiWMw.js";
|
||||
import "./index-Czd3J-KM.js";
|
||||
import "./index-C_ACzX5-.js";
|
||||
import "./index-BKScv1mm.js";
|
||||
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
||||
__name: "RefreshButton",
|
||||
props: /* @__PURE__ */ mergeModels({
|
||||
outlined: { type: Boolean, default: true },
|
||||
disabled: { type: Boolean },
|
||||
severity: { default: "secondary" }
|
||||
}, {
|
||||
"modelValue": { type: Boolean, ...{ required: true } },
|
||||
"modelModifiers": {}
|
||||
}),
|
||||
emits: /* @__PURE__ */ mergeModels(["refresh"], ["update:modelValue"]),
|
||||
setup(__props) {
|
||||
const props = __props;
|
||||
const active = useModel(__props, "modelValue");
|
||||
return (_ctx, _cache) => {
|
||||
return openBlock(), createBlock(unref(script$1), {
|
||||
class: "relative p-button-icon-only",
|
||||
outlined: props.outlined,
|
||||
severity: props.severity,
|
||||
disabled: active.value || props.disabled,
|
||||
onClick: _cache[0] || (_cache[0] = (event) => _ctx.$emit("refresh", event))
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("span", {
|
||||
class: normalizeClass(["p-button-icon pi pi-refresh transition-all", { "opacity-0": active.value }]),
|
||||
"data-pc-section": "icon"
|
||||
}, null, 2),
|
||||
_cache[1] || (_cache[1] = createBaseVNode("span", {
|
||||
class: "p-button-label",
|
||||
"data-pc-section": "label"
|
||||
}, " ", -1)),
|
||||
withDirectives(createVNode(unref(script), { class: "absolute w-1/2 h-1/2" }, null, 512), [
|
||||
[vShow, active.value]
|
||||
])
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["outlined", "severity", "disabled"]);
|
||||
};
|
||||
}
|
||||
});
|
||||
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
||||
__name: "StatusTag",
|
||||
props: {
|
||||
error: { type: Boolean },
|
||||
refreshing: { type: Boolean }
|
||||
},
|
||||
setup(__props) {
|
||||
const props = __props;
|
||||
const icon = computed(() => {
|
||||
if (props.refreshing) return PrimeIcons.QUESTION;
|
||||
if (props.error) return PrimeIcons.TIMES;
|
||||
return PrimeIcons.CHECK;
|
||||
});
|
||||
const severity = computed(() => {
|
||||
if (props.refreshing) return "info";
|
||||
if (props.error) return "danger";
|
||||
return "success";
|
||||
});
|
||||
const value = computed(() => {
|
||||
if (props.refreshing) return t("maintenance.refreshing");
|
||||
if (props.error) return t("g.error");
|
||||
return t("maintenance.OK");
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
return openBlock(), createBlock(unref(script$2), {
|
||||
icon: icon.value,
|
||||
severity: severity.value,
|
||||
value: value.value
|
||||
}, null, 8, ["icon", "severity", "value"]);
|
||||
};
|
||||
}
|
||||
});
|
||||
const electron = electronAPI();
|
||||
const openUrl = /* @__PURE__ */ __name((url) => {
|
||||
window.open(url, "_blank");
|
||||
return true;
|
||||
}, "openUrl");
|
||||
const DESKTOP_MAINTENANCE_TASKS = [
|
||||
{
|
||||
id: "basePath",
|
||||
execute: /* @__PURE__ */ __name(async () => await electron.setBasePath(), "execute"),
|
||||
name: "Base path",
|
||||
shortDescription: "Change the application base path.",
|
||||
errorDescription: "Unable to open the base path. Please select a new one.",
|
||||
description: "The base path is the default location where ComfyUI stores data. It is the location fo the python environment, and may also contain models, custom nodes, and other extensions.",
|
||||
isInstallationFix: true,
|
||||
button: {
|
||||
icon: PrimeIcons.QUESTION,
|
||||
text: "Select"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "git",
|
||||
headerImg: "assets/images/Git-Logo-White.svg",
|
||||
execute: /* @__PURE__ */ __name(() => openUrl("https://git-scm.com/downloads/"), "execute"),
|
||||
name: "Download git",
|
||||
shortDescription: "Open the git download page.",
|
||||
errorDescription: "Git is missing. Please download and install git, then restart ComfyUI Desktop.",
|
||||
description: "Git is required to download and manage custom nodes and other extensions. This task opens the download page in your default browser, where you can download the latest version of git. Once you have installed git, please restart ComfyUI Desktop.",
|
||||
button: {
|
||||
icon: PrimeIcons.EXTERNAL_LINK,
|
||||
text: "Download"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "vcRedist",
|
||||
execute: /* @__PURE__ */ __name(() => openUrl("https://aka.ms/vs/17/release/vc_redist.x64.exe"), "execute"),
|
||||
name: "Download VC++ Redist",
|
||||
shortDescription: "Download the latest VC++ Redistributable runtime.",
|
||||
description: "The Visual C++ runtime libraries are required to run ComfyUI. You will need to download and install this file.",
|
||||
button: {
|
||||
icon: PrimeIcons.EXTERNAL_LINK,
|
||||
text: "Download"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "reinstall",
|
||||
severity: "danger",
|
||||
requireConfirm: true,
|
||||
execute: /* @__PURE__ */ __name(async () => {
|
||||
await electron.reinstall();
|
||||
return true;
|
||||
}, "execute"),
|
||||
name: "Reinstall ComfyUI",
|
||||
shortDescription: "Deletes the desktop app config and load the welcome screen.",
|
||||
description: "Delete the desktop app config, restart the app, and load the installation screen.",
|
||||
confirmText: "Delete all saved config and reinstall?",
|
||||
button: {
|
||||
icon: PrimeIcons.EXCLAMATION_TRIANGLE,
|
||||
text: "Reinstall"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "pythonPackages",
|
||||
requireConfirm: true,
|
||||
execute: /* @__PURE__ */ __name(async () => {
|
||||
try {
|
||||
await electron.uv.installRequirements();
|
||||
return true;
|
||||
} catch (error) {
|
||||
return false;
|
||||
}
|
||||
}, "execute"),
|
||||
name: "Install python packages",
|
||||
shortDescription: "Installs the base python packages required to run ComfyUI.",
|
||||
errorDescription: "Python packages that are required to run ComfyUI are not installed.",
|
||||
description: "This will install the python packages required to run ComfyUI. This includes torch, torchvision, and other dependencies.",
|
||||
usesTerminal: true,
|
||||
isInstallationFix: true,
|
||||
button: {
|
||||
icon: PrimeIcons.DOWNLOAD,
|
||||
text: "Install"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "uv",
|
||||
execute: /* @__PURE__ */ __name(() => openUrl("https://docs.astral.sh/uv/getting-started/installation/"), "execute"),
|
||||
name: "uv executable",
|
||||
shortDescription: "uv installs and maintains the python environment.",
|
||||
description: "This will open the download page for Astral's uv tool. uv is used to install python and manage python packages.",
|
||||
button: {
|
||||
icon: "pi pi-asterisk",
|
||||
text: "Download"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "uvCache",
|
||||
severity: "danger",
|
||||
requireConfirm: true,
|
||||
execute: /* @__PURE__ */ __name(async () => await electron.uv.clearCache(), "execute"),
|
||||
name: "uv cache",
|
||||
shortDescription: "Remove the Astral uv cache of python packages.",
|
||||
description: "This will remove the uv cache directory and its contents. All downloaded python packages will need to be downloaded again.",
|
||||
confirmText: "Delete uv cache of python packages?",
|
||||
usesTerminal: true,
|
||||
isInstallationFix: true,
|
||||
button: {
|
||||
icon: PrimeIcons.TRASH,
|
||||
text: "Clear cache"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "venvDirectory",
|
||||
severity: "danger",
|
||||
requireConfirm: true,
|
||||
execute: /* @__PURE__ */ __name(async () => await electron.uv.resetVenv(), "execute"),
|
||||
name: "Reset virtual environment",
|
||||
shortDescription: "Remove and recreate the .venv directory. This removes all python packages.",
|
||||
description: "The python environment is where ComfyUI installs python and python packages. It is used to run the ComfyUI server.",
|
||||
confirmText: "Delete the .venv directory?",
|
||||
usesTerminal: true,
|
||||
isInstallationFix: true,
|
||||
button: {
|
||||
icon: PrimeIcons.FOLDER,
|
||||
text: "Recreate"
|
||||
}
|
||||
}
|
||||
];
|
||||
class MaintenanceTaskRunner {
|
||||
static {
|
||||
__name(this, "MaintenanceTaskRunner");
|
||||
}
|
||||
constructor(task) {
|
||||
this.task = task;
|
||||
}
|
||||
_state;
|
||||
/** The current state of the task. Setter also controls {@link resolved} as a side-effect. */
|
||||
get state() {
|
||||
return this._state;
|
||||
}
|
||||
/** Updates the task state and {@link resolved} status. */
|
||||
setState(value) {
|
||||
if (this._state === "error" && value === "OK") this.resolved = true;
|
||||
if (value === "error") this.resolved &&= false;
|
||||
this._state = value;
|
||||
}
|
||||
/** `true` if the task has been resolved (was `error`, now `OK`). This is a side-effect of the {@link state} setter. */
|
||||
resolved;
|
||||
/** Whether the task state is currently being refreshed. */
|
||||
refreshing;
|
||||
/** Whether the task is currently running. */
|
||||
executing;
|
||||
/** The error message that occurred when the task failed. */
|
||||
error;
|
||||
update(update) {
|
||||
const state = update[this.task.id];
|
||||
this.refreshing = state === void 0;
|
||||
if (state) this.setState(state);
|
||||
}
|
||||
finaliseUpdate(update) {
|
||||
this.refreshing = false;
|
||||
this.setState(update[this.task.id] ?? "skipped");
|
||||
}
|
||||
/** Wraps the execution of a maintenance task, updating state and rethrowing errors. */
|
||||
async execute(task) {
|
||||
try {
|
||||
this.executing = true;
|
||||
const success = await task.execute();
|
||||
if (!success) return false;
|
||||
this.error = void 0;
|
||||
return true;
|
||||
} catch (error) {
|
||||
this.error = error?.message;
|
||||
throw error;
|
||||
} finally {
|
||||
this.executing = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
const useMaintenanceTaskStore = defineStore("maintenanceTask", () => {
|
||||
const electron2 = electronAPI();
|
||||
const isRefreshing = ref(false);
|
||||
const isRunningTerminalCommand = computed(
|
||||
() => tasks.value.filter((task) => task.usesTerminal).some((task) => getRunner(task)?.executing)
|
||||
);
|
||||
const isRunningInstallationFix = computed(
|
||||
() => tasks.value.filter((task) => task.isInstallationFix).some((task) => getRunner(task)?.executing)
|
||||
);
|
||||
const tasks = ref(DESKTOP_MAINTENANCE_TASKS);
|
||||
const taskRunners = ref(
|
||||
new Map(
|
||||
DESKTOP_MAINTENANCE_TASKS.map((x) => [x.id, new MaintenanceTaskRunner(x)])
|
||||
)
|
||||
);
|
||||
const anyErrors = computed(
|
||||
() => tasks.value.some((task) => getRunner(task).state === "error")
|
||||
);
|
||||
const getRunner = /* @__PURE__ */ __name((task) => taskRunners.value.get(task.id), "getRunner");
|
||||
const processUpdate = /* @__PURE__ */ __name((validationUpdate) => {
|
||||
const update = validationUpdate;
|
||||
isRefreshing.value = true;
|
||||
for (const task of tasks.value) {
|
||||
getRunner(task).update(update);
|
||||
}
|
||||
if (!update.inProgress && isRefreshing.value) {
|
||||
isRefreshing.value = false;
|
||||
for (const task of tasks.value) {
|
||||
getRunner(task).finaliseUpdate(update);
|
||||
}
|
||||
}
|
||||
}, "processUpdate");
|
||||
const clearResolved = /* @__PURE__ */ __name(() => {
|
||||
for (const task of tasks.value) {
|
||||
getRunner(task).resolved &&= false;
|
||||
}
|
||||
}, "clearResolved");
|
||||
const refreshDesktopTasks = /* @__PURE__ */ __name(async () => {
|
||||
isRefreshing.value = true;
|
||||
console.log("Refreshing desktop tasks");
|
||||
await electron2.Validation.validateInstallation(processUpdate);
|
||||
}, "refreshDesktopTasks");
|
||||
const execute = /* @__PURE__ */ __name(async (task) => {
|
||||
return getRunner(task).execute(task);
|
||||
}, "execute");
|
||||
return {
|
||||
tasks,
|
||||
isRefreshing,
|
||||
isRunningTerminalCommand,
|
||||
isRunningInstallationFix,
|
||||
execute,
|
||||
getRunner,
|
||||
processUpdate,
|
||||
clearResolved,
|
||||
/** True if any tasks are in an error state. */
|
||||
anyErrors,
|
||||
refreshDesktopTasks
|
||||
};
|
||||
});
|
||||
function useMinLoadingDurationRef(value, minDuration = 250) {
|
||||
const current = ref(value.value);
|
||||
const { ready, start } = useTimeout(minDuration, {
|
||||
controls: true,
|
||||
immediate: false
|
||||
});
|
||||
watch(value, (newValue) => {
|
||||
if (newValue && !current.value) start();
|
||||
current.value = newValue;
|
||||
});
|
||||
return computed(() => current.value || !ready.value);
|
||||
}
|
||||
__name(useMinLoadingDurationRef, "useMinLoadingDurationRef");
|
||||
const _hoisted_1$3 = {
|
||||
key: 0,
|
||||
class: "pi pi-exclamation-triangle text-red-500 absolute m-2 top-0 -right-14 opacity-15",
|
||||
style: { "font-size": "10rem" }
|
||||
};
|
||||
const _hoisted_2$3 = ["src"];
|
||||
const _hoisted_3$3 = { class: "flex gap-4 mt-1" };
|
||||
const _hoisted_4$3 = {
|
||||
key: 0,
|
||||
class: "task-card-ok pi pi-check"
|
||||
};
|
||||
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
||||
__name: "TaskCard",
|
||||
props: {
|
||||
task: {}
|
||||
},
|
||||
emits: ["execute"],
|
||||
setup(__props) {
|
||||
const taskStore = useMaintenanceTaskStore();
|
||||
const runner = computed(() => taskStore.getRunner(props.task));
|
||||
const props = __props;
|
||||
const description = computed(
|
||||
() => runner.value.state === "error" ? props.task.errorDescription ?? props.task.shortDescription : props.task.shortDescription
|
||||
);
|
||||
const reactiveLoading = computed(() => runner.value.refreshing);
|
||||
const reactiveExecuting = computed(() => runner.value.executing);
|
||||
const isLoading = useMinLoadingDurationRef(reactiveLoading, 250);
|
||||
const isExecuting = useMinLoadingDurationRef(reactiveExecuting, 250);
|
||||
return (_ctx, _cache) => {
|
||||
return openBlock(), createElementBlock("div", {
|
||||
class: normalizeClass(["task-div max-w-48 min-h-52 grid relative", { "opacity-75": unref(isLoading) }])
|
||||
}, [
|
||||
createVNode(unref(script$3), mergeProps({
|
||||
class: ["max-w-48 relative h-full overflow-hidden", { "opacity-65": runner.value.state !== "error" }]
|
||||
}, (({ onClick, ...rest }) => rest)(_ctx.$attrs)), {
|
||||
header: withCtx(() => [
|
||||
runner.value.state === "error" ? (openBlock(), createElementBlock("i", _hoisted_1$3)) : createCommentVNode("", true),
|
||||
_ctx.task.headerImg ? (openBlock(), createElementBlock("img", {
|
||||
key: 1,
|
||||
src: _ctx.task.headerImg,
|
||||
class: "object-contain w-full h-full opacity-25 pt-4 px-4"
|
||||
}, null, 8, _hoisted_2$3)) : createCommentVNode("", true)
|
||||
]),
|
||||
title: withCtx(() => [
|
||||
createTextVNode(toDisplayString(_ctx.task.name), 1)
|
||||
]),
|
||||
content: withCtx(() => [
|
||||
createTextVNode(toDisplayString(description.value), 1)
|
||||
]),
|
||||
footer: withCtx(() => [
|
||||
createBaseVNode("div", _hoisted_3$3, [
|
||||
createVNode(unref(script$1), {
|
||||
icon: _ctx.task.button?.icon,
|
||||
label: _ctx.task.button?.text,
|
||||
class: "w-full",
|
||||
raised: "",
|
||||
"icon-pos": "right",
|
||||
onClick: _cache[0] || (_cache[0] = (event) => _ctx.$emit("execute", event)),
|
||||
loading: unref(isExecuting)
|
||||
}, null, 8, ["icon", "label", "loading"])
|
||||
])
|
||||
]),
|
||||
_: 1
|
||||
}, 16, ["class"]),
|
||||
!unref(isLoading) && runner.value.state === "OK" ? (openBlock(), createElementBlock("i", _hoisted_4$3)) : createCommentVNode("", true)
|
||||
], 2);
|
||||
};
|
||||
}
|
||||
});
|
||||
const TaskCard = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-c3bd7658"]]);
|
||||
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
||||
__name: "TaskListStatusIcon",
|
||||
props: {
|
||||
state: {},
|
||||
loading: {}
|
||||
},
|
||||
setup(__props) {
|
||||
const tooltip = computed(() => {
|
||||
if (props.state === "error") {
|
||||
return t("g.error");
|
||||
} else if (props.state === "OK") {
|
||||
return t("maintenance.OK");
|
||||
} else {
|
||||
return t("maintenance.Skipped");
|
||||
}
|
||||
});
|
||||
const cssClasses = computed(() => {
|
||||
let classes;
|
||||
if (props.state === "error") {
|
||||
classes = `${PrimeIcons.EXCLAMATION_TRIANGLE} text-red-500`;
|
||||
} else if (props.state === "OK") {
|
||||
classes = `${PrimeIcons.CHECK} text-green-500`;
|
||||
} else {
|
||||
classes = PrimeIcons.MINUS;
|
||||
}
|
||||
return `text-3xl pi ${classes}`;
|
||||
});
|
||||
const props = __props;
|
||||
return (_ctx, _cache) => {
|
||||
const _directive_tooltip = resolveDirective("tooltip");
|
||||
return !_ctx.state || _ctx.loading ? (openBlock(), createBlock(unref(script), {
|
||||
key: 0,
|
||||
class: "h-8 w-8"
|
||||
})) : withDirectives((openBlock(), createElementBlock("i", {
|
||||
key: 1,
|
||||
class: normalizeClass(cssClasses.value)
|
||||
}, null, 2)), [
|
||||
[
|
||||
_directive_tooltip,
|
||||
{ value: tooltip.value, showDelay: 250 },
|
||||
void 0,
|
||||
{ top: true }
|
||||
]
|
||||
]);
|
||||
};
|
||||
}
|
||||
});
|
||||
const _hoisted_1$2 = { class: "text-center w-16" };
|
||||
const _hoisted_2$2 = { class: "inline-block" };
|
||||
const _hoisted_3$2 = { class: "whitespace-pre-line" };
|
||||
const _hoisted_4$2 = { class: "text-right px-4" };
|
||||
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
||||
__name: "TaskListItem",
|
||||
props: {
|
||||
task: {}
|
||||
},
|
||||
emits: ["execute"],
|
||||
setup(__props) {
|
||||
const taskStore = useMaintenanceTaskStore();
|
||||
const runner = computed(() => taskStore.getRunner(props.task));
|
||||
const props = __props;
|
||||
const severity = computed(
|
||||
() => runner.value.state === "error" || runner.value.state === "warning" ? "primary" : "secondary"
|
||||
);
|
||||
const reactiveLoading = computed(() => runner.value.refreshing);
|
||||
const reactiveExecuting = computed(() => runner.value.executing);
|
||||
const isLoading = useMinLoadingDurationRef(reactiveLoading, 250);
|
||||
const isExecuting = useMinLoadingDurationRef(reactiveExecuting, 250);
|
||||
const infoPopover = ref();
|
||||
const toggle = /* @__PURE__ */ __name((event) => {
|
||||
infoPopover.value.toggle(event);
|
||||
}, "toggle");
|
||||
return (_ctx, _cache) => {
|
||||
return openBlock(), createElementBlock("tr", {
|
||||
class: normalizeClass(["border-neutral-700 border-solid border-y", {
|
||||
"opacity-50": runner.value.resolved,
|
||||
"opacity-75": unref(isLoading) && runner.value.resolved
|
||||
}])
|
||||
}, [
|
||||
createBaseVNode("td", _hoisted_1$2, [
|
||||
createVNode(_sfc_main$3, {
|
||||
state: runner.value.state,
|
||||
loading: unref(isLoading)
|
||||
}, null, 8, ["state", "loading"])
|
||||
]),
|
||||
createBaseVNode("td", null, [
|
||||
createBaseVNode("p", _hoisted_2$2, toDisplayString(_ctx.task.name), 1),
|
||||
createVNode(unref(script$1), {
|
||||
class: "inline-block mx-2",
|
||||
type: "button",
|
||||
icon: unref(PrimeIcons).INFO_CIRCLE,
|
||||
severity: "secondary",
|
||||
text: true,
|
||||
onClick: toggle
|
||||
}, null, 8, ["icon"]),
|
||||
createVNode(unref(script$4), {
|
||||
ref_key: "infoPopover",
|
||||
ref: infoPopover,
|
||||
class: "block m-1 max-w-64 min-w-32"
|
||||
}, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("span", _hoisted_3$2, toDisplayString(_ctx.task.description), 1)
|
||||
]),
|
||||
_: 1
|
||||
}, 512)
|
||||
]),
|
||||
createBaseVNode("td", _hoisted_4$2, [
|
||||
createVNode(unref(script$1), {
|
||||
icon: _ctx.task.button?.icon,
|
||||
label: _ctx.task.button?.text,
|
||||
severity: severity.value,
|
||||
"icon-pos": "right",
|
||||
onClick: _cache[0] || (_cache[0] = (event) => _ctx.$emit("execute", event)),
|
||||
loading: unref(isExecuting)
|
||||
}, null, 8, ["icon", "label", "severity", "loading"])
|
||||
])
|
||||
], 2);
|
||||
};
|
||||
}
|
||||
});
|
||||
const _hoisted_1$1 = { class: "my-4" };
|
||||
const _hoisted_2$1 = { class: "text-neutral-400 w-full text-center" };
|
||||
const _hoisted_3$1 = {
|
||||
key: 0,
|
||||
class: "w-full border-collapse border-hidden"
|
||||
};
|
||||
const _hoisted_4$1 = {
|
||||
key: 1,
|
||||
class: "flex flex-wrap justify-evenly gap-8 pad-y my-4"
|
||||
};
|
||||
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
||||
__name: "TaskListPanel",
|
||||
props: {
|
||||
displayAsList: {},
|
||||
filter: {},
|
||||
isRefreshing: { type: Boolean }
|
||||
},
|
||||
setup(__props) {
|
||||
const toast = useToast();
|
||||
const confirm = useConfirm();
|
||||
const taskStore = useMaintenanceTaskStore();
|
||||
const props = __props;
|
||||
const executeTask = /* @__PURE__ */ __name(async (task) => {
|
||||
let message;
|
||||
try {
|
||||
if (await taskStore.execute(task) === true) return;
|
||||
message = t("maintenance.error.taskFailed");
|
||||
} catch (error) {
|
||||
message = error?.message;
|
||||
}
|
||||
toast.add({
|
||||
severity: "error",
|
||||
summary: t("maintenance.error.toastTitle"),
|
||||
detail: message ?? t("maintenance.error.defaultDescription"),
|
||||
life: 1e4
|
||||
});
|
||||
}, "executeTask");
|
||||
const confirmButton = /* @__PURE__ */ __name(async (event, task) => {
|
||||
if (!task.requireConfirm) {
|
||||
await executeTask(task);
|
||||
return;
|
||||
}
|
||||
confirm.require({
|
||||
target: event.currentTarget,
|
||||
message: task.confirmText ?? t("maintenance.confirmTitle"),
|
||||
icon: "pi pi-exclamation-circle",
|
||||
rejectProps: {
|
||||
label: t("g.cancel"),
|
||||
severity: "secondary",
|
||||
outlined: true
|
||||
},
|
||||
acceptProps: {
|
||||
label: task.button?.text ?? t("g.save"),
|
||||
severity: task.severity ?? "primary"
|
||||
},
|
||||
// TODO: Not awaited.
|
||||
accept: /* @__PURE__ */ __name(async () => {
|
||||
await executeTask(task);
|
||||
}, "accept")
|
||||
});
|
||||
}, "confirmButton");
|
||||
return (_ctx, _cache) => {
|
||||
return openBlock(), createElementBlock("section", _hoisted_1$1, [
|
||||
_ctx.filter.tasks.length === 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
||||
createVNode(unref(script$5)),
|
||||
createBaseVNode("p", _hoisted_2$1, toDisplayString(_ctx.$t("maintenance.allOk")), 1)
|
||||
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
||||
_ctx.displayAsList === unref(PrimeIcons).LIST ? (openBlock(), createElementBlock("table", _hoisted_3$1, [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.filter.tasks, (task) => {
|
||||
return openBlock(), createBlock(_sfc_main$2, {
|
||||
key: task.id,
|
||||
task,
|
||||
onExecute: /* @__PURE__ */ __name((event) => confirmButton(event, task), "onExecute")
|
||||
}, null, 8, ["task", "onExecute"]);
|
||||
}), 128))
|
||||
])) : (openBlock(), createElementBlock("div", _hoisted_4$1, [
|
||||
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.filter.tasks, (task) => {
|
||||
return openBlock(), createBlock(TaskCard, {
|
||||
key: task.id,
|
||||
task,
|
||||
onExecute: /* @__PURE__ */ __name((event) => confirmButton(event, task), "onExecute")
|
||||
}, null, 8, ["task", "onExecute"]);
|
||||
}), 128))
|
||||
]))
|
||||
], 64)),
|
||||
createVNode(unref(script$6))
|
||||
]);
|
||||
};
|
||||
}
|
||||
});
|
||||
const _hoisted_1 = { class: "min-w-full min-h-full font-sans w-screen h-screen grid justify-around text-neutral-300 bg-neutral-900 dark-theme overflow-y-auto" };
|
||||
const _hoisted_2 = { class: "max-w-screen-sm w-screen m-8 relative" };
|
||||
const _hoisted_3 = { class: "backspan pi-wrench text-4xl font-bold" };
|
||||
const _hoisted_4 = { class: "w-full flex flex-wrap gap-4 items-center" };
|
||||
const _hoisted_5 = { class: "grow" };
|
||||
const _hoisted_6 = { class: "flex gap-4 items-center" };
|
||||
const _hoisted_7 = { class: "max-sm:hidden" };
|
||||
const _hoisted_8 = { class: "flex justify-between gap-4 flex-row" };
|
||||
const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
__name: "MaintenanceView",
|
||||
setup(__props) {
|
||||
const electron2 = electronAPI();
|
||||
const toast = useToast();
|
||||
const taskStore = useMaintenanceTaskStore();
|
||||
const { clearResolved, processUpdate, refreshDesktopTasks } = taskStore;
|
||||
const terminalVisible = ref(false);
|
||||
const reactiveIsRefreshing = computed(() => taskStore.isRefreshing);
|
||||
const isRefreshing = useMinLoadingDurationRef(reactiveIsRefreshing, 250);
|
||||
const anyErrors = computed(() => taskStore.anyErrors);
|
||||
const displayAsList = ref(PrimeIcons.TH_LARGE);
|
||||
const errorFilter = computed(
|
||||
() => taskStore.tasks.filter((x) => {
|
||||
const { state, resolved } = taskStore.getRunner(x);
|
||||
return state === "error" || resolved;
|
||||
})
|
||||
);
|
||||
const filterOptions = ref([
|
||||
{ icon: PrimeIcons.FILTER_FILL, value: "All", tasks: taskStore.tasks },
|
||||
{ icon: PrimeIcons.EXCLAMATION_TRIANGLE, value: "Errors", tasks: errorFilter }
|
||||
]);
|
||||
const filter = ref(filterOptions.value[0]);
|
||||
const completeValidation = /* @__PURE__ */ __name(async () => {
|
||||
const isValid = await electron2.Validation.complete();
|
||||
if (!isValid) {
|
||||
toast.add({
|
||||
severity: "error",
|
||||
summary: t("g.error"),
|
||||
detail: t("maintenance.error.cannotContinue"),
|
||||
life: 5e3
|
||||
});
|
||||
}
|
||||
}, "completeValidation");
|
||||
const toggleConsoleDrawer = /* @__PURE__ */ __name(() => {
|
||||
terminalVisible.value = !terminalVisible.value;
|
||||
}, "toggleConsoleDrawer");
|
||||
watch(
|
||||
() => taskStore.isRunningTerminalCommand,
|
||||
(value) => {
|
||||
terminalVisible.value = value;
|
||||
}
|
||||
);
|
||||
onMounted(async () => {
|
||||
electron2.Validation.onUpdate(processUpdate);
|
||||
const update = await electron2.Validation.getStatus();
|
||||
if (Object.values(update).some((x) => x === "error")) {
|
||||
filter.value = filterOptions.value[1];
|
||||
}
|
||||
processUpdate(update);
|
||||
});
|
||||
onUnmounted(() => electron2.Validation.dispose());
|
||||
return (_ctx, _cache) => {
|
||||
return openBlock(), createBlock(_sfc_main$8, { dark: "" }, {
|
||||
default: withCtx(() => [
|
||||
createBaseVNode("div", _hoisted_1, [
|
||||
createBaseVNode("div", _hoisted_2, [
|
||||
createBaseVNode("h1", _hoisted_3, toDisplayString(unref(t)("maintenance.title")), 1),
|
||||
createBaseVNode("div", _hoisted_4, [
|
||||
createBaseVNode("span", _hoisted_5, [
|
||||
createTextVNode(toDisplayString(unref(t)("maintenance.status")) + ": ", 1),
|
||||
createVNode(_sfc_main$5, {
|
||||
refreshing: unref(isRefreshing),
|
||||
error: anyErrors.value
|
||||
}, null, 8, ["refreshing", "error"])
|
||||
]),
|
||||
createBaseVNode("div", _hoisted_6, [
|
||||
createVNode(unref(script$7), {
|
||||
modelValue: displayAsList.value,
|
||||
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => displayAsList.value = $event),
|
||||
options: [unref(PrimeIcons).LIST, unref(PrimeIcons).TH_LARGE],
|
||||
"allow-empty": false
|
||||
}, {
|
||||
option: withCtx((opts) => [
|
||||
createBaseVNode("i", {
|
||||
class: normalizeClass(opts.option)
|
||||
}, null, 2)
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["modelValue", "options"]),
|
||||
createVNode(unref(script$7), {
|
||||
modelValue: filter.value,
|
||||
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => filter.value = $event),
|
||||
options: filterOptions.value,
|
||||
"allow-empty": false,
|
||||
optionLabel: "value",
|
||||
dataKey: "value",
|
||||
"area-labelledby": "custom",
|
||||
onChange: unref(clearResolved)
|
||||
}, {
|
||||
option: withCtx((opts) => [
|
||||
createBaseVNode("i", {
|
||||
class: normalizeClass(opts.option.icon)
|
||||
}, null, 2),
|
||||
createBaseVNode("span", _hoisted_7, toDisplayString(opts.option.value), 1)
|
||||
]),
|
||||
_: 1
|
||||
}, 8, ["modelValue", "options", "onChange"]),
|
||||
createVNode(_sfc_main$6, {
|
||||
modelValue: unref(isRefreshing),
|
||||
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(isRefreshing) ? isRefreshing.value = $event : null),
|
||||
severity: "secondary",
|
||||
onRefresh: unref(refreshDesktopTasks)
|
||||
}, null, 8, ["modelValue", "onRefresh"])
|
||||
])
|
||||
]),
|
||||
createVNode(_sfc_main$1, {
|
||||
class: "border-neutral-700 border-solid border-x-0 border-y",
|
||||
filter: filter.value,
|
||||
displayAsList: displayAsList.value,
|
||||
isRefreshing: unref(isRefreshing)
|
||||
}, null, 8, ["filter", "displayAsList", "isRefreshing"]),
|
||||
createBaseVNode("div", _hoisted_8, [
|
||||
createVNode(unref(script$1), {
|
||||
label: unref(t)("maintenance.consoleLogs"),
|
||||
icon: "pi pi-desktop",
|
||||
"icon-pos": "left",
|
||||
severity: "secondary",
|
||||
onClick: toggleConsoleDrawer
|
||||
}, null, 8, ["label"]),
|
||||
createVNode(unref(script$1), {
|
||||
label: unref(t)("g.continue"),
|
||||
icon: "pi pi-arrow-right",
|
||||
"icon-pos": "left",
|
||||
severity: anyErrors.value ? "secondary" : "primary",
|
||||
onClick: _cache[3] || (_cache[3] = () => completeValidation()),
|
||||
loading: unref(isRefreshing)
|
||||
}, null, 8, ["label", "severity", "loading"])
|
||||
])
|
||||
]),
|
||||
createVNode(_sfc_main$7, {
|
||||
modelValue: terminalVisible.value,
|
||||
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => terminalVisible.value = $event),
|
||||
header: unref(t)("g.terminal"),
|
||||
"default-message": unref(t)("maintenance.terminalDefaultMessage")
|
||||
}, null, 8, ["modelValue", "header", "default-message"]),
|
||||
createVNode(unref(script$8))
|
||||
])
|
||||
]),
|
||||
_: 1
|
||||
});
|
||||
};
|
||||
}
|
||||
});
|
||||
const MaintenanceView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1073ace1"]]);
|
||||
export {
|
||||
MaintenanceView as default
|
||||
};
|
||||
//# sourceMappingURL=MaintenanceView-BFp9KqAr.js.map
|
||||
1
comfy/web/assets/MaintenanceView-BFp9KqAr.js.map
generated
vendored
Normal file
1
comfy/web/assets/MaintenanceView-BFp9KqAr.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
87
comfy/web/assets/MaintenanceView-DEJCj8SR.css
generated
vendored
87
comfy/web/assets/MaintenanceView-DEJCj8SR.css
generated
vendored
@ -1,87 +0,0 @@
|
||||
|
||||
.task-card-ok[data-v-c3bd7658] {
|
||||
|
||||
position: absolute;
|
||||
|
||||
right: -1rem;
|
||||
|
||||
bottom: -1rem;
|
||||
|
||||
grid-column: 1 / -1;
|
||||
|
||||
grid-row: 1 / -1;
|
||||
|
||||
--tw-text-opacity: 1;
|
||||
|
||||
color: rgb(150 206 76 / var(--tw-text-opacity));
|
||||
|
||||
opacity: 1;
|
||||
|
||||
transition-property: opacity;
|
||||
|
||||
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
||||
|
||||
transition-duration: 150ms;
|
||||
|
||||
font-size: 4rem;
|
||||
text-shadow: 0.25rem 0 0.5rem black;
|
||||
z-index: 10;
|
||||
}
|
||||
.p-card {
|
||||
&[data-v-c3bd7658] {
|
||||
|
||||
transition-property: opacity;
|
||||
|
||||
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
||||
|
||||
transition-duration: 150ms;
|
||||
|
||||
--p-card-background: var(--p-button-secondary-background);
|
||||
opacity: 0.9;
|
||||
}
|
||||
&.opacity-65[data-v-c3bd7658] {
|
||||
opacity: 0.4;
|
||||
}
|
||||
&[data-v-c3bd7658]:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
[data-v-c3bd7658] .p-card-header {
|
||||
z-index: 0;
|
||||
}
|
||||
[data-v-c3bd7658] .p-card-body {
|
||||
z-index: 1;
|
||||
flex-grow: 1;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.task-div {
|
||||
> i[data-v-c3bd7658] {
|
||||
pointer-events: none;
|
||||
}
|
||||
&:hover > i[data-v-c3bd7658] {
|
||||
opacity: 0.2;
|
||||
}
|
||||
}
|
||||
|
||||
[data-v-dd50a7dd] .p-tag {
|
||||
--p-tag-gap: 0.375rem;
|
||||
}
|
||||
.backspan[data-v-dd50a7dd]::before {
|
||||
position: absolute;
|
||||
margin: 0px;
|
||||
color: var(--p-text-muted-color);
|
||||
font-family: 'primeicons';
|
||||
top: -2rem;
|
||||
right: -2rem;
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
display: inline-block;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
opacity: 0.02;
|
||||
font-size: min(14rem, 90vw);
|
||||
z-index: 0;
|
||||
}
|
||||
@ -63,10 +63,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
[data-v-74b78f7d] .p-tag {
|
||||
[data-v-1073ace1] .p-tag {
|
||||
--p-tag-gap: 0.375rem;
|
||||
}
|
||||
.backspan[data-v-74b78f7d]::before {
|
||||
.backspan[data-v-1073ace1]::before {
|
||||
position: absolute;
|
||||
margin: 0px;
|
||||
color: var(--p-text-muted-color);
|
||||
26033
comfy/web/assets/MaintenanceView-DYZ7z6hj.js
generated
vendored
26033
comfy/web/assets/MaintenanceView-DYZ7z6hj.js
generated
vendored
File diff suppressed because one or more lines are too long
1
comfy/web/assets/MaintenanceView-DYZ7z6hj.js.map
generated
vendored
1
comfy/web/assets/MaintenanceView-DYZ7z6hj.js.map
generated
vendored
File diff suppressed because one or more lines are too long
@ -1,12 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/ManualConfigurationView-DlH3kpjW.js
|
||||
import { d as defineComponent, K as useI18n, U as ref, p as onMounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, a4 as script, a$ as script$1, l as script$2, b5 as electronAPI, _ as _export_sfc } from "./index-BsGgXmrT.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DDUNNAbV.js";
|
||||
========
|
||||
import { d as defineComponent, I as useI18n, T as ref, p as onMounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, a5 as script, b3 as script$1, l as script$2, b9 as electronAPI, _ as _export_sfc } from "./index-Bv0b06LE.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-BTbuZf5t.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/ManualConfigurationView-DTLyJ3VG.js
|
||||
import { d as defineComponent, I as useI18n, T as ref, p as onMounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, ah as script, a8 as script$1, l as script$2, bi as electronAPI, _ as _export_sfc } from "./index-DIgj6hpb.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
const _hoisted_1 = { class: "comfy-installer grow flex flex-col gap-4 text-neutral-300 max-w-110" };
|
||||
const _hoisted_2 = { class: "text-2xl font-semibold text-neutral-100" };
|
||||
const _hoisted_3 = { class: "m-1 text-neutral-300" };
|
||||
@ -76,8 +71,4 @@ const ManualConfigurationView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scop
|
||||
export {
|
||||
ManualConfigurationView as default
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/ManualConfigurationView-DlH3kpjW.js
|
||||
//# sourceMappingURL=ManualConfigurationView-DlH3kpjW.js.map
|
||||
========
|
||||
//# sourceMappingURL=ManualConfigurationView-DTLyJ3VG.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/ManualConfigurationView-DTLyJ3VG.js
|
||||
//# sourceMappingURL=ManualConfigurationView-hsnBcOeR.js.map
|
||||
@ -1 +1 @@
|
||||
{"version":3,"file":"ManualConfigurationView-DlH3kpjW.js","sources":["../../src/views/ManualConfigurationView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark>\n <!-- Installation Path Section -->\n <div\n class=\"comfy-installer grow flex flex-col gap-4 text-neutral-300 max-w-110\"\n >\n <h2 class=\"text-2xl font-semibold text-neutral-100\">\n {{ $t('install.manualConfiguration.title') }}\n </h2>\n\n <p class=\"m-1 text-neutral-300\">\n <Tag\n icon=\"pi pi-exclamation-triangle\"\n severity=\"warn\"\n :value=\"t('icon.exclamation-triangle')\"\n ></Tag>\n <strong class=\"ml-2\">{{\n $t('install.gpuSelection.customComfyNeedsPython')\n }}</strong>\n </p>\n\n <div>\n <p class=\"m-1 mb-4\">\n {{ $t('install.manualConfiguration.requirements') }}:\n </p>\n <ul class=\"m-0\">\n <li>{{ $t('install.gpuSelection.customManualVenv') }}</li>\n <li>{{ $t('install.gpuSelection.customInstallRequirements') }}</li>\n </ul>\n </div>\n\n <p class=\"m-1\">{{ $t('install.manualConfiguration.createVenv') }}:</p>\n\n <Panel :header=\"t('install.manualConfiguration.virtualEnvironmentPath')\">\n <span class=\"font-mono\">{{ `${basePath}${sep}.venv${sep}` }}</span>\n </Panel>\n\n <p class=\"m-1\">\n {{ $t('install.manualConfiguration.restartWhenFinished') }}\n </p>\n\n <Button\n class=\"place-self-end\"\n :label=\"t('menuLabels.Restart')\"\n severity=\"warn\"\n icon=\"pi pi-refresh\"\n @click=\"restartApp('Manual configuration complete')\"\n />\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport Panel from 'primevue/panel'\nimport Tag from 'primevue/tag'\nimport { onMounted, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport { electronAPI } from '@/utils/envUtil'\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst { t } = useI18n()\n\nconst electron = electronAPI()\n\nconst basePath = ref<string>(null)\nconst sep = ref<'\\\\' | '/'>('/')\n\nconst restartApp = (message?: string) => electron.restartApp(message)\n\nonMounted(async () => {\n basePath.value = await electron.getBasePath()\n if (basePath.value.indexOf('/') === -1) sep.value = '\\\\'\n})\n</script>\n\n<style scoped>\n.p-tag {\n --p-tag-gap: 0.5rem;\n}\n\n.comfy-installer {\n margin-top: max(1rem, max(0px, calc((100vh - 42rem) * 0.5)));\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA8DM,UAAA,EAAE,EAAE,IAAI,QAAQ;AAEtB,UAAM,WAAW,YAAY;AAEvB,UAAA,WAAW,IAAY,IAAI;AAC3B,UAAA,MAAM,IAAgB,GAAG;AAE/B,UAAM,aAAa,wBAAC,YAAqB,SAAS,WAAW,OAAO,GAAjD;AAEnB,cAAU,YAAY;AACX,eAAA,QAAQ,MAAM,SAAS,YAAY;AAC5C,UAAI,SAAS,MAAM,QAAQ,GAAG,MAAM,QAAQ,QAAQ;AAAA,IAAA,CACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
{"version":3,"file":"ManualConfigurationView-hsnBcOeR.js","sources":["../../src/views/ManualConfigurationView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark>\n <!-- Installation Path Section -->\n <div\n class=\"comfy-installer grow flex flex-col gap-4 text-neutral-300 max-w-110\"\n >\n <h2 class=\"text-2xl font-semibold text-neutral-100\">\n {{ $t('install.manualConfiguration.title') }}\n </h2>\n\n <p class=\"m-1 text-neutral-300\">\n <Tag\n icon=\"pi pi-exclamation-triangle\"\n severity=\"warn\"\n :value=\"t('icon.exclamation-triangle')\"\n ></Tag>\n <strong class=\"ml-2\">{{\n $t('install.gpuSelection.customComfyNeedsPython')\n }}</strong>\n </p>\n\n <div>\n <p class=\"m-1 mb-4\">\n {{ $t('install.manualConfiguration.requirements') }}:\n </p>\n <ul class=\"m-0\">\n <li>{{ $t('install.gpuSelection.customManualVenv') }}</li>\n <li>{{ $t('install.gpuSelection.customInstallRequirements') }}</li>\n </ul>\n </div>\n\n <p class=\"m-1\">{{ $t('install.manualConfiguration.createVenv') }}:</p>\n\n <Panel :header=\"t('install.manualConfiguration.virtualEnvironmentPath')\">\n <span class=\"font-mono\">{{ `${basePath}${sep}.venv${sep}` }}</span>\n </Panel>\n\n <p class=\"m-1\">\n {{ $t('install.manualConfiguration.restartWhenFinished') }}\n </p>\n\n <Button\n class=\"place-self-end\"\n :label=\"t('menuLabels.Restart')\"\n severity=\"warn\"\n icon=\"pi pi-refresh\"\n @click=\"restartApp('Manual configuration complete')\"\n />\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport Panel from 'primevue/panel'\nimport Tag from 'primevue/tag'\nimport { onMounted, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport { electronAPI } from '@/utils/envUtil'\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst { t } = useI18n()\n\nconst electron = electronAPI()\n\nconst basePath = ref<string>(null)\nconst sep = ref<'\\\\' | '/'>('/')\n\nconst restartApp = (message?: string) => electron.restartApp(message)\n\nonMounted(async () => {\n basePath.value = await electron.getBasePath()\n if (basePath.value.indexOf('/') === -1) sep.value = '\\\\'\n})\n</script>\n\n<style scoped>\n.p-tag {\n --p-tag-gap: 0.5rem;\n}\n\n.comfy-installer {\n margin-top: max(1rem, max(0px, calc((100vh - 42rem) * 0.5)));\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA8DM,UAAA,EAAE,EAAE,IAAI,QAAQ;AAEtB,UAAM,WAAW,YAAY;AAEvB,UAAA,WAAW,IAAY,IAAI;AAC3B,UAAA,MAAM,IAAgB,GAAG;AAE/B,UAAM,aAAa,wBAAC,YAAqB,SAAS,WAAW,OAAO,GAAjD;AAEnB,cAAU,YAAY;AACX,eAAA,QAAQ,MAAM,SAAS,YAAY;AAC5C,UAAI,SAAS,MAAM,QAAQ,GAAG,MAAM,QAAQ,QAAQ;AAAA,IAAA,CACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@ -1,12 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/MetricsConsentView-BgqqjOyd.js
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DDUNNAbV.js";
|
||||
import { d as defineComponent, aR as useToast, K as useI18n, U as ref, be as useRouter, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, a7 as createTextVNode, k as createVNode, j as unref, bn as script, l as script$1, b5 as electronAPI } from "./index-BsGgXmrT.js";
|
||||
========
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-BTbuZf5t.js";
|
||||
import { d as defineComponent, aV as useToast, I as useI18n, T as ref, bi as useRouter, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, a8 as createTextVNode, k as createVNode, j as unref, br as script, l as script$1, b9 as electronAPI } from "./index-Bv0b06LE.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/MetricsConsentView-C80fk2cl.js
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
import { d as defineComponent, b3 as useToast, I as useI18n, T as ref, br as useRouter, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, ak as createTextVNode, k as createVNode, j as unref, bA as script, l as script$1, bi as electronAPI } from "./index-DIgj6hpb.js";
|
||||
const _hoisted_1 = { class: "h-full p-8 2xl:p-16 flex flex-col items-center justify-center" };
|
||||
const _hoisted_2 = { class: "bg-neutral-800 rounded-lg shadow-lg p-6 w-full max-w-[600px] flex flex-col gap-6" };
|
||||
const _hoisted_3 = { class: "text-3xl font-semibold text-neutral-100" };
|
||||
@ -88,8 +83,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
export {
|
||||
_sfc_main as default
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/MetricsConsentView-BgqqjOyd.js
|
||||
//# sourceMappingURL=MetricsConsentView-BgqqjOyd.js.map
|
||||
========
|
||||
//# sourceMappingURL=MetricsConsentView-C80fk2cl.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/MetricsConsentView-C80fk2cl.js
|
||||
//# sourceMappingURL=MetricsConsentView-CVHnHa_u.js.map
|
||||
@ -1 +1 @@
|
||||
{"version":3,"file":"MetricsConsentView-BgqqjOyd.js","sources":["../../src/views/MetricsConsentView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark>\n <div class=\"h-full p-8 2xl:p-16 flex flex-col items-center justify-center\">\n <div\n class=\"bg-neutral-800 rounded-lg shadow-lg p-6 w-full max-w-[600px] flex flex-col gap-6\"\n >\n <h2 class=\"text-3xl font-semibold text-neutral-100\">\n {{ $t('install.helpImprove') }}\n </h2>\n <p class=\"text-neutral-400\">\n {{ $t('install.updateConsent') }}\n </p>\n <p class=\"text-neutral-400\">\n {{ $t('install.moreInfo') }}\n <a\n href=\"https://comfy.org/privacy\"\n target=\"_blank\"\n class=\"text-blue-400 hover:text-blue-300 underline\"\n >\n {{ $t('install.privacyPolicy') }} </a\n >.\n </p>\n <div class=\"flex items-center gap-4\">\n <ToggleSwitch\n v-model=\"allowMetrics\"\n aria-describedby=\"metricsDescription\"\n />\n <span id=\"metricsDescription\" class=\"text-neutral-100\">\n {{\n allowMetrics\n ? $t('install.metricsEnabled')\n : $t('install.metricsDisabled')\n }}\n </span>\n </div>\n <div class=\"flex pt-6 justify-end\">\n <Button\n :label=\"$t('g.ok')\"\n icon=\"pi pi-check\"\n :loading=\"isUpdating\"\n iconPos=\"right\"\n @click=\"updateConsent\"\n />\n </div>\n </div>\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport ToggleSwitch from 'primevue/toggleswitch'\nimport { useToast } from 'primevue/usetoast'\nimport { ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRouter } from 'vue-router'\n\nimport { electronAPI } from '@/utils/envUtil'\n\nconst toast = useToast()\nconst { t } = useI18n()\n\nconst allowMetrics = ref(true)\nconst router = useRouter()\nconst isUpdating = ref(false)\n\nconst updateConsent = async () => {\n isUpdating.value = true\n try {\n await electronAPI().setMetricsConsent(allowMetrics.value)\n } catch (error) {\n toast.add({\n severity: 'error',\n summary: t('install.errorUpdatingConsent'),\n detail: t('install.errorUpdatingConsentDetail'),\n life: 3000\n })\n } finally {\n isUpdating.value = false\n }\n router.push('/')\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2DA,UAAM,QAAQ,SAAS;AACjB,UAAA,EAAE,EAAE,IAAI,QAAQ;AAEhB,UAAA,eAAe,IAAI,IAAI;AAC7B,UAAM,SAAS,UAAU;AACnB,UAAA,aAAa,IAAI,KAAK;AAE5B,UAAM,gBAAgB,mCAAY;AAChC,iBAAW,QAAQ;AACf,UAAA;AACF,cAAM,YAAY,EAAE,kBAAkB,aAAa,KAAK;AAAA,eACjD,OAAO;AACd,cAAM,IAAI;AAAA,UACR,UAAU;AAAA,UACV,SAAS,EAAE,8BAA8B;AAAA,UACzC,QAAQ,EAAE,oCAAoC;AAAA,UAC9C,MAAM;AAAA,QAAA,CACP;AAAA,MAAA,UACD;AACA,mBAAW,QAAQ;AAAA,MAAA;AAErB,aAAO,KAAK,GAAG;AAAA,IACjB,GAfsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
{"version":3,"file":"MetricsConsentView-CVHnHa_u.js","sources":["../../src/views/MetricsConsentView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark>\n <div class=\"h-full p-8 2xl:p-16 flex flex-col items-center justify-center\">\n <div\n class=\"bg-neutral-800 rounded-lg shadow-lg p-6 w-full max-w-[600px] flex flex-col gap-6\"\n >\n <h2 class=\"text-3xl font-semibold text-neutral-100\">\n {{ $t('install.helpImprove') }}\n </h2>\n <p class=\"text-neutral-400\">\n {{ $t('install.updateConsent') }}\n </p>\n <p class=\"text-neutral-400\">\n {{ $t('install.moreInfo') }}\n <a\n href=\"https://comfy.org/privacy\"\n target=\"_blank\"\n class=\"text-blue-400 hover:text-blue-300 underline\"\n >\n {{ $t('install.privacyPolicy') }} </a\n >.\n </p>\n <div class=\"flex items-center gap-4\">\n <ToggleSwitch\n v-model=\"allowMetrics\"\n aria-describedby=\"metricsDescription\"\n />\n <span id=\"metricsDescription\" class=\"text-neutral-100\">\n {{\n allowMetrics\n ? $t('install.metricsEnabled')\n : $t('install.metricsDisabled')\n }}\n </span>\n </div>\n <div class=\"flex pt-6 justify-end\">\n <Button\n :label=\"$t('g.ok')\"\n icon=\"pi pi-check\"\n :loading=\"isUpdating\"\n iconPos=\"right\"\n @click=\"updateConsent\"\n />\n </div>\n </div>\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport ToggleSwitch from 'primevue/toggleswitch'\nimport { useToast } from 'primevue/usetoast'\nimport { ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRouter } from 'vue-router'\n\nimport { electronAPI } from '@/utils/envUtil'\n\nconst toast = useToast()\nconst { t } = useI18n()\n\nconst allowMetrics = ref(true)\nconst router = useRouter()\nconst isUpdating = ref(false)\n\nconst updateConsent = async () => {\n isUpdating.value = true\n try {\n await electronAPI().setMetricsConsent(allowMetrics.value)\n } catch (error) {\n toast.add({\n severity: 'error',\n summary: t('install.errorUpdatingConsent'),\n detail: t('install.errorUpdatingConsentDetail'),\n life: 3000\n })\n } finally {\n isUpdating.value = false\n }\n router.push('/')\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2DA,UAAM,QAAQ,SAAS;AACjB,UAAA,EAAE,EAAE,IAAI,QAAQ;AAEhB,UAAA,eAAe,IAAI,IAAI;AAC7B,UAAM,SAAS,UAAU;AACnB,UAAA,aAAa,IAAI,KAAK;AAE5B,UAAM,gBAAgB,mCAAY;AAChC,iBAAW,QAAQ;AACf,UAAA;AACF,cAAM,YAAY,EAAE,kBAAkB,aAAa,KAAK;AAAA,eACjD,OAAO;AACd,cAAM,IAAI;AAAA,UACR,UAAU;AAAA,UACV,SAAS,EAAE,8BAA8B;AAAA,UACzC,QAAQ,EAAE,oCAAoC;AAAA,UAC9C,MAAM;AAAA,QAAA,CACP;AAAA,MAAA,UACD;AACA,mBAAW,QAAQ;AAAA,MAAA;AAErB,aAAO,KAAK,GAAG;AAAA,IACjB,GAfsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@ -1,12 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/NotSupportedView-IH8EV0bV.js
|
||||
import { d as defineComponent, be as useRouter, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, l as script, i as withDirectives, _ as _export_sfc } from "./index-BsGgXmrT.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DDUNNAbV.js";
|
||||
========
|
||||
import { d as defineComponent, bi as useRouter, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, l as script, i as withDirectives, _ as _export_sfc } from "./index-Bv0b06LE.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-BTbuZf5t.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/NotSupportedView-B78ZVR9Z.js
|
||||
import { d as defineComponent, br as useRouter, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, l as script, i as withDirectives, _ as _export_sfc } from "./index-DIgj6hpb.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
const _imports_0 = "" + new URL("images/sad_girl.png", import.meta.url).href;
|
||||
const _hoisted_1 = { class: "sad-container" };
|
||||
const _hoisted_2 = { class: "no-drag sad-text flex items-center" };
|
||||
@ -88,8 +83,4 @@ const NotSupportedView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "
|
||||
export {
|
||||
NotSupportedView as default
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/NotSupportedView-IH8EV0bV.js
|
||||
//# sourceMappingURL=NotSupportedView-IH8EV0bV.js.map
|
||||
========
|
||||
//# sourceMappingURL=NotSupportedView-B78ZVR9Z.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/NotSupportedView-B78ZVR9Z.js
|
||||
//# sourceMappingURL=NotSupportedView-CMCKSnEd.js.map
|
||||
@ -1 +1 @@
|
||||
{"version":3,"file":"NotSupportedView-IH8EV0bV.js","sources":["../../../../../../assets/images/sad_girl.png","../../src/views/NotSupportedView.vue"],"sourcesContent":["export default \"__VITE_PUBLIC_ASSET__b82952e7__\"","<template>\n <BaseViewTemplate>\n <div class=\"sad-container\">\n <!-- Right side image -->\n <img\n class=\"sad-girl\"\n src=\"/assets/images/sad_girl.png\"\n alt=\"Sad girl illustration\"\n />\n\n <div class=\"no-drag sad-text flex items-center\">\n <div class=\"flex flex-col gap-8 p-8 min-w-110\">\n <!-- Header -->\n <h1 class=\"text-4xl font-bold text-red-500\">\n {{ $t('notSupported.title') }}\n </h1>\n\n <!-- Message -->\n <div class=\"space-y-4\">\n <p class=\"text-xl\">\n {{ $t('notSupported.message') }}\n </p>\n <ul class=\"list-disc list-inside space-y-1 text-neutral-800\">\n <li>{{ $t('notSupported.supportedDevices.macos') }}</li>\n <li>{{ $t('notSupported.supportedDevices.windows') }}</li>\n </ul>\n </div>\n\n <!-- Actions -->\n <div class=\"flex gap-4\">\n <Button\n :label=\"$t('notSupported.learnMore')\"\n icon=\"pi pi-github\"\n @click=\"openDocs\"\n severity=\"secondary\"\n />\n <Button\n :label=\"$t('notSupported.reportIssue')\"\n icon=\"pi pi-flag\"\n @click=\"reportIssue\"\n severity=\"secondary\"\n />\n <Button\n :label=\"$t('notSupported.continue')\"\n icon=\"pi pi-arrow-right\"\n iconPos=\"right\"\n @click=\"continueToInstall\"\n severity=\"danger\"\n v-tooltip=\"$t('notSupported.continueTooltip')\"\n />\n </div>\n </div>\n </div>\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport { useRouter } from 'vue-router'\n\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst openDocs = () => {\n window.open(\n 'https://github.com/Comfy-Org/desktop#currently-supported-platforms',\n '_blank'\n )\n}\n\nconst reportIssue = () => {\n window.open('https://forum.comfy.org/c/v1-feedback/', '_blank')\n}\n\nconst router = useRouter()\nconst continueToInstall = () => {\n router.push('/install')\n}\n</script>\n\n<style scoped>\n.sad-container {\n @apply grid items-center justify-evenly;\n grid-template-columns: 25rem 1fr;\n\n & > * {\n grid-row: 1;\n }\n}\n\n.sad-text {\n grid-column: 1/3;\n}\n\n.sad-girl {\n grid-column: 2/3;\n width: min(75vw, 100vh);\n}\n</style>\n"],"names":[],"mappings":";;;;AAAA,MAAe,aAAA,KAAA,IAAA,IAAA,uBAAA,YAAA,GAAA,EAAA;;;;;;;;;;;;AC+Df,UAAM,WAAW,6BAAM;AACd,aAAA;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,IACF,GALiB;AAOjB,UAAM,cAAc,6BAAM;AACjB,aAAA,KAAK,0CAA0C,QAAQ;AAAA,IAChE,GAFoB;AAIpB,UAAM,SAAS,UAAU;AACzB,UAAM,oBAAoB,6BAAM;AAC9B,aAAO,KAAK,UAAU;AAAA,IACxB,GAF0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
{"version":3,"file":"NotSupportedView-CMCKSnEd.js","sources":["../../../../../../assets/images/sad_girl.png","../../src/views/NotSupportedView.vue"],"sourcesContent":["export default \"__VITE_PUBLIC_ASSET__b82952e7__\"","<template>\n <BaseViewTemplate>\n <div class=\"sad-container\">\n <!-- Right side image -->\n <img\n class=\"sad-girl\"\n src=\"/assets/images/sad_girl.png\"\n alt=\"Sad girl illustration\"\n />\n\n <div class=\"no-drag sad-text flex items-center\">\n <div class=\"flex flex-col gap-8 p-8 min-w-110\">\n <!-- Header -->\n <h1 class=\"text-4xl font-bold text-red-500\">\n {{ $t('notSupported.title') }}\n </h1>\n\n <!-- Message -->\n <div class=\"space-y-4\">\n <p class=\"text-xl\">\n {{ $t('notSupported.message') }}\n </p>\n <ul class=\"list-disc list-inside space-y-1 text-neutral-800\">\n <li>{{ $t('notSupported.supportedDevices.macos') }}</li>\n <li>{{ $t('notSupported.supportedDevices.windows') }}</li>\n </ul>\n </div>\n\n <!-- Actions -->\n <div class=\"flex gap-4\">\n <Button\n :label=\"$t('notSupported.learnMore')\"\n icon=\"pi pi-github\"\n @click=\"openDocs\"\n severity=\"secondary\"\n />\n <Button\n :label=\"$t('notSupported.reportIssue')\"\n icon=\"pi pi-flag\"\n @click=\"reportIssue\"\n severity=\"secondary\"\n />\n <Button\n :label=\"$t('notSupported.continue')\"\n icon=\"pi pi-arrow-right\"\n iconPos=\"right\"\n @click=\"continueToInstall\"\n severity=\"danger\"\n v-tooltip=\"$t('notSupported.continueTooltip')\"\n />\n </div>\n </div>\n </div>\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport { useRouter } from 'vue-router'\n\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst openDocs = () => {\n window.open(\n 'https://github.com/Comfy-Org/desktop#currently-supported-platforms',\n '_blank'\n )\n}\n\nconst reportIssue = () => {\n window.open('https://forum.comfy.org/c/v1-feedback/', '_blank')\n}\n\nconst router = useRouter()\nconst continueToInstall = () => {\n router.push('/install')\n}\n</script>\n\n<style scoped>\n.sad-container {\n @apply grid items-center justify-evenly;\n grid-template-columns: 25rem 1fr;\n\n & > * {\n grid-row: 1;\n }\n}\n\n.sad-text {\n grid-column: 1/3;\n}\n\n.sad-girl {\n grid-column: 2/3;\n width: min(75vw, 100vh);\n}\n</style>\n"],"names":[],"mappings":";;;;AAAA,MAAe,aAAA,KAAA,IAAA,IAAA,uBAAA,YAAA,GAAA,EAAA;;;;;;;;;;;;AC+Df,UAAM,WAAW,6BAAM;AACd,aAAA;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,IACF,GALiB;AAOjB,UAAM,cAAc,6BAAM;AACjB,aAAA,KAAK,0CAA0C,QAAQ;AAAA,IAChE,GAFoB;AAIpB,UAAM,SAAS,UAAU;AACzB,UAAM,oBAAoB,6BAAM;AAC9B,aAAO,KAAK,UAAU;AAAA,IACxB,GAF0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@ -1,12 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/ServerConfigPanel-u0ozNLZ4.js
|
||||
import { o as openBlock, f as createElementBlock, m as createBaseVNode, H as markRaw, d as defineComponent, a as useSettingStore, ae as storeToRefs, O as watch, ds as useCopyToClipboard, K as useI18n, y as createBlock, z as withCtx, j as unref, bj as script, E as toDisplayString, D as renderList, F as Fragment, k as createVNode, l as script$1, B as createCommentVNode, bh as script$2, dt as FormItem, dh as _sfc_main$1, b5 as electronAPI } from "./index-BsGgXmrT.js";
|
||||
import { u as useServerConfigStore } from "./serverConfigStore-B9riwnSX.js";
|
||||
========
|
||||
import { o as openBlock, f as createElementBlock, m as createBaseVNode, H as markRaw, d as defineComponent, a as useSettingStore, af as storeToRefs, N as watch, dJ as useCopyToClipboard, I as useI18n, y as createBlock, z as withCtx, j as unref, bn as script, E as toDisplayString, D as renderList, F as Fragment, k as createVNode, l as script$1, B as createCommentVNode, bl as script$2, dK as FormItem, dz as _sfc_main$1, b9 as electronAPI } from "./index-Bv0b06LE.js";
|
||||
import { u as useServerConfigStore } from "./serverConfigStore-D2Vr0L0h.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/ServerConfigPanel-BYrt6wyr.js
|
||||
import { o as openBlock, f as createElementBlock, m as createBaseVNode, H as markRaw, d as defineComponent, a as useSettingStore, ar as storeToRefs, N as watch, dU as useCopyToClipboard, I as useI18n, y as createBlock, z as withCtx, j as unref, bw as script, E as toDisplayString, D as renderList, F as Fragment, k as createVNode, l as script$1, B as createCommentVNode, bu as script$2, dV as FormItem, dK as _sfc_main$1, bi as electronAPI } from "./index-DIgj6hpb.js";
|
||||
import { u as useServerConfigStore } from "./serverConfigStore-3t3U367D.js";
|
||||
const _hoisted_1$1 = {
|
||||
viewBox: "0 0 24 24",
|
||||
width: "1.2em",
|
||||
@ -158,8 +153,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
export {
|
||||
_sfc_main as default
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/ServerConfigPanel-u0ozNLZ4.js
|
||||
//# sourceMappingURL=ServerConfigPanel-u0ozNLZ4.js.map
|
||||
========
|
||||
//# sourceMappingURL=ServerConfigPanel-BYrt6wyr.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/ServerConfigPanel-BYrt6wyr.js
|
||||
//# sourceMappingURL=ServerConfigPanel-di9WinBR.js.map
|
||||
@ -1 +1 @@
|
||||
{"version":3,"file":"ServerConfigPanel-u0ozNLZ4.js","sources":["../../src/components/dialog/content/setting/ServerConfigPanel.vue"],"sourcesContent":["<template>\n <PanelTemplate value=\"Server-Config\" class=\"server-config-panel\">\n <template #header>\n <div class=\"flex flex-col gap-2\">\n <Message\n v-if=\"modifiedConfigs.length > 0\"\n severity=\"info\"\n pt:text=\"w-full\"\n >\n <p>\n {{ $t('serverConfig.modifiedConfigs') }}\n </p>\n <ul>\n <li v-for=\"config in modifiedConfigs\" :key=\"config.id\">\n {{ config.name }}: {{ config.initialValue }} → {{ config.value }}\n </li>\n </ul>\n <div class=\"flex justify-end gap-2\">\n <Button\n :label=\"$t('serverConfig.revertChanges')\"\n @click=\"revertChanges\"\n outlined\n />\n <Button\n :label=\"$t('serverConfig.restart')\"\n @click=\"restartApp\"\n outlined\n severity=\"danger\"\n />\n </div>\n </Message>\n <Message v-if=\"commandLineArgs\" severity=\"secondary\" pt:text=\"w-full\">\n <template #icon>\n <i-lucide:terminal class=\"text-xl font-bold\" />\n </template>\n <div class=\"flex items-center justify-between\">\n <p>{{ commandLineArgs }}</p>\n <Button\n icon=\"pi pi-clipboard\"\n @click=\"copyCommandLineArgs\"\n severity=\"secondary\"\n text\n />\n </div>\n </Message>\n </div>\n </template>\n <div\n v-for=\"([label, items], i) in Object.entries(serverConfigsByCategory)\"\n :key=\"label\"\n >\n <Divider v-if=\"i > 0\" />\n <h3>{{ $t(`serverConfigCategories.${label}`, label) }}</h3>\n <div v-for=\"item in items\" :key=\"item.name\" class=\"mb-4\">\n <FormItem\n :item=\"translateItem(item)\"\n v-model:formValue=\"item.value\"\n :id=\"item.id\"\n :labelClass=\"{\n 'text-highlight': item.initialValue !== item.value\n }\"\n />\n </div>\n </div>\n </PanelTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport { storeToRefs } from 'pinia'\nimport Button from 'primevue/button'\nimport Divider from 'primevue/divider'\nimport Message from 'primevue/message'\nimport { watch } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FormItem from '@/components/common/FormItem.vue'\nimport type { ServerConfig } from '@/constants/serverConfig'\nimport { useCopyToClipboard } from '@/hooks/clipboardHooks'\nimport { useServerConfigStore } from '@/stores/serverConfigStore'\nimport { useSettingStore } from '@/stores/settingStore'\nimport type { FormItem as FormItemType } from '@/types/settingTypes'\nimport { electronAPI } from '@/utils/envUtil'\n\nimport PanelTemplate from './PanelTemplate.vue'\n\nconst settingStore = useSettingStore()\nconst serverConfigStore = useServerConfigStore()\nconst {\n serverConfigsByCategory,\n serverConfigValues,\n launchArgs,\n commandLineArgs,\n modifiedConfigs\n} = storeToRefs(serverConfigStore)\n\nconst revertChanges = () => {\n serverConfigStore.revertChanges()\n}\n\nconst restartApp = () => {\n electronAPI().restartApp()\n}\n\nwatch(launchArgs, (newVal) => {\n settingStore.set('Comfy.Server.LaunchArgs', newVal)\n})\n\nwatch(serverConfigValues, (newVal) => {\n settingStore.set('Comfy.Server.ServerConfigValues', newVal)\n})\n\nconst { copyToClipboard } = useCopyToClipboard()\nconst copyCommandLineArgs = async () => {\n await copyToClipboard(commandLineArgs.value)\n}\n\nconst { t } = useI18n()\nconst translateItem = (item: ServerConfig<any>): FormItemType => {\n return {\n ...item,\n name: t(`serverConfigItems.${item.id}.name`, item.name),\n tooltip: item.tooltip\n ? t(`serverConfigItems.${item.id}.tooltip`, item.tooltip)\n : undefined\n }\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqFA,UAAM,eAAe,gBAAgB;AACrC,UAAM,oBAAoB,qBAAqB;AACzC,UAAA;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACE,YAAY,iBAAiB;AAEjC,UAAM,gBAAgB,6BAAM;AAC1B,wBAAkB,cAAc;AAAA,IAClC,GAFsB;AAItB,UAAM,aAAa,6BAAM;AACvB,kBAAA,EAAc,WAAW;AAAA,IAC3B,GAFmB;AAIb,UAAA,YAAY,CAAC,WAAW;AACf,mBAAA,IAAI,2BAA2B,MAAM;AAAA,IAAA,CACnD;AAEK,UAAA,oBAAoB,CAAC,WAAW;AACvB,mBAAA,IAAI,mCAAmC,MAAM;AAAA,IAAA,CAC3D;AAEK,UAAA,EAAE,gBAAgB,IAAI,mBAAmB;AAC/C,UAAM,sBAAsB,mCAAY;AAChC,YAAA,gBAAgB,gBAAgB,KAAK;AAAA,IAC7C,GAF4B;AAItB,UAAA,EAAE,EAAE,IAAI,QAAQ;AAChB,UAAA,gBAAgB,wBAAC,SAA0C;AACxD,aAAA;AAAA,QACL,GAAG;AAAA,QACH,MAAM,EAAE,qBAAqB,KAAK,EAAE,SAAS,KAAK,IAAI;AAAA,QACtD,SAAS,KAAK,UACV,EAAE,qBAAqB,KAAK,EAAE,YAAY,KAAK,OAAO,IACtD;AAAA,MACN;AAAA,IACF,GARsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
{"version":3,"file":"ServerConfigPanel-di9WinBR.js","sources":["../../src/components/dialog/content/setting/ServerConfigPanel.vue"],"sourcesContent":["<template>\n <PanelTemplate value=\"Server-Config\" class=\"server-config-panel\">\n <template #header>\n <div class=\"flex flex-col gap-2\">\n <Message\n v-if=\"modifiedConfigs.length > 0\"\n severity=\"info\"\n pt:text=\"w-full\"\n >\n <p>\n {{ $t('serverConfig.modifiedConfigs') }}\n </p>\n <ul>\n <li v-for=\"config in modifiedConfigs\" :key=\"config.id\">\n {{ config.name }}: {{ config.initialValue }} → {{ config.value }}\n </li>\n </ul>\n <div class=\"flex justify-end gap-2\">\n <Button\n :label=\"$t('serverConfig.revertChanges')\"\n @click=\"revertChanges\"\n outlined\n />\n <Button\n :label=\"$t('serverConfig.restart')\"\n @click=\"restartApp\"\n outlined\n severity=\"danger\"\n />\n </div>\n </Message>\n <Message v-if=\"commandLineArgs\" severity=\"secondary\" pt:text=\"w-full\">\n <template #icon>\n <i-lucide:terminal class=\"text-xl font-bold\" />\n </template>\n <div class=\"flex items-center justify-between\">\n <p>{{ commandLineArgs }}</p>\n <Button\n icon=\"pi pi-clipboard\"\n @click=\"copyCommandLineArgs\"\n severity=\"secondary\"\n text\n />\n </div>\n </Message>\n </div>\n </template>\n <div\n v-for=\"([label, items], i) in Object.entries(serverConfigsByCategory)\"\n :key=\"label\"\n >\n <Divider v-if=\"i > 0\" />\n <h3>{{ $t(`serverConfigCategories.${label}`, label) }}</h3>\n <div v-for=\"item in items\" :key=\"item.name\" class=\"mb-4\">\n <FormItem\n :item=\"translateItem(item)\"\n v-model:formValue=\"item.value\"\n :id=\"item.id\"\n :labelClass=\"{\n 'text-highlight': item.initialValue !== item.value\n }\"\n />\n </div>\n </div>\n </PanelTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport { storeToRefs } from 'pinia'\nimport Button from 'primevue/button'\nimport Divider from 'primevue/divider'\nimport Message from 'primevue/message'\nimport { watch } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport FormItem from '@/components/common/FormItem.vue'\nimport { useCopyToClipboard } from '@/composables/useCopyToClipboard'\nimport type { ServerConfig } from '@/constants/serverConfig'\nimport { useServerConfigStore } from '@/stores/serverConfigStore'\nimport { useSettingStore } from '@/stores/settingStore'\nimport type { FormItem as FormItemType } from '@/types/settingTypes'\nimport { electronAPI } from '@/utils/envUtil'\n\nimport PanelTemplate from './PanelTemplate.vue'\n\nconst settingStore = useSettingStore()\nconst serverConfigStore = useServerConfigStore()\nconst {\n serverConfigsByCategory,\n serverConfigValues,\n launchArgs,\n commandLineArgs,\n modifiedConfigs\n} = storeToRefs(serverConfigStore)\n\nconst revertChanges = () => {\n serverConfigStore.revertChanges()\n}\n\nconst restartApp = () => {\n electronAPI().restartApp()\n}\n\nwatch(launchArgs, (newVal) => {\n settingStore.set('Comfy.Server.LaunchArgs', newVal)\n})\n\nwatch(serverConfigValues, (newVal) => {\n settingStore.set('Comfy.Server.ServerConfigValues', newVal)\n})\n\nconst { copyToClipboard } = useCopyToClipboard()\nconst copyCommandLineArgs = async () => {\n await copyToClipboard(commandLineArgs.value)\n}\n\nconst { t } = useI18n()\nconst translateItem = (item: ServerConfig<any>): FormItemType => {\n return {\n ...item,\n name: t(`serverConfigItems.${item.id}.name`, item.name),\n tooltip: item.tooltip\n ? t(`serverConfigItems.${item.id}.tooltip`, item.tooltip)\n : undefined\n }\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqFA,UAAM,eAAe,gBAAgB;AACrC,UAAM,oBAAoB,qBAAqB;AACzC,UAAA;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACE,YAAY,iBAAiB;AAEjC,UAAM,gBAAgB,6BAAM;AAC1B,wBAAkB,cAAc;AAAA,IAClC,GAFsB;AAItB,UAAM,aAAa,6BAAM;AACvB,kBAAA,EAAc,WAAW;AAAA,IAC3B,GAFmB;AAIb,UAAA,YAAY,CAAC,WAAW;AACf,mBAAA,IAAI,2BAA2B,MAAM;AAAA,IAAA,CACnD;AAEK,UAAA,oBAAoB,CAAC,WAAW;AACvB,mBAAA,IAAI,mCAAmC,MAAM;AAAA,IAAA,CAC3D;AAEK,UAAA,EAAE,gBAAgB,IAAI,mBAAmB;AAC/C,UAAM,sBAAsB,mCAAY;AAChC,YAAA,gBAAgB,gBAAgB,KAAK;AAAA,IAC7C,GAF4B;AAItB,UAAA,EAAE,EAAE,IAAI,QAAQ;AAChB,UAAA,gBAAgB,wBAAC,SAA0C;AACxD,aAAA;AAAA,QACL,GAAG;AAAA,QACH,MAAM,EAAE,qBAAqB,KAAK,EAAE,SAAS,KAAK,IAAI;AAAA,QACtD,SAAS,KAAK,UACV,EAAE,qBAAqB,KAAK,EAAE,YAAY,KAAK,OAAO,IACtD;AAAA,MACN;AAAA,IACF,GARsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
[data-v-e6ba9633] .xterm-helper-textarea {
|
||||
[data-v-32a7f48f] .xterm-helper-textarea {
|
||||
/* Hide this as it moves all over when uv is running */
|
||||
display: none;
|
||||
}
|
||||
@ -1,12 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/ServerStartView-DgywG2so.js
|
||||
import { d as defineComponent, K as useI18n, U as ref, bk as ProgressStatus, p as onMounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, a7 as createTextVNode, E as toDisplayString, j as unref, f as createElementBlock, B as createCommentVNode, k as createVNode, l as script, i as withDirectives, v as vShow, bl as BaseTerminal, b5 as electronAPI, _ as _export_sfc } from "./index-BsGgXmrT.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DDUNNAbV.js";
|
||||
========
|
||||
import { d as defineComponent, I as useI18n, T as ref, bo as ProgressStatus, p as onMounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, a8 as createTextVNode, E as toDisplayString, j as unref, f as createElementBlock, B as createCommentVNode, k as createVNode, l as script, i as withDirectives, v as vShow, bp as BaseTerminal, b9 as electronAPI, _ as _export_sfc } from "./index-Bv0b06LE.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-BTbuZf5t.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/ServerStartView-B7TlHxYo.js
|
||||
import { d as defineComponent, I as useI18n, T as ref, bx as ProgressStatus, p as onMounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, ak as createTextVNode, E as toDisplayString, j as unref, f as createElementBlock, B as createCommentVNode, k as createVNode, l as script, i as withDirectives, v as vShow, by as BaseTerminal, bi as electronAPI, _ as _export_sfc } from "./index-DIgj6hpb.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
const _hoisted_1 = { class: "flex flex-col w-full h-full items-center" };
|
||||
const _hoisted_2 = { class: "text-2xl font-bold" };
|
||||
const _hoisted_3 = { key: 0 };
|
||||
@ -39,7 +34,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
terminal.options.disableStdin = true;
|
||||
terminal.options.cursorInactiveStyle = "block";
|
||||
}, "terminalCreated");
|
||||
const reinstall = /* @__PURE__ */ __name(() => electron.reinstall(), "reinstall");
|
||||
const troubleshoot = /* @__PURE__ */ __name(() => electron.startTroubleshooting(), "troubleshoot");
|
||||
const reportIssue = /* @__PURE__ */ __name(() => {
|
||||
window.open("https://forum.comfy.org/c/v1-feedback/", "_blank");
|
||||
}, "reportIssue");
|
||||
@ -75,9 +70,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
onClick: openLogs
|
||||
}, null, 8, ["label"]),
|
||||
createVNode(unref(script), {
|
||||
icon: "pi pi-refresh",
|
||||
label: unref(t)("serverStart.reinstall"),
|
||||
onClick: reinstall
|
||||
icon: "pi pi-wrench",
|
||||
label: unref(t)("serverStart.troubleshoot"),
|
||||
onClick: troubleshoot
|
||||
}, null, 8, ["label"])
|
||||
]),
|
||||
!terminalVisible.value ? (openBlock(), createBlock(unref(script), {
|
||||
@ -98,12 +93,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
};
|
||||
}
|
||||
});
|
||||
const ServerStartView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e6ba9633"]]);
|
||||
const ServerStartView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-32a7f48f"]]);
|
||||
export {
|
||||
ServerStartView as default
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/ServerStartView-DgywG2so.js
|
||||
//# sourceMappingURL=ServerStartView-DgywG2so.js.map
|
||||
========
|
||||
//# sourceMappingURL=ServerStartView-B7TlHxYo.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/ServerStartView-B7TlHxYo.js
|
||||
//# sourceMappingURL=ServerStartView-CvFWnVGg.js.map
|
||||
1
comfy/web/assets/ServerStartView-CvFWnVGg.js.map
generated
vendored
Normal file
1
comfy/web/assets/ServerStartView-CvFWnVGg.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"ServerStartView-CvFWnVGg.js","sources":["../../src/views/ServerStartView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark class=\"flex-col\">\n <div class=\"flex flex-col w-full h-full items-center\">\n <h2 class=\"text-2xl font-bold\">\n {{ t(`serverStart.process.${status}`) }}\n <span v-if=\"status === ProgressStatus.ERROR\">\n v{{ electronVersion }}\n </span>\n </h2>\n <div\n v-if=\"status === ProgressStatus.ERROR\"\n class=\"flex flex-col items-center gap-4\"\n >\n <div class=\"flex items-center my-4 gap-2\">\n <Button\n icon=\"pi pi-flag\"\n severity=\"secondary\"\n :label=\"t('serverStart.reportIssue')\"\n @click=\"reportIssue\"\n />\n <Button\n icon=\"pi pi-file\"\n severity=\"secondary\"\n :label=\"t('serverStart.openLogs')\"\n @click=\"openLogs\"\n />\n <Button\n icon=\"pi pi-wrench\"\n :label=\"t('serverStart.troubleshoot')\"\n @click=\"troubleshoot\"\n />\n </div>\n <Button\n v-if=\"!terminalVisible\"\n icon=\"pi pi-search\"\n severity=\"secondary\"\n :label=\"t('serverStart.showTerminal')\"\n @click=\"terminalVisible = true\"\n />\n </div>\n <BaseTerminal v-show=\"terminalVisible\" @created=\"terminalCreated\" />\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport { ProgressStatus } from '@comfyorg/comfyui-electron-types'\nimport { Terminal } from '@xterm/xterm'\nimport Button from 'primevue/button'\nimport { Ref, onMounted, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport BaseTerminal from '@/components/bottomPanel/tabs/terminal/BaseTerminal.vue'\nimport type { useTerminal } from '@/composables/bottomPanelTabs/useTerminal'\nimport { electronAPI } from '@/utils/envUtil'\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst electron = electronAPI()\nconst { t } = useI18n()\n\nconst status = ref<ProgressStatus>(ProgressStatus.INITIAL_STATE)\nconst electronVersion = ref<string>('')\nlet xterm: Terminal | undefined\n\nconst terminalVisible = ref(true)\n\nconst updateProgress = ({ status: newStatus }: { status: ProgressStatus }) => {\n status.value = newStatus\n\n // Make critical error screen more obvious.\n if (newStatus === ProgressStatus.ERROR) terminalVisible.value = false\n else xterm?.clear()\n}\n\nconst terminalCreated = (\n { terminal, useAutoSize }: ReturnType<typeof useTerminal>,\n root: Ref<HTMLElement>\n) => {\n xterm = terminal\n\n useAutoSize({ root, autoRows: true, autoCols: true })\n electron.onLogMessage((message: string) => {\n terminal.write(message)\n })\n\n terminal.options.cursorBlink = false\n terminal.options.disableStdin = true\n terminal.options.cursorInactiveStyle = 'block'\n}\n\nconst troubleshoot = () => electron.startTroubleshooting()\nconst reportIssue = () => {\n window.open('https://forum.comfy.org/c/v1-feedback/', '_blank')\n}\nconst openLogs = () => electron.openLogsFolder()\n\nonMounted(async () => {\n electron.sendReady()\n electron.onProgressUpdate(updateProgress)\n electronVersion.value = await electron.getElectronVersion()\n})\n</script>\n\n<style scoped>\n:deep(.xterm-helper-textarea) {\n /* Hide this as it moves all over when uv is running */\n display: none;\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAyDA,UAAM,WAAW,YAAY;AACvB,UAAA,EAAE,EAAE,IAAI,QAAQ;AAEhB,UAAA,SAAS,IAAoB,eAAe,aAAa;AACzD,UAAA,kBAAkB,IAAY,EAAE;AAClC,QAAA;AAEE,UAAA,kBAAkB,IAAI,IAAI;AAEhC,UAAM,iBAAiB,wBAAC,EAAE,QAAQ,gBAA4C;AAC5E,aAAO,QAAQ;AAGf,UAAI,cAAc,eAAe,MAAO,iBAAgB,QAAQ;AAAA,kBACpD,MAAM;AAAA,IACpB,GANuB;AAQvB,UAAM,kBAAkB,wBACtB,EAAE,UAAU,YAAA,GACZ,SACG;AACK,cAAA;AAER,kBAAY,EAAE,MAAM,UAAU,MAAM,UAAU,MAAM;AAC3C,eAAA,aAAa,CAAC,YAAoB;AACzC,iBAAS,MAAM,OAAO;AAAA,MAAA,CACvB;AAED,eAAS,QAAQ,cAAc;AAC/B,eAAS,QAAQ,eAAe;AAChC,eAAS,QAAQ,sBAAsB;AAAA,IACzC,GAdwB;AAgBlB,UAAA,eAAe,6BAAM,SAAS,qBAAqB,GAApC;AACrB,UAAM,cAAc,6BAAM;AACjB,aAAA,KAAK,0CAA0C,QAAQ;AAAA,IAChE,GAFoB;AAGd,UAAA,WAAW,6BAAM,SAAS,eAAe,GAA9B;AAEjB,cAAU,YAAY;AACpB,eAAS,UAAU;AACnB,eAAS,iBAAiB,cAAc;AACxB,sBAAA,QAAQ,MAAM,SAAS,mBAAmB;AAAA,IAAA,CAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
1
comfy/web/assets/ServerStartView-DgywG2so.js.map
generated
vendored
1
comfy/web/assets/ServerStartView-DgywG2so.js.map
generated
vendored
@ -1 +0,0 @@
|
||||
{"version":3,"file":"ServerStartView-DgywG2so.js","sources":["../../src/views/ServerStartView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark class=\"flex-col\">\n <div class=\"flex flex-col w-full h-full items-center\">\n <h2 class=\"text-2xl font-bold\">\n {{ t(`serverStart.process.${status}`) }}\n <span v-if=\"status === ProgressStatus.ERROR\">\n v{{ electronVersion }}\n </span>\n </h2>\n <div\n v-if=\"status === ProgressStatus.ERROR\"\n class=\"flex flex-col items-center gap-4\"\n >\n <div class=\"flex items-center my-4 gap-2\">\n <Button\n icon=\"pi pi-flag\"\n severity=\"secondary\"\n :label=\"t('serverStart.reportIssue')\"\n @click=\"reportIssue\"\n />\n <Button\n icon=\"pi pi-file\"\n severity=\"secondary\"\n :label=\"t('serverStart.openLogs')\"\n @click=\"openLogs\"\n />\n <Button\n icon=\"pi pi-refresh\"\n :label=\"t('serverStart.reinstall')\"\n @click=\"reinstall\"\n />\n </div>\n <Button\n v-if=\"!terminalVisible\"\n icon=\"pi pi-search\"\n severity=\"secondary\"\n :label=\"t('serverStart.showTerminal')\"\n @click=\"terminalVisible = true\"\n />\n </div>\n <BaseTerminal v-show=\"terminalVisible\" @created=\"terminalCreated\" />\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport { ProgressStatus } from '@comfyorg/comfyui-electron-types'\nimport { Terminal } from '@xterm/xterm'\nimport Button from 'primevue/button'\nimport { Ref, onMounted, ref } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nimport BaseTerminal from '@/components/bottomPanel/tabs/terminal/BaseTerminal.vue'\nimport type { useTerminal } from '@/hooks/bottomPanelTabs/useTerminal'\nimport { electronAPI } from '@/utils/envUtil'\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst electron = electronAPI()\nconst { t } = useI18n()\n\nconst status = ref<ProgressStatus>(ProgressStatus.INITIAL_STATE)\nconst electronVersion = ref<string>('')\nlet xterm: Terminal | undefined\n\nconst terminalVisible = ref(true)\n\nconst updateProgress = ({ status: newStatus }: { status: ProgressStatus }) => {\n status.value = newStatus\n\n // Make critical error screen more obvious.\n if (newStatus === ProgressStatus.ERROR) terminalVisible.value = false\n else xterm?.clear()\n}\n\nconst terminalCreated = (\n { terminal, useAutoSize }: ReturnType<typeof useTerminal>,\n root: Ref<HTMLElement>\n) => {\n xterm = terminal\n\n useAutoSize({ root, autoRows: true, autoCols: true })\n electron.onLogMessage((message: string) => {\n terminal.write(message)\n })\n\n terminal.options.cursorBlink = false\n terminal.options.disableStdin = true\n terminal.options.cursorInactiveStyle = 'block'\n}\n\nconst reinstall = () => electron.reinstall()\nconst reportIssue = () => {\n window.open('https://forum.comfy.org/c/v1-feedback/', '_blank')\n}\nconst openLogs = () => electron.openLogsFolder()\n\nonMounted(async () => {\n electron.sendReady()\n electron.onProgressUpdate(updateProgress)\n electronVersion.value = await electron.getElectronVersion()\n})\n</script>\n\n<style scoped>\n:deep(.xterm-helper-textarea) {\n /* Hide this as it moves all over when uv is running */\n display: none;\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAyDA,UAAM,WAAW,YAAY;AACvB,UAAA,EAAE,EAAE,IAAI,QAAQ;AAEhB,UAAA,SAAS,IAAoB,eAAe,aAAa;AACzD,UAAA,kBAAkB,IAAY,EAAE;AAClC,QAAA;AAEE,UAAA,kBAAkB,IAAI,IAAI;AAEhC,UAAM,iBAAiB,wBAAC,EAAE,QAAQ,gBAA4C;AAC5E,aAAO,QAAQ;AAGf,UAAI,cAAc,eAAe,MAAO,iBAAgB,QAAQ;AAAA,kBACpD,MAAM;AAAA,IACpB,GANuB;AAQvB,UAAM,kBAAkB,wBACtB,EAAE,UAAU,YAAA,GACZ,SACG;AACK,cAAA;AAER,kBAAY,EAAE,MAAM,UAAU,MAAM,UAAU,MAAM;AAC3C,eAAA,aAAa,CAAC,YAAoB;AACzC,iBAAS,MAAM,OAAO;AAAA,MAAA,CACvB;AAED,eAAS,QAAQ,cAAc;AAC/B,eAAS,QAAQ,eAAe;AAChC,eAAS,QAAQ,sBAAsB;AAAA,IACzC,GAdwB;AAgBlB,UAAA,YAAY,6BAAM,SAAS,UAAU,GAAzB;AAClB,UAAM,cAAc,6BAAM;AACjB,aAAA,KAAK,0CAA0C,QAAQ;AAAA,IAChE,GAFoB;AAGd,UAAA,WAAW,6BAAM,SAAS,eAAe,GAA9B;AAEjB,cAAU,YAAY;AACpB,eAAS,UAAU;AACnB,eAAS,iBAAiB,cAAc;AACxB,sBAAA,QAAQ,MAAM,SAAS,mBAAmB;AAAA,IAAA,CAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
@ -1,391 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
import { bG as BaseStyle, bH as script$2, bZ as ZIndex, bU as addClass, bL as focus, cy as blockBodyScroll, cA as unblockBodyScroll, cB as FocusTrap, l as script$3, ca as script$4, cl as script$5, bR as resolveComponent, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, f as createElementBlock, at as mergeProps, k as createVNode, bI as Transition, i as withDirectives, A as renderSlot, F as Fragment, m as createBaseVNode, aj as normalizeClass, E as toDisplayString, B as createCommentVNode, C as resolveDynamicComponent, dd as commonjsGlobal, de as getDefaultExportFromCjs, H as markRaw, df as xtermExports, p as onMounted, d8 as onUnmounted, d as defineComponent, bw as mergeModels, bq as useModel, bp as BaseTerminal, j as unref, b9 as electronAPI } from "./index-Bv0b06LE.js";
|
||||
var theme = /* @__PURE__ */ __name(function theme2(_ref) {
|
||||
var dt = _ref.dt;
|
||||
return "\n.p-drawer {\n display: flex;\n flex-direction: column;\n transform: translate3d(0px, 0px, 0px);\n position: relative;\n transition: transform 0.3s;\n background: ".concat(dt("drawer.background"), ";\n color: ").concat(dt("drawer.color"), ";\n border: 1px solid ").concat(dt("drawer.border.color"), ";\n box-shadow: ").concat(dt("drawer.shadow"), ";\n}\n\n.p-drawer-content {\n overflow-y: auto;\n flex-grow: 1;\n padding: ").concat(dt("drawer.content.padding"), ";\n}\n\n.p-drawer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n padding: ").concat(dt("drawer.header.padding"), ";\n}\n\n.p-drawer-footer {\n padding: ").concat(dt("drawer.footer.padding"), ";\n}\n\n.p-drawer-title {\n font-weight: ").concat(dt("drawer.title.font.weight"), ";\n font-size: ").concat(dt("drawer.title.font.size"), ";\n}\n\n.p-drawer-full .p-drawer {\n transition: none;\n transform: none;\n width: 100vw !important;\n height: 100vh !important;\n max-height: 100%;\n top: 0px !important;\n left: 0px !important;\n border-width: 1px;\n}\n\n.p-drawer-left .p-drawer-enter-from,\n.p-drawer-left .p-drawer-leave-to {\n transform: translateX(-100%);\n}\n\n.p-drawer-right .p-drawer-enter-from,\n.p-drawer-right .p-drawer-leave-to {\n transform: translateX(100%);\n}\n\n.p-drawer-top .p-drawer-enter-from,\n.p-drawer-top .p-drawer-leave-to {\n transform: translateY(-100%);\n}\n\n.p-drawer-bottom .p-drawer-enter-from,\n.p-drawer-bottom .p-drawer-leave-to {\n transform: translateY(100%);\n}\n\n.p-drawer-full .p-drawer-enter-from,\n.p-drawer-full .p-drawer-leave-to {\n opacity: 0;\n}\n\n.p-drawer-full .p-drawer-enter-active,\n.p-drawer-full .p-drawer-leave-active {\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n\n.p-drawer-left .p-drawer {\n width: 20rem;\n height: 100%;\n border-inline-end-width: 1px;\n}\n\n.p-drawer-right .p-drawer {\n width: 20rem;\n height: 100%;\n border-inline-start-width: 1px;\n}\n\n.p-drawer-top .p-drawer {\n height: 10rem;\n width: 100%;\n border-block-end-width: 1px;\n}\n\n.p-drawer-bottom .p-drawer {\n height: 10rem;\n width: 100%;\n border-block-start-width: 1px;\n}\n\n.p-drawer-left .p-drawer-content,\n.p-drawer-right .p-drawer-content,\n.p-drawer-top .p-drawer-content,\n.p-drawer-bottom .p-drawer-content {\n width: 100%;\n height: 100%;\n}\n\n.p-drawer-open {\n display: flex;\n}\n\n.p-drawer-mask:dir(rtl) {\n flex-direction: row-reverse;\n}\n");
|
||||
}, "theme");
|
||||
var inlineStyles = {
|
||||
mask: /* @__PURE__ */ __name(function mask(_ref2) {
|
||||
var position = _ref2.position, modal = _ref2.modal;
|
||||
return {
|
||||
position: "fixed",
|
||||
height: "100%",
|
||||
width: "100%",
|
||||
left: 0,
|
||||
top: 0,
|
||||
display: "flex",
|
||||
justifyContent: position === "left" ? "flex-start" : position === "right" ? "flex-end" : "center",
|
||||
alignItems: position === "top" ? "flex-start" : position === "bottom" ? "flex-end" : "center",
|
||||
pointerEvents: modal ? "auto" : "none"
|
||||
};
|
||||
}, "mask"),
|
||||
root: {
|
||||
pointerEvents: "auto"
|
||||
}
|
||||
};
|
||||
var classes = {
|
||||
mask: /* @__PURE__ */ __name(function mask2(_ref3) {
|
||||
var instance = _ref3.instance, props = _ref3.props;
|
||||
var positions = ["left", "right", "top", "bottom"];
|
||||
var pos = positions.find(function(item) {
|
||||
return item === props.position;
|
||||
});
|
||||
return ["p-drawer-mask", {
|
||||
"p-overlay-mask p-overlay-mask-enter": props.modal,
|
||||
"p-drawer-open": instance.containerVisible,
|
||||
"p-drawer-full": instance.fullScreen
|
||||
}, pos ? "p-drawer-".concat(pos) : ""];
|
||||
}, "mask"),
|
||||
root: /* @__PURE__ */ __name(function root(_ref4) {
|
||||
var instance = _ref4.instance;
|
||||
return ["p-drawer p-component", {
|
||||
"p-drawer-full": instance.fullScreen
|
||||
}];
|
||||
}, "root"),
|
||||
header: "p-drawer-header",
|
||||
title: "p-drawer-title",
|
||||
pcCloseButton: "p-drawer-close-button",
|
||||
content: "p-drawer-content",
|
||||
footer: "p-drawer-footer"
|
||||
};
|
||||
var DrawerStyle = BaseStyle.extend({
|
||||
name: "drawer",
|
||||
theme,
|
||||
classes,
|
||||
inlineStyles
|
||||
});
|
||||
var script$1 = {
|
||||
name: "BaseDrawer",
|
||||
"extends": script$2,
|
||||
props: {
|
||||
visible: {
|
||||
type: Boolean,
|
||||
"default": false
|
||||
},
|
||||
position: {
|
||||
type: String,
|
||||
"default": "left"
|
||||
},
|
||||
header: {
|
||||
type: null,
|
||||
"default": null
|
||||
},
|
||||
baseZIndex: {
|
||||
type: Number,
|
||||
"default": 0
|
||||
},
|
||||
autoZIndex: {
|
||||
type: Boolean,
|
||||
"default": true
|
||||
},
|
||||
dismissable: {
|
||||
type: Boolean,
|
||||
"default": true
|
||||
},
|
||||
showCloseIcon: {
|
||||
type: Boolean,
|
||||
"default": true
|
||||
},
|
||||
closeButtonProps: {
|
||||
type: Object,
|
||||
"default": /* @__PURE__ */ __name(function _default() {
|
||||
return {
|
||||
severity: "secondary",
|
||||
text: true,
|
||||
rounded: true
|
||||
};
|
||||
}, "_default")
|
||||
},
|
||||
closeIcon: {
|
||||
type: String,
|
||||
"default": void 0
|
||||
},
|
||||
modal: {
|
||||
type: Boolean,
|
||||
"default": true
|
||||
},
|
||||
blockScroll: {
|
||||
type: Boolean,
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
style: DrawerStyle,
|
||||
provide: /* @__PURE__ */ __name(function provide() {
|
||||
return {
|
||||
$pcDrawer: this,
|
||||
$parentInstance: this
|
||||
};
|
||||
}, "provide")
|
||||
};
|
||||
var script = {
|
||||
name: "Drawer",
|
||||
"extends": script$1,
|
||||
inheritAttrs: false,
|
||||
emits: ["update:visible", "show", "after-show", "hide", "after-hide"],
|
||||
data: /* @__PURE__ */ __name(function data() {
|
||||
return {
|
||||
containerVisible: this.visible
|
||||
};
|
||||
}, "data"),
|
||||
container: null,
|
||||
mask: null,
|
||||
content: null,
|
||||
headerContainer: null,
|
||||
footerContainer: null,
|
||||
closeButton: null,
|
||||
outsideClickListener: null,
|
||||
documentKeydownListener: null,
|
||||
watch: {
|
||||
dismissable: /* @__PURE__ */ __name(function dismissable(newValue) {
|
||||
if (newValue) {
|
||||
this.enableDocumentSettings();
|
||||
} else {
|
||||
this.disableDocumentSettings();
|
||||
}
|
||||
}, "dismissable")
|
||||
},
|
||||
updated: /* @__PURE__ */ __name(function updated() {
|
||||
if (this.visible) {
|
||||
this.containerVisible = this.visible;
|
||||
}
|
||||
}, "updated"),
|
||||
beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() {
|
||||
this.disableDocumentSettings();
|
||||
if (this.mask && this.autoZIndex) {
|
||||
ZIndex.clear(this.mask);
|
||||
}
|
||||
this.container = null;
|
||||
this.mask = null;
|
||||
}, "beforeUnmount"),
|
||||
methods: {
|
||||
hide: /* @__PURE__ */ __name(function hide() {
|
||||
this.$emit("update:visible", false);
|
||||
}, "hide"),
|
||||
onEnter: /* @__PURE__ */ __name(function onEnter() {
|
||||
this.$emit("show");
|
||||
this.focus();
|
||||
this.bindDocumentKeyDownListener();
|
||||
if (this.autoZIndex) {
|
||||
ZIndex.set("modal", this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);
|
||||
}
|
||||
}, "onEnter"),
|
||||
onAfterEnter: /* @__PURE__ */ __name(function onAfterEnter() {
|
||||
this.enableDocumentSettings();
|
||||
this.$emit("after-show");
|
||||
}, "onAfterEnter"),
|
||||
onBeforeLeave: /* @__PURE__ */ __name(function onBeforeLeave() {
|
||||
if (this.modal) {
|
||||
!this.isUnstyled && addClass(this.mask, "p-overlay-mask-leave");
|
||||
}
|
||||
}, "onBeforeLeave"),
|
||||
onLeave: /* @__PURE__ */ __name(function onLeave() {
|
||||
this.$emit("hide");
|
||||
}, "onLeave"),
|
||||
onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave() {
|
||||
if (this.autoZIndex) {
|
||||
ZIndex.clear(this.mask);
|
||||
}
|
||||
this.unbindDocumentKeyDownListener();
|
||||
this.containerVisible = false;
|
||||
this.disableDocumentSettings();
|
||||
this.$emit("after-hide");
|
||||
}, "onAfterLeave"),
|
||||
onMaskClick: /* @__PURE__ */ __name(function onMaskClick(event) {
|
||||
if (this.dismissable && this.modal && this.mask === event.target) {
|
||||
this.hide();
|
||||
}
|
||||
}, "onMaskClick"),
|
||||
focus: /* @__PURE__ */ __name(function focus$1() {
|
||||
var findFocusableElement = /* @__PURE__ */ __name(function findFocusableElement2(container) {
|
||||
return container && container.querySelector("[autofocus]");
|
||||
}, "findFocusableElement");
|
||||
var focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);
|
||||
if (!focusTarget) {
|
||||
focusTarget = this.$slots["default"] && findFocusableElement(this.container);
|
||||
if (!focusTarget) {
|
||||
focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);
|
||||
if (!focusTarget) {
|
||||
focusTarget = this.closeButton;
|
||||
}
|
||||
}
|
||||
}
|
||||
focusTarget && focus(focusTarget);
|
||||
}, "focus$1"),
|
||||
enableDocumentSettings: /* @__PURE__ */ __name(function enableDocumentSettings() {
|
||||
if (this.dismissable && !this.modal) {
|
||||
this.bindOutsideClickListener();
|
||||
}
|
||||
if (this.blockScroll) {
|
||||
blockBodyScroll();
|
||||
}
|
||||
}, "enableDocumentSettings"),
|
||||
disableDocumentSettings: /* @__PURE__ */ __name(function disableDocumentSettings() {
|
||||
this.unbindOutsideClickListener();
|
||||
if (this.blockScroll) {
|
||||
unblockBodyScroll();
|
||||
}
|
||||
}, "disableDocumentSettings"),
|
||||
onKeydown: /* @__PURE__ */ __name(function onKeydown(event) {
|
||||
if (event.code === "Escape") {
|
||||
this.hide();
|
||||
}
|
||||
}, "onKeydown"),
|
||||
containerRef: /* @__PURE__ */ __name(function containerRef(el) {
|
||||
this.container = el;
|
||||
}, "containerRef"),
|
||||
maskRef: /* @__PURE__ */ __name(function maskRef(el) {
|
||||
this.mask = el;
|
||||
}, "maskRef"),
|
||||
contentRef: /* @__PURE__ */ __name(function contentRef(el) {
|
||||
this.content = el;
|
||||
}, "contentRef"),
|
||||
headerContainerRef: /* @__PURE__ */ __name(function headerContainerRef(el) {
|
||||
this.headerContainer = el;
|
||||
}, "headerContainerRef"),
|
||||
footerContainerRef: /* @__PURE__ */ __name(function footerContainerRef(el) {
|
||||
this.footerContainer = el;
|
||||
}, "footerContainerRef"),
|
||||
closeButtonRef: /* @__PURE__ */ __name(function closeButtonRef(el) {
|
||||
this.closeButton = el ? el.$el : void 0;
|
||||
}, "closeButtonRef"),
|
||||
bindDocumentKeyDownListener: /* @__PURE__ */ __name(function bindDocumentKeyDownListener() {
|
||||
if (!this.documentKeydownListener) {
|
||||
this.documentKeydownListener = this.onKeydown;
|
||||
document.addEventListener("keydown", this.documentKeydownListener);
|
||||
}
|
||||
}, "bindDocumentKeyDownListener"),
|
||||
unbindDocumentKeyDownListener: /* @__PURE__ */ __name(function unbindDocumentKeyDownListener() {
|
||||
if (this.documentKeydownListener) {
|
||||
document.removeEventListener("keydown", this.documentKeydownListener);
|
||||
this.documentKeydownListener = null;
|
||||
}
|
||||
}, "unbindDocumentKeyDownListener"),
|
||||
bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener() {
|
||||
var _this = this;
|
||||
if (!this.outsideClickListener) {
|
||||
this.outsideClickListener = function(event) {
|
||||
if (_this.isOutsideClicked(event)) {
|
||||
_this.hide();
|
||||
}
|
||||
};
|
||||
document.addEventListener("click", this.outsideClickListener);
|
||||
}
|
||||
}, "bindOutsideClickListener"),
|
||||
unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener() {
|
||||
if (this.outsideClickListener) {
|
||||
document.removeEventListener("click", this.outsideClickListener);
|
||||
this.outsideClickListener = null;
|
||||
}
|
||||
}, "unbindOutsideClickListener"),
|
||||
isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked(event) {
|
||||
return this.container && !this.container.contains(event.target);
|
||||
}, "isOutsideClicked")
|
||||
},
|
||||
computed: {
|
||||
fullScreen: /* @__PURE__ */ __name(function fullScreen() {
|
||||
return this.position === "full";
|
||||
}, "fullScreen"),
|
||||
closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel() {
|
||||
return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0;
|
||||
}, "closeAriaLabel")
|
||||
},
|
||||
directives: {
|
||||
focustrap: FocusTrap
|
||||
},
|
||||
components: {
|
||||
Button: script$3,
|
||||
Portal: script$4,
|
||||
TimesIcon: script$5
|
||||
}
|
||||
};
|
||||
var _hoisted_1 = ["aria-modal"];
|
||||
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
var _component_Button = resolveComponent("Button");
|
||||
var _component_Portal = resolveComponent("Portal");
|
||||
var _directive_focustrap = resolveDirective("focustrap");
|
||||
return openBlock(), createBlock(_component_Portal, null, {
|
||||
"default": withCtx(function() {
|
||||
return [$data.containerVisible ? (openBlock(), createElementBlock("div", mergeProps({
|
||||
key: 0,
|
||||
ref: $options.maskRef,
|
||||
onMousedown: _cache[0] || (_cache[0] = function() {
|
||||
return $options.onMaskClick && $options.onMaskClick.apply($options, arguments);
|
||||
}),
|
||||
"class": _ctx.cx("mask"),
|
||||
style: _ctx.sx("mask", true, {
|
||||
position: _ctx.position,
|
||||
modal: _ctx.modal
|
||||
})
|
||||
}, _ctx.ptm("mask")), [createVNode(Transition, mergeProps({
|
||||
name: "p-drawer",
|
||||
onEnter: $options.onEnter,
|
||||
onAfterEnter: $options.onAfterEnter,
|
||||
onBeforeLeave: $options.onBeforeLeave,
|
||||
onLeave: $options.onLeave,
|
||||
onAfterLeave: $options.onAfterLeave,
|
||||
appear: ""
|
||||
}, _ctx.ptm("transition")), {
|
||||
"default": withCtx(function() {
|
||||
return [_ctx.visible ? withDirectives((openBlock(), createElementBlock("div", mergeProps({
|
||||
key: 0,
|
||||
ref: $options.containerRef,
|
||||
"class": _ctx.cx("root"),
|
||||
style: _ctx.sx("root"),
|
||||
role: "complementary",
|
||||
"aria-modal": _ctx.modal
|
||||
}, _ctx.ptmi("root")), [_ctx.$slots.container ? renderSlot(_ctx.$slots, "container", {
|
||||
key: 0,
|
||||
closeCallback: $options.hide
|
||||
}) : (openBlock(), createElementBlock(Fragment, {
|
||||
key: 1
|
||||
}, [createBaseVNode("div", mergeProps({
|
||||
ref: $options.headerContainerRef,
|
||||
"class": _ctx.cx("header")
|
||||
}, _ctx.ptm("header")), [renderSlot(_ctx.$slots, "header", {
|
||||
"class": normalizeClass(_ctx.cx("title"))
|
||||
}, function() {
|
||||
return [_ctx.header ? (openBlock(), createElementBlock("div", mergeProps({
|
||||
key: 0,
|
||||
"class": _ctx.cx("title")
|
||||
}, _ctx.ptm("title")), toDisplayString(_ctx.header), 17)) : createCommentVNode("", true)];
|
||||
}), _ctx.showCloseIcon ? (openBlock(), createBlock(_component_Button, mergeProps({
|
||||
key: 0,
|
||||
ref: $options.closeButtonRef,
|
||||
type: "button",
|
||||
"class": _ctx.cx("pcCloseButton"),
|
||||
"aria-label": $options.closeAriaLabel,
|
||||
unstyled: _ctx.unstyled,
|
||||
onClick: $options.hide
|
||||
}, _ctx.closeButtonProps, {
|
||||
pt: _ctx.ptm("pcCloseButton"),
|
||||
"data-pc-group-section": "iconcontainer"
|
||||
}), {
|
||||
icon: withCtx(function(slotProps) {
|
||||
return [renderSlot(_ctx.$slots, "closeicon", {}, function() {
|
||||
return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.closeIcon ? "span" : "TimesIcon"), mergeProps({
|
||||
"class": [_ctx.closeIcon, slotProps["class"]]
|
||||
}, _ctx.ptm("pcCloseButton")["icon"]), null, 16, ["class"]))];
|
||||
})];
|
||||
}),
|
||||
_: 3
|
||||
}, 16, ["class", "aria-label", "unstyled", "onClick", "pt"])) : createCommentVNode("", true)], 16), createBaseVNode("div", mergeProps({
|
||||
ref: $options.contentRef,
|
||||
"class": _ctx.cx("content")
|
||||
}, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps({
|
||||
key: 0,
|
||||
ref: $options.footerContainerRef,
|
||||
"class": _ctx.cx("footer")
|
||||
}, _ctx.ptm("footer")), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true)], 64))], 16, _hoisted_1)), [[_directive_focustrap]]) : createCommentVNode("", true)];
|
||||
}),
|
||||
_: 3
|
||||
}, 16, ["onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"])], 16)) : createCommentVNode("", true)];
|
||||
}),
|
||||
_: 3
|
||||
});
|
||||
}
|
||||
__name(render, "render");
|
||||
script.render = render;
|
||||
import { bV as commonjsGlobal, bW as getDefaultExportFromCjs, H as markRaw, bX as xtermExports, p as onMounted, bU as onUnmounted, d as defineComponent, bF as mergeModels, bz as useModel, o as openBlock, y as createBlock, z as withCtx, k as createVNode, by as BaseTerminal, j as unref, bi as electronAPI } from "./index-DIgj6hpb.js";
|
||||
import { s as script } from "./index-C_ACzX5-.js";
|
||||
var addonSerialize$2 = { exports: {} };
|
||||
var addonSerialize = addonSerialize$2.exports;
|
||||
(function(module, exports) {
|
||||
@ -1016,9 +632,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
const electron = electronAPI();
|
||||
const buffer = useTerminalBuffer();
|
||||
let xterm = null;
|
||||
const terminalCreated = /* @__PURE__ */ __name(({ terminal, useAutoSize }, root2) => {
|
||||
const terminalCreated = /* @__PURE__ */ __name(({ terminal, useAutoSize }, root) => {
|
||||
xterm = terminal;
|
||||
useAutoSize({ root: root2, autoRows: true, autoCols: true });
|
||||
useAutoSize({ root, autoRows: true, autoCols: true });
|
||||
terminal.write(props.defaultMessage);
|
||||
buffer.copyTo(terminal);
|
||||
terminal.options.cursorBlink = false;
|
||||
@ -1055,7 +671,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
}
|
||||
});
|
||||
export {
|
||||
_sfc_main as _,
|
||||
script as s
|
||||
_sfc_main as _
|
||||
};
|
||||
//# sourceMappingURL=TerminalOutputDrawer-CKr7Br7O.js.map
|
||||
//# sourceMappingURL=TerminalOutputDrawer-B_NZxAv8.js.map
|
||||
1
comfy/web/assets/TerminalOutputDrawer-B_NZxAv8.js.map
generated
vendored
Normal file
1
comfy/web/assets/TerminalOutputDrawer-B_NZxAv8.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -1,12 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/UserSelectView-DkeVSFwW.js
|
||||
import { d as defineComponent, aj as useUserStore, be as useRouter, U as ref, c as computed, p as onMounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, bf as withKeys, j as unref, bg as script, bh as script$1, bi as script$2, bj as script$3, a7 as createTextVNode, B as createCommentVNode, l as script$4 } from "./index-BsGgXmrT.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DDUNNAbV.js";
|
||||
========
|
||||
import { d as defineComponent, ak as useUserStore, bi as useRouter, T as ref, c as computed, p as onMounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, bj as withKeys, j as unref, bk as script, bl as script$1, bm as script$2, bn as script$3, a8 as createTextVNode, B as createCommentVNode, l as script$4 } from "./index-Bv0b06LE.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-BTbuZf5t.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/UserSelectView-C703HOyO.js
|
||||
import { d as defineComponent, av as useUserStore, br as useRouter, T as ref, c as computed, p as onMounted, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, bs as withKeys, j as unref, bt as script, bu as script$1, bv as script$2, bw as script$3, ak as createTextVNode, B as createCommentVNode, l as script$4 } from "./index-DIgj6hpb.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
const _hoisted_1 = {
|
||||
id: "comfy-user-selection",
|
||||
class: "min-w-84 relative rounded-lg bg-[var(--comfy-menu-bg)] p-5 px-10 shadow-lg"
|
||||
@ -103,8 +98,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
export {
|
||||
_sfc_main as default
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/UserSelectView-DkeVSFwW.js
|
||||
//# sourceMappingURL=UserSelectView-DkeVSFwW.js.map
|
||||
========
|
||||
//# sourceMappingURL=UserSelectView-C703HOyO.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/UserSelectView-C703HOyO.js
|
||||
//# sourceMappingURL=UserSelectView-ByltuBH7.js.map
|
||||
@ -1 +1 @@
|
||||
{"version":3,"file":"UserSelectView-DkeVSFwW.js","sources":["../../src/views/UserSelectView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark>\n <main\n id=\"comfy-user-selection\"\n class=\"min-w-84 relative rounded-lg bg-[var(--comfy-menu-bg)] p-5 px-10 shadow-lg\"\n >\n <h1 class=\"my-2.5 mb-7 font-normal\">ComfyUI</h1>\n <div class=\"flex w-full flex-col items-center\">\n <div class=\"flex w-full flex-col gap-2\">\n <label for=\"new-user-input\">{{ $t('userSelect.newUser') }}:</label>\n <InputText\n id=\"new-user-input\"\n v-model=\"newUsername\"\n :placeholder=\"$t('userSelect.enterUsername')\"\n @keyup.enter=\"login\"\n />\n </div>\n <Divider />\n <div class=\"flex w-full flex-col gap-2\">\n <label for=\"existing-user-select\"\n >{{ $t('userSelect.existingUser') }}:</label\n >\n <Select\n v-model=\"selectedUser\"\n class=\"w-full\"\n inputId=\"existing-user-select\"\n :options=\"userStore.users\"\n option-label=\"username\"\n :placeholder=\"$t('userSelect.selectUser')\"\n :disabled=\"createNewUser\"\n />\n <Message v-if=\"error\" severity=\"error\">{{ error }}</Message>\n </div>\n <footer class=\"mt-5\">\n <Button :label=\"$t('userSelect.next')\" @click=\"login\" />\n </footer>\n </div>\n </main>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport Divider from 'primevue/divider'\nimport InputText from 'primevue/inputtext'\nimport Message from 'primevue/message'\nimport Select from 'primevue/select'\nimport { computed, onMounted, ref } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport { User, useUserStore } from '@/stores/userStore'\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst userStore = useUserStore()\nconst router = useRouter()\n\nconst selectedUser = ref<User | null>(null)\nconst newUsername = ref('')\nconst loginError = ref('')\n\nconst createNewUser = computed(() => newUsername.value.trim() !== '')\nconst newUserExistsError = computed(() => {\n return userStore.users.find((user) => user.username === newUsername.value)\n ? `User \"${newUsername.value}\" already exists`\n : ''\n})\nconst error = computed(() => newUserExistsError.value || loginError.value)\n\nconst login = async () => {\n try {\n const user = createNewUser.value\n ? await userStore.createUser(newUsername.value)\n : selectedUser.value\n\n if (!user) {\n throw new Error('No user selected')\n }\n\n userStore.login(user)\n router.push('/')\n } catch (err) {\n loginError.value = err.message ?? JSON.stringify(err)\n }\n}\n\nonMounted(async () => {\n if (!userStore.initialized) {\n await userStore.initialize()\n }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAqDA,UAAM,YAAY,aAAa;AAC/B,UAAM,SAAS,UAAU;AAEnB,UAAA,eAAe,IAAiB,IAAI;AACpC,UAAA,cAAc,IAAI,EAAE;AACpB,UAAA,aAAa,IAAI,EAAE;AAEzB,UAAM,gBAAgB,SAAS,MAAM,YAAY,MAAM,WAAW,EAAE;AAC9D,UAAA,qBAAqB,SAAS,MAAM;AACxC,aAAO,UAAU,MAAM,KAAK,CAAC,SAAS,KAAK,aAAa,YAAY,KAAK,IACrE,SAAS,YAAY,KAAK,qBAC1B;AAAA,IAAA,CACL;AACD,UAAM,QAAQ,SAAS,MAAM,mBAAmB,SAAS,WAAW,KAAK;AAEzE,UAAM,QAAQ,mCAAY;AACpB,UAAA;AACI,cAAA,OAAO,cAAc,QACvB,MAAM,UAAU,WAAW,YAAY,KAAK,IAC5C,aAAa;AAEjB,YAAI,CAAC,MAAM;AACH,gBAAA,IAAI,MAAM,kBAAkB;AAAA,QAAA;AAGpC,kBAAU,MAAM,IAAI;AACpB,eAAO,KAAK,GAAG;AAAA,eACR,KAAK;AACZ,mBAAW,QAAQ,IAAI,WAAW,KAAK,UAAU,GAAG;AAAA,MAAA;AAAA,IAExD,GAfc;AAiBd,cAAU,YAAY;AAChB,UAAA,CAAC,UAAU,aAAa;AAC1B,cAAM,UAAU,WAAW;AAAA,MAAA;AAAA,IAC7B,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
{"version":3,"file":"UserSelectView-ByltuBH7.js","sources":["../../src/views/UserSelectView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark>\n <main\n id=\"comfy-user-selection\"\n class=\"min-w-84 relative rounded-lg bg-[var(--comfy-menu-bg)] p-5 px-10 shadow-lg\"\n >\n <h1 class=\"my-2.5 mb-7 font-normal\">ComfyUI</h1>\n <div class=\"flex w-full flex-col items-center\">\n <div class=\"flex w-full flex-col gap-2\">\n <label for=\"new-user-input\">{{ $t('userSelect.newUser') }}:</label>\n <InputText\n id=\"new-user-input\"\n v-model=\"newUsername\"\n :placeholder=\"$t('userSelect.enterUsername')\"\n @keyup.enter=\"login\"\n />\n </div>\n <Divider />\n <div class=\"flex w-full flex-col gap-2\">\n <label for=\"existing-user-select\"\n >{{ $t('userSelect.existingUser') }}:</label\n >\n <Select\n v-model=\"selectedUser\"\n class=\"w-full\"\n inputId=\"existing-user-select\"\n :options=\"userStore.users\"\n option-label=\"username\"\n :placeholder=\"$t('userSelect.selectUser')\"\n :disabled=\"createNewUser\"\n />\n <Message v-if=\"error\" severity=\"error\">{{ error }}</Message>\n </div>\n <footer class=\"mt-5\">\n <Button :label=\"$t('userSelect.next')\" @click=\"login\" />\n </footer>\n </div>\n </main>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport Divider from 'primevue/divider'\nimport InputText from 'primevue/inputtext'\nimport Message from 'primevue/message'\nimport Select from 'primevue/select'\nimport { computed, onMounted, ref } from 'vue'\nimport { useRouter } from 'vue-router'\n\nimport { User, useUserStore } from '@/stores/userStore'\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst userStore = useUserStore()\nconst router = useRouter()\n\nconst selectedUser = ref<User | null>(null)\nconst newUsername = ref('')\nconst loginError = ref('')\n\nconst createNewUser = computed(() => newUsername.value.trim() !== '')\nconst newUserExistsError = computed(() => {\n return userStore.users.find((user) => user.username === newUsername.value)\n ? `User \"${newUsername.value}\" already exists`\n : ''\n})\nconst error = computed(() => newUserExistsError.value || loginError.value)\n\nconst login = async () => {\n try {\n const user = createNewUser.value\n ? await userStore.createUser(newUsername.value)\n : selectedUser.value\n\n if (!user) {\n throw new Error('No user selected')\n }\n\n userStore.login(user)\n router.push('/')\n } catch (err) {\n loginError.value = err.message ?? JSON.stringify(err)\n }\n}\n\nonMounted(async () => {\n if (!userStore.initialized) {\n await userStore.initialize()\n }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAqDA,UAAM,YAAY,aAAa;AAC/B,UAAM,SAAS,UAAU;AAEnB,UAAA,eAAe,IAAiB,IAAI;AACpC,UAAA,cAAc,IAAI,EAAE;AACpB,UAAA,aAAa,IAAI,EAAE;AAEzB,UAAM,gBAAgB,SAAS,MAAM,YAAY,MAAM,WAAW,EAAE;AAC9D,UAAA,qBAAqB,SAAS,MAAM;AACxC,aAAO,UAAU,MAAM,KAAK,CAAC,SAAS,KAAK,aAAa,YAAY,KAAK,IACrE,SAAS,YAAY,KAAK,qBAC1B;AAAA,IAAA,CACL;AACD,UAAM,QAAQ,SAAS,MAAM,mBAAmB,SAAS,WAAW,KAAK;AAEzE,UAAM,QAAQ,mCAAY;AACpB,UAAA;AACI,cAAA,OAAO,cAAc,QACvB,MAAM,UAAU,WAAW,YAAY,KAAK,IAC5C,aAAa;AAEjB,YAAI,CAAC,MAAM;AACH,gBAAA,IAAI,MAAM,kBAAkB;AAAA,QAAA;AAGpC,kBAAU,MAAM,IAAI;AACpB,eAAO,KAAK,GAAG;AAAA,eACR,KAAK;AACZ,mBAAW,QAAQ,IAAI,WAAW,KAAK,UAAU,GAAG;AAAA,MAAA;AAAA,IAExD,GAfc;AAiBd,cAAU,YAAY;AAChB,UAAA,CAAC,UAAU,aAAa;AAC1B,cAAM,UAAU,WAAW;AAAA,MAAA;AAAA,IAC7B,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
15
comfy/web/assets/WelcomeView-DIFvbWc2.js → comfy/web/assets/WelcomeView-bWjYcpdL.js
generated
vendored
15
comfy/web/assets/WelcomeView-DIFvbWc2.js → comfy/web/assets/WelcomeView-bWjYcpdL.js
generated
vendored
@ -1,12 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/WelcomeView-CXVMqRFA.js
|
||||
import { d as defineComponent, be as useRouter, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, l as script, _ as _export_sfc } from "./index-BsGgXmrT.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DDUNNAbV.js";
|
||||
========
|
||||
import { d as defineComponent, bi as useRouter, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, l as script, _ as _export_sfc } from "./index-Bv0b06LE.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-BTbuZf5t.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/WelcomeView-DIFvbWc2.js
|
||||
import { d as defineComponent, br as useRouter, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, l as script, _ as _export_sfc } from "./index-DIgj6hpb.js";
|
||||
import { _ as _sfc_main$1 } from "./BaseViewTemplate-DaGOaycP.js";
|
||||
const _hoisted_1 = { class: "flex flex-col items-center justify-center gap-8 p-8" };
|
||||
const _hoisted_2 = { class: "animated-gradient-text text-glow select-none" };
|
||||
const _sfc_main = /* @__PURE__ */ defineComponent({
|
||||
@ -41,8 +36,4 @@ const WelcomeView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-
|
||||
export {
|
||||
WelcomeView as default
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/WelcomeView-CXVMqRFA.js
|
||||
//# sourceMappingURL=WelcomeView-CXVMqRFA.js.map
|
||||
========
|
||||
//# sourceMappingURL=WelcomeView-DIFvbWc2.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/WelcomeView-DIFvbWc2.js
|
||||
//# sourceMappingURL=WelcomeView-bWjYcpdL.js.map
|
||||
@ -1 +1 @@
|
||||
{"version":3,"file":"WelcomeView-CXVMqRFA.js","sources":["../../src/views/WelcomeView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark>\n <div class=\"flex flex-col items-center justify-center gap-8 p-8\">\n <!-- Header -->\n <h1 class=\"animated-gradient-text text-glow select-none\">\n {{ $t('welcome.title') }}\n </h1>\n\n <!-- Get Started Button -->\n <Button\n :label=\"$t('welcome.getStarted')\"\n icon=\"pi pi-arrow-right\"\n iconPos=\"right\"\n size=\"large\"\n rounded\n @click=\"navigateTo('/install')\"\n class=\"p-4 text-lg fade-in-up\"\n />\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport { useRouter } from 'vue-router'\n\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst router = useRouter()\nconst navigateTo = (path: string) => {\n router.push(path)\n}\n</script>\n\n<style scoped>\n.animated-gradient-text {\n @apply font-bold;\n font-size: clamp(2rem, 8vw, 4rem);\n background: linear-gradient(to right, #12c2e9, #c471ed, #f64f59, #12c2e9);\n background-size: 300% auto;\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n animation: gradient 8s linear infinite;\n}\n\n.text-glow {\n filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.3));\n}\n\n@keyframes gradient {\n 0% {\n background-position: 0% center;\n }\n\n 100% {\n background-position: 300% center;\n }\n}\n\n.fade-in-up {\n animation: fadeInUp 1.5s ease-out;\n animation-fill-mode: both;\n}\n\n@keyframes fadeInUp {\n 0% {\n opacity: 0;\n transform: translateY(20px);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;AA4BA,UAAM,SAAS,UAAU;AACnB,UAAA,aAAa,wBAAC,SAAiB;AACnC,aAAO,KAAK,IAAI;AAAA,IAClB,GAFmB;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
{"version":3,"file":"WelcomeView-bWjYcpdL.js","sources":["../../src/views/WelcomeView.vue"],"sourcesContent":["<template>\n <BaseViewTemplate dark>\n <div class=\"flex flex-col items-center justify-center gap-8 p-8\">\n <!-- Header -->\n <h1 class=\"animated-gradient-text text-glow select-none\">\n {{ $t('welcome.title') }}\n </h1>\n\n <!-- Get Started Button -->\n <Button\n :label=\"$t('welcome.getStarted')\"\n icon=\"pi pi-arrow-right\"\n iconPos=\"right\"\n size=\"large\"\n rounded\n @click=\"navigateTo('/install')\"\n class=\"p-4 text-lg fade-in-up\"\n />\n </div>\n </BaseViewTemplate>\n</template>\n\n<script setup lang=\"ts\">\nimport Button from 'primevue/button'\nimport { useRouter } from 'vue-router'\n\nimport BaseViewTemplate from '@/views/templates/BaseViewTemplate.vue'\n\nconst router = useRouter()\nconst navigateTo = (path: string) => {\n router.push(path)\n}\n</script>\n\n<style scoped>\n.animated-gradient-text {\n @apply font-bold;\n font-size: clamp(2rem, 8vw, 4rem);\n background: linear-gradient(to right, #12c2e9, #c471ed, #f64f59, #12c2e9);\n background-size: 300% auto;\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n animation: gradient 8s linear infinite;\n}\n\n.text-glow {\n filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.3));\n}\n\n@keyframes gradient {\n 0% {\n background-position: 0% center;\n }\n\n 100% {\n background-position: 300% center;\n }\n}\n\n.fade-in-up {\n animation: fadeInUp 1.5s ease-out;\n animation-fill-mode: both;\n}\n\n@keyframes fadeInUp {\n 0% {\n opacity: 0;\n transform: translateY(20px);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;AA4BA,UAAM,SAAS,UAAU;AACnB,UAAA,aAAa,wBAAC,SAAiB;AACnC,aAAO,KAAK,IAAI;AAAA,IAClB,GAFmB;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
149
comfy/web/assets/index-A7qL4fzl.css
generated
vendored
149
comfy/web/assets/index-A7qL4fzl.css
generated
vendored
@ -1,149 +0,0 @@
|
||||
.comfy-group-manage {
|
||||
background: var(--bg-color);
|
||||
color: var(--fg-color);
|
||||
padding: 0;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-color: black;
|
||||
margin: 20vh auto;
|
||||
max-height: 60vh;
|
||||
}
|
||||
.comfy-group-manage-outer {
|
||||
max-height: 60vh;
|
||||
min-width: 500px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.comfy-group-manage-outer > header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
justify-content: space-between;
|
||||
background: var(--comfy-menu-bg);
|
||||
padding: 15px 20px;
|
||||
}
|
||||
.comfy-group-manage-outer > header select {
|
||||
background: var(--comfy-input-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--input-text);
|
||||
padding: 5px 10px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.comfy-group-manage h2 {
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
.comfy-group-manage main {
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
}
|
||||
.comfy-group-manage .drag-handle {
|
||||
font-weight: bold;
|
||||
}
|
||||
.comfy-group-manage-list {
|
||||
border-right: 1px solid var(--comfy-menu-bg);
|
||||
}
|
||||
.comfy-group-manage-list ul {
|
||||
margin: 40px 0 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.comfy-group-manage-list-items {
|
||||
max-height: calc(100% - 40px);
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
.comfy-group-manage-list li {
|
||||
display: flex;
|
||||
padding: 10px 20px 10px 10px;
|
||||
cursor: pointer;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
}
|
||||
.comfy-group-manage-list div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.comfy-group-manage-list li:not(.selected):hover div {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.comfy-group-manage-list li.selected {
|
||||
background: var(--border-color);
|
||||
}
|
||||
.comfy-group-manage-list li span {
|
||||
opacity: 0.7;
|
||||
font-size: smaller;
|
||||
}
|
||||
.comfy-group-manage-node {
|
||||
flex: auto;
|
||||
background: var(--border-color);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.comfy-group-manage-node > div {
|
||||
overflow: auto;
|
||||
}
|
||||
.comfy-group-manage-node header {
|
||||
display: flex;
|
||||
background: var(--bg-color);
|
||||
height: 40px;
|
||||
}
|
||||
.comfy-group-manage-node header a {
|
||||
text-align: center;
|
||||
flex: auto;
|
||||
border-right: 1px solid var(--comfy-menu-bg);
|
||||
border-bottom: 1px solid var(--comfy-menu-bg);
|
||||
padding: 10px;
|
||||
cursor: pointer;
|
||||
font-size: 15px;
|
||||
}
|
||||
.comfy-group-manage-node header a:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
.comfy-group-manage-node header a:not(.active):hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.comfy-group-manage-node header a.active {
|
||||
background: var(--border-color);
|
||||
border-bottom: none;
|
||||
}
|
||||
.comfy-group-manage-node-page {
|
||||
display: none;
|
||||
overflow: auto;
|
||||
}
|
||||
.comfy-group-manage-node-page.active {
|
||||
display: block;
|
||||
}
|
||||
.comfy-group-manage-node-page div {
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.comfy-group-manage-node-page input {
|
||||
border: none;
|
||||
color: var(--input-text);
|
||||
background: var(--comfy-input-bg);
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.comfy-group-manage-node-page input[type="text"] {
|
||||
flex: auto;
|
||||
}
|
||||
.comfy-group-manage-node-page label {
|
||||
display: flex;
|
||||
gap: 5px;
|
||||
align-items: center;
|
||||
}
|
||||
.comfy-group-manage footer {
|
||||
border-top: 1px solid var(--comfy-menu-bg);
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
}
|
||||
.comfy-group-manage footer button {
|
||||
font-size: 14px;
|
||||
padding: 5px 10px;
|
||||
border-radius: 0;
|
||||
}
|
||||
.comfy-group-manage footer button:first-child {
|
||||
margin-right: auto;
|
||||
}
|
||||
166
comfy/web/assets/index-B8O-6_L7.css
generated
vendored
Normal file
166
comfy/web/assets/index-B8O-6_L7.css
generated
vendored
Normal file
@ -0,0 +1,166 @@
|
||||
.comfy-group-manage {
|
||||
background: var(--bg-color);
|
||||
color: var(--fg-color);
|
||||
padding: 0;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-color: black;
|
||||
margin: 20vh auto;
|
||||
max-height: 60vh;
|
||||
}
|
||||
.comfy-group-manage-outer {
|
||||
max-height: 60vh;
|
||||
min-width: 500px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.comfy-group-manage-outer > header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
justify-content: space-between;
|
||||
background: var(--comfy-menu-bg);
|
||||
padding: 15px 20px;
|
||||
}
|
||||
.comfy-group-manage-outer > header select {
|
||||
background: var(--comfy-input-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--input-text);
|
||||
padding: 5px 10px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.comfy-group-manage h2 {
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
.comfy-group-manage main {
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
}
|
||||
.comfy-group-manage .drag-handle {
|
||||
font-weight: bold;
|
||||
}
|
||||
.comfy-group-manage-list {
|
||||
border-right: 1px solid var(--comfy-menu-bg);
|
||||
}
|
||||
.comfy-group-manage-list ul {
|
||||
margin: 40px 0 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.comfy-group-manage-list-items {
|
||||
max-height: calc(100% - 40px);
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
.comfy-group-manage-list li {
|
||||
display: flex;
|
||||
padding: 10px 20px 10px 10px;
|
||||
cursor: pointer;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
}
|
||||
.comfy-group-manage-list div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.comfy-group-manage-list li:not(.selected):hover div {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.comfy-group-manage-list li.selected {
|
||||
background: var(--border-color);
|
||||
}
|
||||
.comfy-group-manage-list li span {
|
||||
opacity: 0.7;
|
||||
font-size: smaller;
|
||||
}
|
||||
.comfy-group-manage-node {
|
||||
flex: auto;
|
||||
background: var(--border-color);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.comfy-group-manage-node > div {
|
||||
overflow: auto;
|
||||
}
|
||||
.comfy-group-manage-node header {
|
||||
display: flex;
|
||||
background: var(--bg-color);
|
||||
height: 40px;
|
||||
}
|
||||
.comfy-group-manage-node header a {
|
||||
text-align: center;
|
||||
flex: auto;
|
||||
border-right: 1px solid var(--comfy-menu-bg);
|
||||
border-bottom: 1px solid var(--comfy-menu-bg);
|
||||
padding: 10px;
|
||||
cursor: pointer;
|
||||
font-size: 15px;
|
||||
}
|
||||
.comfy-group-manage-node header a:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
.comfy-group-manage-node header a:not(.active):hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.comfy-group-manage-node header a.active {
|
||||
background: var(--border-color);
|
||||
border-bottom: none;
|
||||
}
|
||||
.comfy-group-manage-node-page {
|
||||
display: none;
|
||||
overflow: auto;
|
||||
}
|
||||
.comfy-group-manage-node-page.active {
|
||||
display: block;
|
||||
}
|
||||
.comfy-group-manage-node-page div {
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.comfy-group-manage-node-page input {
|
||||
border: none;
|
||||
color: var(--input-text);
|
||||
background: var(--comfy-input-bg);
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.comfy-group-manage-node-page input[type="text"] {
|
||||
flex: auto;
|
||||
}
|
||||
.comfy-group-manage-node-page label {
|
||||
display: flex;
|
||||
gap: 5px;
|
||||
align-items: center;
|
||||
}
|
||||
.comfy-group-manage footer {
|
||||
border-top: 1px solid var(--comfy-menu-bg);
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
}
|
||||
.comfy-group-manage footer button {
|
||||
font-size: 14px;
|
||||
padding: 5px 10px;
|
||||
border-radius: 0;
|
||||
}
|
||||
.comfy-group-manage footer button:first-child {
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.spinner[data-v-852efd73] {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border: 4px solid #f3f3f3;
|
||||
border-top: 4px solid #3498db;
|
||||
border-radius: 50%;
|
||||
animation: spin-852efd73 1s linear infinite;
|
||||
}
|
||||
@keyframes spin-852efd73 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
4
comfy/web/assets/index-DC_-jkme.js → comfy/web/assets/index-BKScv1mm.js
generated
vendored
4
comfy/web/assets/index-DC_-jkme.js → comfy/web/assets/index-BKScv1mm.js
generated
vendored
@ -1,6 +1,6 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true });
|
||||
import { bt as BaseStyle, bu as script$6, o as openBlock, f as createElementBlock, as as mergeProps, cD as findIndexInList, b$ as find, bD as resolveComponent, y as createBlock, C as resolveDynamicComponent, z as withCtx, m as createBaseVNode, E as toDisplayString, A as renderSlot, B as createCommentVNode, ai as normalizeClass, bI as findSingle, F as Fragment, bE as Transition, i as withDirectives, v as vShow, bN as UniqueComponentId } from "./index-BsGgXmrT.js";
|
||||
import { ce as BaseStyle, cf as script$6, o as openBlock, f as createElementBlock, aE as mergeProps, dk as findIndexInList, cD as find, co as resolveComponent, y as createBlock, C as resolveDynamicComponent, z as withCtx, m as createBaseVNode, E as toDisplayString, A as renderSlot, B as createCommentVNode, Z as normalizeClass, cg as findSingle, F as Fragment, c8 as Transition, i as withDirectives, v as vShow, cm as UniqueComponentId } from "./index-DIgj6hpb.js";
|
||||
var classes$4 = {
|
||||
root: /* @__PURE__ */ __name(function root(_ref) {
|
||||
var instance = _ref.instance;
|
||||
@ -536,4 +536,4 @@ export {
|
||||
script as d,
|
||||
script$4 as s
|
||||
};
|
||||
//# sourceMappingURL=index-DC_-jkme.js.map
|
||||
//# sourceMappingURL=index-BKScv1mm.js.map
|
||||
2
comfy/web/assets/index-DC_-jkme.js.map → comfy/web/assets/index-BKScv1mm.js.map
generated
vendored
2
comfy/web/assets/index-DC_-jkme.js.map → comfy/web/assets/index-BKScv1mm.js.map
generated
vendored
File diff suppressed because one or more lines are too long
1
comfy/web/assets/index-B_FV7r80.js.map
generated
vendored
1
comfy/web/assets/index-B_FV7r80.js.map
generated
vendored
File diff suppressed because one or more lines are too long
4
comfy/web/assets/index-A_bXPJCN.js → comfy/web/assets/index-CE2hpomb.js
generated
vendored
4
comfy/web/assets/index-A_bXPJCN.js → comfy/web/assets/index-CE2hpomb.js
generated
vendored
@ -1,6 +1,6 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
import { bG as BaseStyle, bX as script$5, o as openBlock, f as createElementBlock, at as mergeProps, m as createBaseVNode, bH as script$6, cF as script$7, cG as script$8, cl as script$9, bO as Ripple, r as resolveDirective, y as createBlock, C as resolveDynamicComponent, F as Fragment, E as toDisplayString, cx as normalizeProps, i as withDirectives, B as createCommentVNode, dg as ToastEventBus, bZ as ZIndex, ci as isEmpty, c8 as setAttribute, ca as script$a, bR as resolveComponent, z as withCtx, k as createVNode, dh as TransitionGroup, D as renderList } from "./index-Bv0b06LE.js";
|
||||
import { ce as BaseStyle, cu as script$5, o as openBlock, f as createElementBlock, aE as mergeProps, m as createBaseVNode, cf as script$6, db as script$7, dc as script$8, cU as script$9, cl as Ripple, r as resolveDirective, y as createBlock, C as resolveDynamicComponent, F as Fragment, E as toDisplayString, d3 as normalizeProps, i as withDirectives, B as createCommentVNode, dG as ToastEventBus, cw as ZIndex, cR as isEmpty, cH as setAttribute, cJ as script$a, co as resolveComponent, z as withCtx, k as createVNode, dH as TransitionGroup, D as renderList } from "./index-DIgj6hpb.js";
|
||||
function _typeof$2(o) {
|
||||
"@babel/helpers - typeof";
|
||||
return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
|
||||
@ -615,4 +615,4 @@ export {
|
||||
script$4 as b,
|
||||
script as s
|
||||
};
|
||||
//# sourceMappingURL=index-A_bXPJCN.js.map
|
||||
//# sourceMappingURL=index-CE2hpomb.js.map
|
||||
1
comfy/web/assets/index-CE2hpomb.js.map
generated
vendored
Normal file
1
comfy/web/assets/index-CE2hpomb.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
392
comfy/web/assets/index-C_ACzX5-.js
generated
vendored
Normal file
392
comfy/web/assets/index-C_ACzX5-.js
generated
vendored
Normal file
@ -0,0 +1,392 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
import { ce as BaseStyle, cf as script$2, cw as ZIndex, cr as addClass, ci as focus, d4 as blockBodyScroll, d6 as unblockBodyScroll, d7 as FocusTrap, l as script$3, cJ as script$4, cU as script$5, co as resolveComponent, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, f as createElementBlock, aE as mergeProps, k as createVNode, c8 as Transition, i as withDirectives, A as renderSlot, F as Fragment, m as createBaseVNode, Z as normalizeClass, E as toDisplayString, B as createCommentVNode, C as resolveDynamicComponent } from "./index-DIgj6hpb.js";
|
||||
var theme = /* @__PURE__ */ __name(function theme2(_ref) {
|
||||
var dt = _ref.dt;
|
||||
return "\n.p-drawer {\n display: flex;\n flex-direction: column;\n transform: translate3d(0px, 0px, 0px);\n position: relative;\n transition: transform 0.3s;\n background: ".concat(dt("drawer.background"), ";\n color: ").concat(dt("drawer.color"), ";\n border: 1px solid ").concat(dt("drawer.border.color"), ";\n box-shadow: ").concat(dt("drawer.shadow"), ";\n}\n\n.p-drawer-content {\n overflow-y: auto;\n flex-grow: 1;\n padding: ").concat(dt("drawer.content.padding"), ";\n}\n\n.p-drawer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n padding: ").concat(dt("drawer.header.padding"), ";\n}\n\n.p-drawer-footer {\n padding: ").concat(dt("drawer.footer.padding"), ";\n}\n\n.p-drawer-title {\n font-weight: ").concat(dt("drawer.title.font.weight"), ";\n font-size: ").concat(dt("drawer.title.font.size"), ";\n}\n\n.p-drawer-full .p-drawer {\n transition: none;\n transform: none;\n width: 100vw !important;\n height: 100vh !important;\n max-height: 100%;\n top: 0px !important;\n left: 0px !important;\n border-width: 1px;\n}\n\n.p-drawer-left .p-drawer-enter-from,\n.p-drawer-left .p-drawer-leave-to {\n transform: translateX(-100%);\n}\n\n.p-drawer-right .p-drawer-enter-from,\n.p-drawer-right .p-drawer-leave-to {\n transform: translateX(100%);\n}\n\n.p-drawer-top .p-drawer-enter-from,\n.p-drawer-top .p-drawer-leave-to {\n transform: translateY(-100%);\n}\n\n.p-drawer-bottom .p-drawer-enter-from,\n.p-drawer-bottom .p-drawer-leave-to {\n transform: translateY(100%);\n}\n\n.p-drawer-full .p-drawer-enter-from,\n.p-drawer-full .p-drawer-leave-to {\n opacity: 0;\n}\n\n.p-drawer-full .p-drawer-enter-active,\n.p-drawer-full .p-drawer-leave-active {\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n\n.p-drawer-left .p-drawer {\n width: 20rem;\n height: 100%;\n border-inline-end-width: 1px;\n}\n\n.p-drawer-right .p-drawer {\n width: 20rem;\n height: 100%;\n border-inline-start-width: 1px;\n}\n\n.p-drawer-top .p-drawer {\n height: 10rem;\n width: 100%;\n border-block-end-width: 1px;\n}\n\n.p-drawer-bottom .p-drawer {\n height: 10rem;\n width: 100%;\n border-block-start-width: 1px;\n}\n\n.p-drawer-left .p-drawer-content,\n.p-drawer-right .p-drawer-content,\n.p-drawer-top .p-drawer-content,\n.p-drawer-bottom .p-drawer-content {\n width: 100%;\n height: 100%;\n}\n\n.p-drawer-open {\n display: flex;\n}\n\n.p-drawer-mask:dir(rtl) {\n flex-direction: row-reverse;\n}\n");
|
||||
}, "theme");
|
||||
var inlineStyles = {
|
||||
mask: /* @__PURE__ */ __name(function mask(_ref2) {
|
||||
var position = _ref2.position, modal = _ref2.modal;
|
||||
return {
|
||||
position: "fixed",
|
||||
height: "100%",
|
||||
width: "100%",
|
||||
left: 0,
|
||||
top: 0,
|
||||
display: "flex",
|
||||
justifyContent: position === "left" ? "flex-start" : position === "right" ? "flex-end" : "center",
|
||||
alignItems: position === "top" ? "flex-start" : position === "bottom" ? "flex-end" : "center",
|
||||
pointerEvents: modal ? "auto" : "none"
|
||||
};
|
||||
}, "mask"),
|
||||
root: {
|
||||
pointerEvents: "auto"
|
||||
}
|
||||
};
|
||||
var classes = {
|
||||
mask: /* @__PURE__ */ __name(function mask2(_ref3) {
|
||||
var instance = _ref3.instance, props = _ref3.props;
|
||||
var positions = ["left", "right", "top", "bottom"];
|
||||
var pos = positions.find(function(item) {
|
||||
return item === props.position;
|
||||
});
|
||||
return ["p-drawer-mask", {
|
||||
"p-overlay-mask p-overlay-mask-enter": props.modal,
|
||||
"p-drawer-open": instance.containerVisible,
|
||||
"p-drawer-full": instance.fullScreen
|
||||
}, pos ? "p-drawer-".concat(pos) : ""];
|
||||
}, "mask"),
|
||||
root: /* @__PURE__ */ __name(function root(_ref4) {
|
||||
var instance = _ref4.instance;
|
||||
return ["p-drawer p-component", {
|
||||
"p-drawer-full": instance.fullScreen
|
||||
}];
|
||||
}, "root"),
|
||||
header: "p-drawer-header",
|
||||
title: "p-drawer-title",
|
||||
pcCloseButton: "p-drawer-close-button",
|
||||
content: "p-drawer-content",
|
||||
footer: "p-drawer-footer"
|
||||
};
|
||||
var DrawerStyle = BaseStyle.extend({
|
||||
name: "drawer",
|
||||
theme,
|
||||
classes,
|
||||
inlineStyles
|
||||
});
|
||||
var script$1 = {
|
||||
name: "BaseDrawer",
|
||||
"extends": script$2,
|
||||
props: {
|
||||
visible: {
|
||||
type: Boolean,
|
||||
"default": false
|
||||
},
|
||||
position: {
|
||||
type: String,
|
||||
"default": "left"
|
||||
},
|
||||
header: {
|
||||
type: null,
|
||||
"default": null
|
||||
},
|
||||
baseZIndex: {
|
||||
type: Number,
|
||||
"default": 0
|
||||
},
|
||||
autoZIndex: {
|
||||
type: Boolean,
|
||||
"default": true
|
||||
},
|
||||
dismissable: {
|
||||
type: Boolean,
|
||||
"default": true
|
||||
},
|
||||
showCloseIcon: {
|
||||
type: Boolean,
|
||||
"default": true
|
||||
},
|
||||
closeButtonProps: {
|
||||
type: Object,
|
||||
"default": /* @__PURE__ */ __name(function _default() {
|
||||
return {
|
||||
severity: "secondary",
|
||||
text: true,
|
||||
rounded: true
|
||||
};
|
||||
}, "_default")
|
||||
},
|
||||
closeIcon: {
|
||||
type: String,
|
||||
"default": void 0
|
||||
},
|
||||
modal: {
|
||||
type: Boolean,
|
||||
"default": true
|
||||
},
|
||||
blockScroll: {
|
||||
type: Boolean,
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
style: DrawerStyle,
|
||||
provide: /* @__PURE__ */ __name(function provide() {
|
||||
return {
|
||||
$pcDrawer: this,
|
||||
$parentInstance: this
|
||||
};
|
||||
}, "provide")
|
||||
};
|
||||
var script = {
|
||||
name: "Drawer",
|
||||
"extends": script$1,
|
||||
inheritAttrs: false,
|
||||
emits: ["update:visible", "show", "after-show", "hide", "after-hide"],
|
||||
data: /* @__PURE__ */ __name(function data() {
|
||||
return {
|
||||
containerVisible: this.visible
|
||||
};
|
||||
}, "data"),
|
||||
container: null,
|
||||
mask: null,
|
||||
content: null,
|
||||
headerContainer: null,
|
||||
footerContainer: null,
|
||||
closeButton: null,
|
||||
outsideClickListener: null,
|
||||
documentKeydownListener: null,
|
||||
watch: {
|
||||
dismissable: /* @__PURE__ */ __name(function dismissable(newValue) {
|
||||
if (newValue) {
|
||||
this.enableDocumentSettings();
|
||||
} else {
|
||||
this.disableDocumentSettings();
|
||||
}
|
||||
}, "dismissable")
|
||||
},
|
||||
updated: /* @__PURE__ */ __name(function updated() {
|
||||
if (this.visible) {
|
||||
this.containerVisible = this.visible;
|
||||
}
|
||||
}, "updated"),
|
||||
beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() {
|
||||
this.disableDocumentSettings();
|
||||
if (this.mask && this.autoZIndex) {
|
||||
ZIndex.clear(this.mask);
|
||||
}
|
||||
this.container = null;
|
||||
this.mask = null;
|
||||
}, "beforeUnmount"),
|
||||
methods: {
|
||||
hide: /* @__PURE__ */ __name(function hide() {
|
||||
this.$emit("update:visible", false);
|
||||
}, "hide"),
|
||||
onEnter: /* @__PURE__ */ __name(function onEnter() {
|
||||
this.$emit("show");
|
||||
this.focus();
|
||||
this.bindDocumentKeyDownListener();
|
||||
if (this.autoZIndex) {
|
||||
ZIndex.set("modal", this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);
|
||||
}
|
||||
}, "onEnter"),
|
||||
onAfterEnter: /* @__PURE__ */ __name(function onAfterEnter() {
|
||||
this.enableDocumentSettings();
|
||||
this.$emit("after-show");
|
||||
}, "onAfterEnter"),
|
||||
onBeforeLeave: /* @__PURE__ */ __name(function onBeforeLeave() {
|
||||
if (this.modal) {
|
||||
!this.isUnstyled && addClass(this.mask, "p-overlay-mask-leave");
|
||||
}
|
||||
}, "onBeforeLeave"),
|
||||
onLeave: /* @__PURE__ */ __name(function onLeave() {
|
||||
this.$emit("hide");
|
||||
}, "onLeave"),
|
||||
onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave() {
|
||||
if (this.autoZIndex) {
|
||||
ZIndex.clear(this.mask);
|
||||
}
|
||||
this.unbindDocumentKeyDownListener();
|
||||
this.containerVisible = false;
|
||||
this.disableDocumentSettings();
|
||||
this.$emit("after-hide");
|
||||
}, "onAfterLeave"),
|
||||
onMaskClick: /* @__PURE__ */ __name(function onMaskClick(event) {
|
||||
if (this.dismissable && this.modal && this.mask === event.target) {
|
||||
this.hide();
|
||||
}
|
||||
}, "onMaskClick"),
|
||||
focus: /* @__PURE__ */ __name(function focus$1() {
|
||||
var findFocusableElement = /* @__PURE__ */ __name(function findFocusableElement2(container) {
|
||||
return container && container.querySelector("[autofocus]");
|
||||
}, "findFocusableElement");
|
||||
var focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);
|
||||
if (!focusTarget) {
|
||||
focusTarget = this.$slots["default"] && findFocusableElement(this.container);
|
||||
if (!focusTarget) {
|
||||
focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);
|
||||
if (!focusTarget) {
|
||||
focusTarget = this.closeButton;
|
||||
}
|
||||
}
|
||||
}
|
||||
focusTarget && focus(focusTarget);
|
||||
}, "focus$1"),
|
||||
enableDocumentSettings: /* @__PURE__ */ __name(function enableDocumentSettings() {
|
||||
if (this.dismissable && !this.modal) {
|
||||
this.bindOutsideClickListener();
|
||||
}
|
||||
if (this.blockScroll) {
|
||||
blockBodyScroll();
|
||||
}
|
||||
}, "enableDocumentSettings"),
|
||||
disableDocumentSettings: /* @__PURE__ */ __name(function disableDocumentSettings() {
|
||||
this.unbindOutsideClickListener();
|
||||
if (this.blockScroll) {
|
||||
unblockBodyScroll();
|
||||
}
|
||||
}, "disableDocumentSettings"),
|
||||
onKeydown: /* @__PURE__ */ __name(function onKeydown(event) {
|
||||
if (event.code === "Escape") {
|
||||
this.hide();
|
||||
}
|
||||
}, "onKeydown"),
|
||||
containerRef: /* @__PURE__ */ __name(function containerRef(el) {
|
||||
this.container = el;
|
||||
}, "containerRef"),
|
||||
maskRef: /* @__PURE__ */ __name(function maskRef(el) {
|
||||
this.mask = el;
|
||||
}, "maskRef"),
|
||||
contentRef: /* @__PURE__ */ __name(function contentRef(el) {
|
||||
this.content = el;
|
||||
}, "contentRef"),
|
||||
headerContainerRef: /* @__PURE__ */ __name(function headerContainerRef(el) {
|
||||
this.headerContainer = el;
|
||||
}, "headerContainerRef"),
|
||||
footerContainerRef: /* @__PURE__ */ __name(function footerContainerRef(el) {
|
||||
this.footerContainer = el;
|
||||
}, "footerContainerRef"),
|
||||
closeButtonRef: /* @__PURE__ */ __name(function closeButtonRef(el) {
|
||||
this.closeButton = el ? el.$el : void 0;
|
||||
}, "closeButtonRef"),
|
||||
bindDocumentKeyDownListener: /* @__PURE__ */ __name(function bindDocumentKeyDownListener() {
|
||||
if (!this.documentKeydownListener) {
|
||||
this.documentKeydownListener = this.onKeydown;
|
||||
document.addEventListener("keydown", this.documentKeydownListener);
|
||||
}
|
||||
}, "bindDocumentKeyDownListener"),
|
||||
unbindDocumentKeyDownListener: /* @__PURE__ */ __name(function unbindDocumentKeyDownListener() {
|
||||
if (this.documentKeydownListener) {
|
||||
document.removeEventListener("keydown", this.documentKeydownListener);
|
||||
this.documentKeydownListener = null;
|
||||
}
|
||||
}, "unbindDocumentKeyDownListener"),
|
||||
bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener() {
|
||||
var _this = this;
|
||||
if (!this.outsideClickListener) {
|
||||
this.outsideClickListener = function(event) {
|
||||
if (_this.isOutsideClicked(event)) {
|
||||
_this.hide();
|
||||
}
|
||||
};
|
||||
document.addEventListener("click", this.outsideClickListener);
|
||||
}
|
||||
}, "bindOutsideClickListener"),
|
||||
unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener() {
|
||||
if (this.outsideClickListener) {
|
||||
document.removeEventListener("click", this.outsideClickListener);
|
||||
this.outsideClickListener = null;
|
||||
}
|
||||
}, "unbindOutsideClickListener"),
|
||||
isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked(event) {
|
||||
return this.container && !this.container.contains(event.target);
|
||||
}, "isOutsideClicked")
|
||||
},
|
||||
computed: {
|
||||
fullScreen: /* @__PURE__ */ __name(function fullScreen() {
|
||||
return this.position === "full";
|
||||
}, "fullScreen"),
|
||||
closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel() {
|
||||
return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0;
|
||||
}, "closeAriaLabel")
|
||||
},
|
||||
directives: {
|
||||
focustrap: FocusTrap
|
||||
},
|
||||
components: {
|
||||
Button: script$3,
|
||||
Portal: script$4,
|
||||
TimesIcon: script$5
|
||||
}
|
||||
};
|
||||
var _hoisted_1 = ["aria-modal"];
|
||||
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
var _component_Button = resolveComponent("Button");
|
||||
var _component_Portal = resolveComponent("Portal");
|
||||
var _directive_focustrap = resolveDirective("focustrap");
|
||||
return openBlock(), createBlock(_component_Portal, null, {
|
||||
"default": withCtx(function() {
|
||||
return [$data.containerVisible ? (openBlock(), createElementBlock("div", mergeProps({
|
||||
key: 0,
|
||||
ref: $options.maskRef,
|
||||
onMousedown: _cache[0] || (_cache[0] = function() {
|
||||
return $options.onMaskClick && $options.onMaskClick.apply($options, arguments);
|
||||
}),
|
||||
"class": _ctx.cx("mask"),
|
||||
style: _ctx.sx("mask", true, {
|
||||
position: _ctx.position,
|
||||
modal: _ctx.modal
|
||||
})
|
||||
}, _ctx.ptm("mask")), [createVNode(Transition, mergeProps({
|
||||
name: "p-drawer",
|
||||
onEnter: $options.onEnter,
|
||||
onAfterEnter: $options.onAfterEnter,
|
||||
onBeforeLeave: $options.onBeforeLeave,
|
||||
onLeave: $options.onLeave,
|
||||
onAfterLeave: $options.onAfterLeave,
|
||||
appear: ""
|
||||
}, _ctx.ptm("transition")), {
|
||||
"default": withCtx(function() {
|
||||
return [_ctx.visible ? withDirectives((openBlock(), createElementBlock("div", mergeProps({
|
||||
key: 0,
|
||||
ref: $options.containerRef,
|
||||
"class": _ctx.cx("root"),
|
||||
style: _ctx.sx("root"),
|
||||
role: "complementary",
|
||||
"aria-modal": _ctx.modal
|
||||
}, _ctx.ptmi("root")), [_ctx.$slots.container ? renderSlot(_ctx.$slots, "container", {
|
||||
key: 0,
|
||||
closeCallback: $options.hide
|
||||
}) : (openBlock(), createElementBlock(Fragment, {
|
||||
key: 1
|
||||
}, [createBaseVNode("div", mergeProps({
|
||||
ref: $options.headerContainerRef,
|
||||
"class": _ctx.cx("header")
|
||||
}, _ctx.ptm("header")), [renderSlot(_ctx.$slots, "header", {
|
||||
"class": normalizeClass(_ctx.cx("title"))
|
||||
}, function() {
|
||||
return [_ctx.header ? (openBlock(), createElementBlock("div", mergeProps({
|
||||
key: 0,
|
||||
"class": _ctx.cx("title")
|
||||
}, _ctx.ptm("title")), toDisplayString(_ctx.header), 17)) : createCommentVNode("", true)];
|
||||
}), _ctx.showCloseIcon ? (openBlock(), createBlock(_component_Button, mergeProps({
|
||||
key: 0,
|
||||
ref: $options.closeButtonRef,
|
||||
type: "button",
|
||||
"class": _ctx.cx("pcCloseButton"),
|
||||
"aria-label": $options.closeAriaLabel,
|
||||
unstyled: _ctx.unstyled,
|
||||
onClick: $options.hide
|
||||
}, _ctx.closeButtonProps, {
|
||||
pt: _ctx.ptm("pcCloseButton"),
|
||||
"data-pc-group-section": "iconcontainer"
|
||||
}), {
|
||||
icon: withCtx(function(slotProps) {
|
||||
return [renderSlot(_ctx.$slots, "closeicon", {}, function() {
|
||||
return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.closeIcon ? "span" : "TimesIcon"), mergeProps({
|
||||
"class": [_ctx.closeIcon, slotProps["class"]]
|
||||
}, _ctx.ptm("pcCloseButton")["icon"]), null, 16, ["class"]))];
|
||||
})];
|
||||
}),
|
||||
_: 3
|
||||
}, 16, ["class", "aria-label", "unstyled", "onClick", "pt"])) : createCommentVNode("", true)], 16), createBaseVNode("div", mergeProps({
|
||||
ref: $options.contentRef,
|
||||
"class": _ctx.cx("content")
|
||||
}, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps({
|
||||
key: 0,
|
||||
ref: $options.footerContainerRef,
|
||||
"class": _ctx.cx("footer")
|
||||
}, _ctx.ptm("footer")), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true)], 64))], 16, _hoisted_1)), [[_directive_focustrap]]) : createCommentVNode("", true)];
|
||||
}),
|
||||
_: 3
|
||||
}, 16, ["onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"])], 16)) : createCommentVNode("", true)];
|
||||
}),
|
||||
_: 3
|
||||
});
|
||||
}
|
||||
__name(render, "render");
|
||||
script.render = render;
|
||||
export {
|
||||
script as s
|
||||
};
|
||||
//# sourceMappingURL=index-C_ACzX5-.js.map
|
||||
1
comfy/web/assets/index-C_ACzX5-.js.map
generated
vendored
Normal file
1
comfy/web/assets/index-C_ACzX5-.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
5558
comfy/web/assets/index-B36GcHVN.js → comfy/web/assets/index-CpICyVZm.js
generated
vendored
5558
comfy/web/assets/index-B36GcHVN.js → comfy/web/assets/index-CpICyVZm.js
generated
vendored
File diff suppressed because it is too large
Load Diff
1
comfy/web/assets/index-CpICyVZm.js.map
generated
vendored
Normal file
1
comfy/web/assets/index-CpICyVZm.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
15
comfy/web/assets/index-CgMyWf7n.js → comfy/web/assets/index-Czd3J-KM.js
generated
vendored
15
comfy/web/assets/index-CgMyWf7n.js → comfy/web/assets/index-Czd3J-KM.js
generated
vendored
@ -1,12 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-Br6dw1F6.js
|
||||
import { bt as BaseStyle, bu as script$s, bT as script$t, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode, E as toDisplayString, bM as Ripple, r as resolveDirective, i as withDirectives, y as createBlock, C as resolveDynamicComponent, bi as script$u, bD as resolveComponent, ai as normalizeClass, ci as createSlots, z as withCtx, aU as script$v, c9 as script$w, F as Fragment, D as renderList, a7 as createTextVNode, c3 as setAttribute, cp as normalizeProps, A as renderSlot, B as createCommentVNode, bU as script$x, c8 as equals, cu as script$y, br as script$z, cy as getFirstFocusableElement, c2 as OverlayEventBus, cO as getVNodeProp, c6 as resolveFieldData, dl as invokeElementMethod, bJ as getAttribute, cP as getNextElementSibling, bZ as getOuterWidth, cQ as getPreviousElementSibling, l as script$A, bL as script$B, bO as script$C, bC as script$E, c7 as isNotEmpty, ar as withModifiers, c$ as getOuterHeight, bN as UniqueComponentId, cS as _default, bv as ZIndex, bx as focus, bV as addStyle, b_ as absolutePosition, bW as ConnectedOverlayScrollHandler, bX as isTouchDevice, dm as FilterOperator, bB as script$F, cm as script$G, bA as FocusTrap, k as createVNode, bE as Transition, bf as withKeys, c0 as getIndex, co as script$H, cR as isClickable, cT as clearSelection, c4 as localeComparator, ch as sort, cA as FilterService, df as FilterMatchMode, bI as findSingle, cD as findIndexInList, b$ as find, dn as exportCSV, cL as getOffset, cU as isRTL, dp as getHiddenElementOuterWidth, dq as getHiddenElementOuterHeight, dr as reorderArray, bQ as removeClass, bw as addClass, cc as isEmpty, cB as script$I, ce as script$J } from "./index-BsGgXmrT.js";
|
||||
import { s as script$D } from "./index-COyiXDAn.js";
|
||||
========
|
||||
import { bG as BaseStyle, bH as script$s, bX as script$t, o as openBlock, f as createElementBlock, at as mergeProps, m as createBaseVNode, E as toDisplayString, bO as Ripple, r as resolveDirective, i as withDirectives, y as createBlock, C as resolveDynamicComponent, bm as script$u, bR as resolveComponent, aj as normalizeClass, cp as createSlots, z as withCtx, aY as script$v, cf as script$w, F as Fragment, D as renderList, a8 as createTextVNode, c8 as setAttribute, cx as normalizeProps, A as renderSlot, B as createCommentVNode, bY as script$x, ce as equals, cF as script$y, bv as script$z, cJ as getFirstFocusableElement, c7 as OverlayEventBus, cZ as getVNodeProp, cc as resolveFieldData, dD as invokeElementMethod, bK as getAttribute, c_ as getNextElementSibling, c2 as getOuterWidth, c$ as getPreviousElementSibling, l as script$A, bN as script$B, bQ as script$C, cl as script$E, cd as isNotEmpty, as as withModifiers, da as getOuterHeight, bP as UniqueComponentId, d1 as _default, bZ as ZIndex, bL as focus, b_ as addStyle, c3 as absolutePosition, b$ as ConnectedOverlayScrollHandler, c0 as isTouchDevice, dE as FilterOperator, ca as script$F, ct as script$G, cB as FocusTrap, k as createVNode, bI as Transition, bj as withKeys, c5 as getIndex, cv as script$H, d0 as isClickable, d2 as clearSelection, c9 as localeComparator, co as sort, cL as FilterService, dx as FilterMatchMode, bJ as findSingle, cO as findIndexInList, c4 as find, dF as exportCSV, cW as getOffset, d3 as isRTL, dG as getHiddenElementOuterWidth, dH as getHiddenElementOuterHeight, dI as reorderArray, bT as removeClass, bU as addClass, ci as isEmpty, cM as script$I, ck as script$J } from "./index-Bv0b06LE.js";
|
||||
import { s as script$D } from "./index-Dzu9WL4p.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CgMyWf7n.js
|
||||
import { ce as BaseStyle, cf as script$s, cu as script$t, o as openBlock, f as createElementBlock, aE as mergeProps, m as createBaseVNode, E as toDisplayString, cl as Ripple, r as resolveDirective, i as withDirectives, y as createBlock, C as resolveDynamicComponent, bv as script$u, co as resolveComponent, Z as normalizeClass, cY as createSlots, z as withCtx, b6 as script$v, cO as script$w, F as Fragment, D as renderList, ak as createTextVNode, cH as setAttribute, d3 as normalizeProps, A as renderSlot, B as createCommentVNode, cv as script$x, cN as equals, db as script$y, bE as script$z, df as getFirstFocusableElement, cG as OverlayEventBus, dv as getVNodeProp, cL as resolveFieldData, dO as invokeElementMethod, ch as getAttribute, dw as getNextElementSibling, cB as getOuterWidth, dx as getPreviousElementSibling, l as script$A, ck as script$B, cn as script$C, cU as script$E, cM as isNotEmpty, aD as withModifiers, dD as getOuterHeight, cm as UniqueComponentId, dz as _default, cw as ZIndex, ci as focus, cx as addStyle, cC as absolutePosition, cy as ConnectedOverlayScrollHandler, cz as isTouchDevice, dP as FilterOperator, cJ as script$F, c$ as script$G, d7 as FocusTrap, k as createVNode, c8 as Transition, bs as withKeys, cE as getIndex, d1 as script$H, dy as isClickable, dA as clearSelection, cI as localeComparator, cX as sort, dh as FilterService, dI as FilterMatchMode, cg as findSingle, dk as findIndexInList, cD as find, dQ as exportCSV, ds as getOffset, dB as isRTL, dR as getHiddenElementOuterWidth, dS as getHiddenElementOuterHeight, dT as reorderArray, cq as removeClass, cr as addClass, cR as isEmpty, di as script$I, cT as script$J } from "./index-DIgj6hpb.js";
|
||||
import { s as script$D } from "./index-D8hjiWMw.js";
|
||||
var ColumnStyle = BaseStyle.extend({
|
||||
name: "column"
|
||||
});
|
||||
@ -8792,8 +8787,4 @@ export {
|
||||
script as h,
|
||||
script$l as s
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-Br6dw1F6.js
|
||||
//# sourceMappingURL=index-Br6dw1F6.js.map
|
||||
========
|
||||
//# sourceMappingURL=index-CgMyWf7n.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CgMyWf7n.js
|
||||
//# sourceMappingURL=index-Czd3J-KM.js.map
|
||||
2
comfy/web/assets/index-Br6dw1F6.js.map → comfy/web/assets/index-Czd3J-KM.js.map
generated
vendored
2
comfy/web/assets/index-Br6dw1F6.js.map → comfy/web/assets/index-Czd3J-KM.js.map
generated
vendored
File diff suppressed because one or more lines are too long
4
comfy/web/assets/index-COyiXDAn.js → comfy/web/assets/index-D8hjiWMw.js
generated
vendored
4
comfy/web/assets/index-COyiXDAn.js → comfy/web/assets/index-D8hjiWMw.js
generated
vendored
@ -1,6 +1,6 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
import { bT as script$1, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode } from "./index-BsGgXmrT.js";
|
||||
import { cu as script$1, o as openBlock, f as createElementBlock, aE as mergeProps, m as createBaseVNode } from "./index-DIgj6hpb.js";
|
||||
var script = {
|
||||
name: "BarsIcon",
|
||||
"extends": script$1
|
||||
@ -24,4 +24,4 @@ script.render = render;
|
||||
export {
|
||||
script as s
|
||||
};
|
||||
//# sourceMappingURL=index-COyiXDAn.js.map
|
||||
//# sourceMappingURL=index-D8hjiWMw.js.map
|
||||
2
comfy/web/assets/index-COyiXDAn.js.map → comfy/web/assets/index-D8hjiWMw.js.map
generated
vendored
2
comfy/web/assets/index-COyiXDAn.js.map → comfy/web/assets/index-D8hjiWMw.js.map
generated
vendored
@ -1 +1 @@
|
||||
{"version":3,"file":"index-COyiXDAn.js","sources":["../../../../../node_modules/@primevue/icons/bars/index.mjs"],"sourcesContent":["import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'BarsIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M13.3226 3.6129H0.677419C0.497757 3.6129 0.325452 3.54152 0.198411 3.41448C0.0713707 3.28744 0 3.11514 0 2.93548C0 2.75581 0.0713707 2.58351 0.198411 2.45647C0.325452 2.32943 0.497757 2.25806 0.677419 2.25806H13.3226C13.5022 2.25806 13.6745 2.32943 13.8016 2.45647C13.9286 2.58351 14 2.75581 14 2.93548C14 3.11514 13.9286 3.28744 13.8016 3.41448C13.6745 3.54152 13.5022 3.6129 13.3226 3.6129ZM13.3226 7.67741H0.677419C0.497757 7.67741 0.325452 7.60604 0.198411 7.479C0.0713707 7.35196 0 7.17965 0 6.99999C0 6.82033 0.0713707 6.64802 0.198411 6.52098C0.325452 6.39394 0.497757 6.32257 0.677419 6.32257H13.3226C13.5022 6.32257 13.6745 6.39394 13.8016 6.52098C13.9286 6.64802 14 6.82033 14 6.99999C14 7.17965 13.9286 7.35196 13.8016 7.479C13.6745 7.60604 13.5022 7.67741 13.3226 7.67741ZM0.677419 11.7419H13.3226C13.5022 11.7419 13.6745 11.6706 13.8016 11.5435C13.9286 11.4165 14 11.2442 14 11.0645C14 10.8848 13.9286 10.7125 13.8016 10.5855C13.6745 10.4585 13.5022 10.3871 13.3226 10.3871H0.677419C0.497757 10.3871 0.325452 10.4585 0.198411 10.5855C0.0713707 10.7125 0 10.8848 0 11.0645C0 11.2442 0.0713707 11.4165 0.198411 11.5435C0.325452 11.6706 0.497757 11.7419 0.677419 11.7419Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n"],"names":["BaseIcon","createElementVNode"],"mappings":";;;AAGG,IAAC,SAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWA;AACb;AAEA,SAAS,OAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,EACR,GAAE,KAAK,KAAK,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAACC,gBAAmB,QAAQ;AAAA,IACpE,aAAa;AAAA,IACb,aAAa;AAAA,IACb,GAAG;AAAA,IACH,MAAM;AAAA,EACP,GAAE,MAAM,EAAE,CAAC,IAAI,EAAE;AACpB;AAbS;AAeT,OAAO,SAAS;","x_google_ignoreList":[0]}
|
||||
{"version":3,"file":"index-D8hjiWMw.js","sources":["../../../../../node_modules/@primevue/icons/bars/index.mjs"],"sourcesContent":["import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'BarsIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M13.3226 3.6129H0.677419C0.497757 3.6129 0.325452 3.54152 0.198411 3.41448C0.0713707 3.28744 0 3.11514 0 2.93548C0 2.75581 0.0713707 2.58351 0.198411 2.45647C0.325452 2.32943 0.497757 2.25806 0.677419 2.25806H13.3226C13.5022 2.25806 13.6745 2.32943 13.8016 2.45647C13.9286 2.58351 14 2.75581 14 2.93548C14 3.11514 13.9286 3.28744 13.8016 3.41448C13.6745 3.54152 13.5022 3.6129 13.3226 3.6129ZM13.3226 7.67741H0.677419C0.497757 7.67741 0.325452 7.60604 0.198411 7.479C0.0713707 7.35196 0 7.17965 0 6.99999C0 6.82033 0.0713707 6.64802 0.198411 6.52098C0.325452 6.39394 0.497757 6.32257 0.677419 6.32257H13.3226C13.5022 6.32257 13.6745 6.39394 13.8016 6.52098C13.9286 6.64802 14 6.82033 14 6.99999C14 7.17965 13.9286 7.35196 13.8016 7.479C13.6745 7.60604 13.5022 7.67741 13.3226 7.67741ZM0.677419 11.7419H13.3226C13.5022 11.7419 13.6745 11.6706 13.8016 11.5435C13.9286 11.4165 14 11.2442 14 11.0645C14 10.8848 13.9286 10.7125 13.8016 10.5855C13.6745 10.4585 13.5022 10.3871 13.3226 10.3871H0.677419C0.497757 10.3871 0.325452 10.4585 0.198411 10.5855C0.0713707 10.7125 0 10.8848 0 11.0645C0 11.2442 0.0713707 11.4165 0.198411 11.5435C0.325452 11.6706 0.497757 11.7419 0.677419 11.7419Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n"],"names":["BaseIcon","createElementVNode"],"mappings":";;;AAGG,IAAC,SAAS;AAAA,EACX,MAAM;AAAA,EACN,WAAWA;AACb;AAEA,SAAS,OAAO,MAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC7D,SAAO,UAAW,GAAE,mBAAmB,OAAO,WAAW;AAAA,IACvD,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,EACR,GAAE,KAAK,KAAK,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAACC,gBAAmB,QAAQ;AAAA,IACpE,aAAa;AAAA,IACb,aAAa;AAAA,IACb,GAAG;AAAA,IACH,MAAM;AAAA,EACP,GAAE,MAAM,EAAE,CAAC,IAAI,EAAE;AACpB;AAbS;AAeT,OAAO,SAAS;","x_google_ignoreList":[0]}
|
||||
22862
comfy/web/assets/index-Bv0b06LE.js → comfy/web/assets/index-DIgj6hpb.js
generated
vendored
22862
comfy/web/assets/index-Bv0b06LE.js → comfy/web/assets/index-DIgj6hpb.js
generated
vendored
File diff suppressed because one or more lines are too long
2
comfy/web/assets/index-BsGgXmrT.js.map → comfy/web/assets/index-DIgj6hpb.js.map
generated
vendored
2
comfy/web/assets/index-BsGgXmrT.js.map → comfy/web/assets/index-DIgj6hpb.js.map
generated
vendored
File diff suppressed because one or more lines are too long
6
comfy/web/assets/index-C068lYT4.js → comfy/web/assets/index-DdgRmRKP.js
generated
vendored
6
comfy/web/assets/index-C068lYT4.js → comfy/web/assets/index-DdgRmRKP.js
generated
vendored
@ -1,7 +1,7 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
import { bG as BaseStyle, bH as script$c, cV as getWidth, d9 as getHeight, c2 as getOuterWidth, da as getOuterHeight, d3 as isRTL, cZ as getVNodeProp, db as isArray, o as openBlock, f as createElementBlock, at as mergeProps, F as Fragment, D as renderList, y as createBlock, C as resolveDynamicComponent, m as createBaseVNode, B as createCommentVNode, A as renderSlot, bK as getAttribute, bJ as findSingle, bL as focus, ce as equals, bO as Ripple, r as resolveDirective, i as withDirectives, z as withCtx, aj as normalizeClass, cW as getOffset, cb as script$d, bQ as script$e, cd as isNotEmpty, bY as script$f, bP as UniqueComponentId, bZ as ZIndex, cc as resolveFieldData, c7 as OverlayEventBus, ci as isEmpty, b_ as addStyle, c1 as relativePosition, c3 as absolutePosition, b$ as ConnectedOverlayScrollHandler, c0 as isTouchDevice, cj as findLastIndex, bk as script$g, cM as script$h, ca as script$i, bN as script$j, ck as script$k, a9 as script$l, bR as resolveComponent, n as normalizeStyle, k as createVNode, E as toDisplayString, bI as Transition, cp as createSlots, a8 as createTextVNode, cv as script$m, cr as resolve, dc as nestedPosition, cf as script$n, ch as isPrintableCharacter, l as script$o, cI as script$p, cx as normalizeProps, cC as guardReactiveProps } from "./index-Bv0b06LE.js";
|
||||
import { s as script$q } from "./index-Dzu9WL4p.js";
|
||||
import { ce as BaseStyle, cf as script$c, dr as getWidth, dC as getHeight, cB as getOuterWidth, dD as getOuterHeight, dB as isRTL, dv as getVNodeProp, dE as isArray, o as openBlock, f as createElementBlock, aE as mergeProps, F as Fragment, D as renderList, y as createBlock, C as resolveDynamicComponent, m as createBaseVNode, B as createCommentVNode, A as renderSlot, ch as getAttribute, cg as findSingle, ci as focus, cN as equals, cl as Ripple, r as resolveDirective, i as withDirectives, z as withCtx, Z as normalizeClass, ds as getOffset, cK as script$d, cn as script$e, cM as isNotEmpty, cv as script$f, cm as UniqueComponentId, cw as ZIndex, cL as resolveFieldData, cG as OverlayEventBus, cR as isEmpty, cx as addStyle, cA as relativePosition, cC as absolutePosition, cy as ConnectedOverlayScrollHandler, cz as isTouchDevice, cS as findLastIndex, bt as script$g, di as script$h, cJ as script$i, ck as script$j, cT as script$k, al as script$l, co as resolveComponent, n as normalizeStyle, k as createVNode, E as toDisplayString, c8 as Transition, cY as createSlots, ak as createTextVNode, d1 as script$m, c_ as resolve, dF as nestedPosition, cO as script$n, cQ as isPrintableCharacter, l as script$o, de as script$p, d3 as normalizeProps, d8 as guardReactiveProps } from "./index-DIgj6hpb.js";
|
||||
import { s as script$q } from "./index-D8hjiWMw.js";
|
||||
var theme$6 = /* @__PURE__ */ __name(function theme(_ref) {
|
||||
var dt = _ref.dt;
|
||||
return "\n.p-splitter {\n display: flex;\n flex-wrap: nowrap;\n border: 1px solid ".concat(dt("splitter.border.color"), ";\n background: ").concat(dt("splitter.background"), ";\n border-radius: ").concat(dt("border.radius.md"), ";\n color: ").concat(dt("splitter.color"), ";\n}\n\n.p-splitter-vertical {\n flex-direction: column;\n}\n\n.p-splitter-gutter {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n background: ").concat(dt("splitter.gutter.background"), ";\n}\n\n.p-splitter-gutter-handle {\n border-radius: ").concat(dt("splitter.handle.border.radius"), ";\n background: ").concat(dt("splitter.handle.background"), ";\n transition: outline-color ").concat(dt("splitter.transition.duration"), ", box-shadow ").concat(dt("splitter.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-splitter-gutter-handle:focus-visible {\n box-shadow: ").concat(dt("splitter.handle.focus.ring.shadow"), ";\n outline: ").concat(dt("splitter.handle.focus.ring.width"), " ").concat(dt("splitter.handle.focus.ring.style"), " ").concat(dt("splitter.handle.focus.ring.color"), ";\n outline-offset: ").concat(dt("splitter.handle.focus.ring.offset"), ";\n}\n\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n user-select: none;\n}\n\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n user-select: none;\n}\n\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: ").concat(dt("splitter.handle.size"), ";\n width: 100%;\n}\n\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: ").concat(dt("splitter.handle.size"), ";\n height: 100%;\n}\n\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n\n.p-splitterpanel {\n flex-grow: 1;\n overflow: hidden;\n}\n\n.p-splitterpanel-nested {\n display: flex;\n}\n\n.p-splitterpanel .p-splitter {\n flex-grow: 1;\n border: 0 none;\n}\n");
|
||||
@ -4990,4 +4990,4 @@ export {
|
||||
script as h,
|
||||
script$a as s
|
||||
};
|
||||
//# sourceMappingURL=index-C068lYT4.js.map
|
||||
//# sourceMappingURL=index-DdgRmRKP.js.map
|
||||
1
comfy/web/assets/index-DdgRmRKP.js.map
generated
vendored
Normal file
1
comfy/web/assets/index-DdgRmRKP.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
27
comfy/web/assets/index-Dzu9WL4p.js
generated
vendored
27
comfy/web/assets/index-Dzu9WL4p.js
generated
vendored
@ -1,27 +0,0 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
import { bX as script$1, o as openBlock, f as createElementBlock, at as mergeProps, m as createBaseVNode } from "./index-Bv0b06LE.js";
|
||||
var script = {
|
||||
name: "BarsIcon",
|
||||
"extends": script$1
|
||||
};
|
||||
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return openBlock(), createElementBlock("svg", mergeProps({
|
||||
width: "14",
|
||||
height: "14",
|
||||
viewBox: "0 0 14 14",
|
||||
fill: "none",
|
||||
xmlns: "http://www.w3.org/2000/svg"
|
||||
}, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", {
|
||||
"fill-rule": "evenodd",
|
||||
"clip-rule": "evenodd",
|
||||
d: "M13.3226 3.6129H0.677419C0.497757 3.6129 0.325452 3.54152 0.198411 3.41448C0.0713707 3.28744 0 3.11514 0 2.93548C0 2.75581 0.0713707 2.58351 0.198411 2.45647C0.325452 2.32943 0.497757 2.25806 0.677419 2.25806H13.3226C13.5022 2.25806 13.6745 2.32943 13.8016 2.45647C13.9286 2.58351 14 2.75581 14 2.93548C14 3.11514 13.9286 3.28744 13.8016 3.41448C13.6745 3.54152 13.5022 3.6129 13.3226 3.6129ZM13.3226 7.67741H0.677419C0.497757 7.67741 0.325452 7.60604 0.198411 7.479C0.0713707 7.35196 0 7.17965 0 6.99999C0 6.82033 0.0713707 6.64802 0.198411 6.52098C0.325452 6.39394 0.497757 6.32257 0.677419 6.32257H13.3226C13.5022 6.32257 13.6745 6.39394 13.8016 6.52098C13.9286 6.64802 14 6.82033 14 6.99999C14 7.17965 13.9286 7.35196 13.8016 7.479C13.6745 7.60604 13.5022 7.67741 13.3226 7.67741ZM0.677419 11.7419H13.3226C13.5022 11.7419 13.6745 11.6706 13.8016 11.5435C13.9286 11.4165 14 11.2442 14 11.0645C14 10.8848 13.9286 10.7125 13.8016 10.5855C13.6745 10.4585 13.5022 10.3871 13.3226 10.3871H0.677419C0.497757 10.3871 0.325452 10.4585 0.198411 10.5855C0.0713707 10.7125 0 10.8848 0 11.0645C0 11.2442 0.0713707 11.4165 0.198411 11.5435C0.325452 11.6706 0.497757 11.7419 0.677419 11.7419Z",
|
||||
fill: "currentColor"
|
||||
}, null, -1)]), 16);
|
||||
}
|
||||
__name(render, "render");
|
||||
script.render = render;
|
||||
export {
|
||||
script as s
|
||||
};
|
||||
//# sourceMappingURL=index-Dzu9WL4p.js.map
|
||||
196
comfy/web/assets/index-CBxvvAzM.css → comfy/web/assets/index-NNVvMeR_.css
generated
vendored
196
comfy/web/assets/index-CBxvvAzM.css → comfy/web/assets/index-NNVvMeR_.css
generated
vendored
@ -2039,12 +2039,12 @@
|
||||
.-right-4{
|
||||
right: -1rem;
|
||||
}
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-ChXzdVeQ.css
|
||||
========
|
||||
.-top-10{
|
||||
top: -2.5rem;
|
||||
}
|
||||
.bottom-0{
|
||||
bottom: 0px;
|
||||
}
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CBxvvAzM.css
|
||||
.bottom-\[10px\]{
|
||||
bottom: 10px;
|
||||
}
|
||||
@ -2072,8 +2072,8 @@
|
||||
.top-0{
|
||||
top: 0px;
|
||||
}
|
||||
.top-2{
|
||||
top: 0.5rem;
|
||||
.top-12{
|
||||
top: 3rem;
|
||||
}
|
||||
.top-\[50px\]{
|
||||
top: 50px;
|
||||
@ -2087,6 +2087,12 @@
|
||||
.z-20{
|
||||
z-index: 20;
|
||||
}
|
||||
.z-40{
|
||||
z-index: 40;
|
||||
}
|
||||
.z-50{
|
||||
z-index: 50;
|
||||
}
|
||||
.z-\[1000\]{
|
||||
z-index: 1000;
|
||||
}
|
||||
@ -2464,6 +2470,9 @@
|
||||
.items-center{
|
||||
align-items: center;
|
||||
}
|
||||
.justify-start{
|
||||
justify-content: flex-start;
|
||||
}
|
||||
.justify-end{
|
||||
justify-content: flex-end;
|
||||
}
|
||||
@ -2479,6 +2488,9 @@
|
||||
.justify-evenly{
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
.justify-items-center{
|
||||
justify-items: center;
|
||||
}
|
||||
.gap-0{
|
||||
gap: 0px;
|
||||
}
|
||||
@ -2538,6 +2550,9 @@
|
||||
.overflow-x-hidden{
|
||||
overflow-x: hidden;
|
||||
}
|
||||
.overflow-y-hidden{
|
||||
overflow-y: hidden;
|
||||
}
|
||||
.truncate{
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
@ -2564,6 +2579,9 @@
|
||||
.rounded-lg{
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
.rounded-md{
|
||||
border-radius: 0.375rem;
|
||||
}
|
||||
.rounded-none{
|
||||
border-radius: 0px;
|
||||
}
|
||||
@ -2577,6 +2595,9 @@
|
||||
.border-0{
|
||||
border-width: 0px;
|
||||
}
|
||||
.border-2{
|
||||
border-width: 2px;
|
||||
}
|
||||
.border-x-0{
|
||||
border-left-width: 0px;
|
||||
border-right-width: 0px;
|
||||
@ -2600,19 +2621,21 @@
|
||||
.border-solid{
|
||||
border-style: solid;
|
||||
}
|
||||
.border-dashed{
|
||||
border-style: dashed;
|
||||
}
|
||||
.border-hidden{
|
||||
border-style: hidden;
|
||||
}
|
||||
.border-none{
|
||||
border-style: none;
|
||||
}
|
||||
.border-\[var\(--border-color\)\]{
|
||||
border-color: var(--border-color);
|
||||
}
|
||||
.border-neutral-700{
|
||||
--tw-border-opacity: 1;
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-ChXzdVeQ.css
|
||||
border-color: rgb(64 64 64 / var(--tw-border-opacity, 1));
|
||||
========
|
||||
border-color: rgb(64 64 64 / var(--tw-border-opacity));
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CBxvvAzM.css
|
||||
}
|
||||
.bg-\[var\(--comfy-menu-bg\)\]{
|
||||
background-color: var(--comfy-menu-bg);
|
||||
@ -2632,6 +2655,14 @@
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(243 246 250 / var(--tw-bg-opacity, 1));
|
||||
}
|
||||
.bg-gray-600{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(113 128 150 / var(--tw-bg-opacity, 1));
|
||||
}
|
||||
.bg-gray-700{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(74 85 104 / var(--tw-bg-opacity, 1));
|
||||
}
|
||||
.bg-gray-800{
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(45 55 72 / var(--tw-bg-opacity, 1));
|
||||
@ -2667,6 +2698,9 @@
|
||||
.bg-transparent{
|
||||
background-color: transparent;
|
||||
}
|
||||
.bg-opacity-30{
|
||||
--tw-bg-opacity: 0.3;
|
||||
}
|
||||
.bg-opacity-50{
|
||||
--tw-bg-opacity: 0.5;
|
||||
}
|
||||
@ -2738,6 +2772,10 @@
|
||||
padding-top: 0.25rem;
|
||||
padding-bottom: 0.25rem;
|
||||
}
|
||||
.py-2{
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
.pb-0{
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
@ -2867,7 +2905,7 @@
|
||||
}
|
||||
.text-white{
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(255 255 255 / var(--tw-text-opacity));
|
||||
color: rgb(255 255 255 / var(--tw-text-opacity, 1));
|
||||
}
|
||||
.underline{
|
||||
text-decoration-line: underline;
|
||||
@ -3499,6 +3537,13 @@ dialog::backdrop {
|
||||
height: var(--comfy-img-preview-height);
|
||||
}
|
||||
|
||||
.comfy-img-preview video {
|
||||
-o-object-fit: contain;
|
||||
object-fit: contain;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.comfy-missing-nodes li button {
|
||||
font-size: 12px;
|
||||
margin-left: 5px;
|
||||
@ -3605,8 +3650,6 @@ audio.comfy-audio.empty-audio-widget {
|
||||
.hover\:opacity-100:hover{
|
||||
opacity: 1;
|
||||
}
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-ChXzdVeQ.css
|
||||
========
|
||||
@media (prefers-reduced-motion: no-preference){
|
||||
|
||||
.motion-safe\:w-0{
|
||||
@ -3637,7 +3680,6 @@ audio.comfy-audio.empty-audio-widget {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CBxvvAzM.css
|
||||
@media not all and (min-width: 640px){
|
||||
|
||||
.max-sm\:hidden{
|
||||
@ -3743,29 +3785,17 @@ audio.comfy-audio.empty-audio-widget {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-ChXzdVeQ.css
|
||||
.comfy-error-report[data-v-3faf7785] {
|
||||
========
|
||||
.comfy-error-report[data-v-e5000be2] {
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CBxvvAzM.css
|
||||
.comfy-error-report[data-v-dc563766] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
}
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-ChXzdVeQ.css
|
||||
.action-container[data-v-3faf7785] {
|
||||
========
|
||||
.action-container[data-v-e5000be2] {
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CBxvvAzM.css
|
||||
.action-container[data-v-dc563766] {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-ChXzdVeQ.css
|
||||
.wrapper-pre[data-v-3faf7785] {
|
||||
========
|
||||
.wrapper-pre[data-v-e5000be2] {
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CBxvvAzM.css
|
||||
.wrapper-pre[data-v-dc563766] {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
@ -3783,7 +3813,7 @@ audio.comfy-audio.empty-audio-widget {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.comfy-missing-models[data-v-f8d63775] {
|
||||
.comfy-missing-models[data-v-c7d4793b] {
|
||||
max-height: 300px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
@ -3834,15 +3864,6 @@ audio.comfy-audio.empty-audio-widget {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-ChXzdVeQ.css
|
||||
.form-input[data-v-1451da7b] .input-slider .p-inputnumber input,
|
||||
.form-input[data-v-1451da7b] .input-slider .slider-part {
|
||||
|
||||
width: 5rem
|
||||
}
|
||||
.form-input[data-v-1451da7b] .p-inputtext,
|
||||
.form-input[data-v-1451da7b] .p-select {
|
||||
========
|
||||
.form-input[data-v-a29c257f] .input-slider .p-inputnumber input,
|
||||
.form-input[data-v-a29c257f] .input-slider .slider-part {
|
||||
|
||||
@ -3850,16 +3871,15 @@ audio.comfy-audio.empty-audio-widget {
|
||||
}
|
||||
.form-input[data-v-a29c257f] .p-inputtext,
|
||||
.form-input[data-v-a29c257f] .p-select {
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CBxvvAzM.css
|
||||
|
||||
width: 11rem
|
||||
}
|
||||
|
||||
.settings-tab-panels {
|
||||
padding-top: 0px !important;
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
|
||||
.settings-container[data-v-2e21278f] {
|
||||
.settings-container[data-v-79b17329] {
|
||||
display: flex;
|
||||
height: 70vh;
|
||||
width: 60vw;
|
||||
@ -3867,25 +3887,25 @@ audio.comfy-audio.empty-audio-widget {
|
||||
overflow: hidden;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.settings-container[data-v-2e21278f] {
|
||||
.settings-container[data-v-79b17329] {
|
||||
flex-direction: column;
|
||||
height: auto;
|
||||
width: 80vw;
|
||||
}
|
||||
.settings-sidebar[data-v-2e21278f] {
|
||||
.settings-sidebar[data-v-79b17329] {
|
||||
width: 100%;
|
||||
}
|
||||
.settings-content[data-v-2e21278f] {
|
||||
.settings-content[data-v-79b17329] {
|
||||
height: 350px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Show a separator line above the Keybinding tab */
|
||||
/* This indicates the start of custom setting panels */
|
||||
.settings-sidebar[data-v-2e21278f] .p-listbox-option[aria-label='Keybinding'] {
|
||||
.settings-sidebar[data-v-79b17329] .p-listbox-option[aria-label='Keybinding'] {
|
||||
position: relative;
|
||||
}
|
||||
.settings-sidebar[data-v-2e21278f] .p-listbox-option[aria-label='Keybinding']::before {
|
||||
.settings-sidebar[data-v-79b17329] .p-listbox-option[aria-label='Keybinding']::before {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
@ -3903,15 +3923,12 @@ audio.comfy-audio.empty-audio-widget {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
.p-card[data-v-ffc83afa] {
|
||||
.p-card[data-v-3e2828a8] {
|
||||
--p-card-body-padding: 10px 0 0 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
[data-v-ffc83afa] .p-card-subtitle {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.carousel[data-v-d9962275] {
|
||||
.carousel[data-v-86d0eb05] {
|
||||
width: 66vw;
|
||||
}
|
||||
/**
|
||||
@ -4210,7 +4227,7 @@ audio.comfy-audio.empty-audio-widget {
|
||||
bottom: var(--bottom);
|
||||
z-index: 2000;
|
||||
max-height: calc(100vh - var(--limit) - 10px);
|
||||
box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.3);
|
||||
box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.comfyui-popup:not(.open) {
|
||||
@ -4462,7 +4479,6 @@ audio.comfy-audio.empty-audio-widget {
|
||||
bottom: 41px;
|
||||
}
|
||||
|
||||
|
||||
.editable-text[data-v-d670c40f] {
|
||||
display: inline;
|
||||
}
|
||||
@ -4492,11 +4508,7 @@ audio.comfy-audio.empty-audio-widget {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-ChXzdVeQ.css
|
||||
[data-v-243f3ee3] .tree-explorer-node-label {
|
||||
========
|
||||
[data-v-e3a237e6] .tree-explorer-node-label {
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CBxvvAzM.css
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -4509,17 +4521,10 @@ audio.comfy-audio.empty-audio-widget {
|
||||
* By setting the position to relative on the parent and using an absolutely positioned pseudo-element,
|
||||
* we can create a visual indicator for the drop target without affecting the layout of other elements.
|
||||
*/
|
||||
<<<<<<<< HEAD:comfy/web/assets/index-ChXzdVeQ.css
|
||||
[data-v-243f3ee3] .p-tree-node-content:has(.tree-folder) {
|
||||
position: relative;
|
||||
}
|
||||
[data-v-243f3ee3] .p-tree-node-content:has(.tree-folder.can-drop)::after {
|
||||
========
|
||||
[data-v-e3a237e6] .p-tree-node-content:has(.tree-folder) {
|
||||
position: relative;
|
||||
}
|
||||
[data-v-e3a237e6] .p-tree-node-content:has(.tree-folder.can-drop)::after {
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/index-CBxvvAzM.css
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@ -4602,15 +4607,15 @@ audio.comfy-audio.empty-audio-widget {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.model-lib-model-icon-container[data-v-b45ea43e] {
|
||||
.model-lib-model-icon-container[data-v-160e41a9] {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
left: 0;
|
||||
height: 1.5rem;
|
||||
vertical-align: top;
|
||||
width: 0px;
|
||||
width: 0;
|
||||
}
|
||||
.model-lib-model-icon[data-v-b45ea43e] {
|
||||
.model-lib-model-icon[data-v-160e41a9] {
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
display: inline-block;
|
||||
@ -4627,18 +4632,18 @@ audio.comfy-audio.empty-audio-widget {
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
.slot_row[data-v-d9792337] {
|
||||
.slot_row[data-v-1eb3b1db] {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
/* Original N-Sidebar styles */
|
||||
._sb_dot[data-v-d9792337] {
|
||||
._sb_dot[data-v-1eb3b1db] {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background-color: grey;
|
||||
}
|
||||
.node_header[data-v-d9792337] {
|
||||
.node_header[data-v-1eb3b1db] {
|
||||
line-height: 1;
|
||||
padding: 8px 13px 7px;
|
||||
margin-bottom: 5px;
|
||||
@ -4648,37 +4653,37 @@ audio.comfy-audio.empty-audio-widget {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.headdot[data-v-d9792337] {
|
||||
.headdot[data-v-1eb3b1db] {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
float: inline-start;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.IMAGE[data-v-d9792337] {
|
||||
.IMAGE[data-v-1eb3b1db] {
|
||||
background-color: #64b5f6;
|
||||
}
|
||||
.VAE[data-v-d9792337] {
|
||||
.VAE[data-v-1eb3b1db] {
|
||||
background-color: #ff6e6e;
|
||||
}
|
||||
.LATENT[data-v-d9792337] {
|
||||
.LATENT[data-v-1eb3b1db] {
|
||||
background-color: #ff9cf9;
|
||||
}
|
||||
.MASK[data-v-d9792337] {
|
||||
.MASK[data-v-1eb3b1db] {
|
||||
background-color: #81c784;
|
||||
}
|
||||
.CONDITIONING[data-v-d9792337] {
|
||||
.CONDITIONING[data-v-1eb3b1db] {
|
||||
background-color: #ffa931;
|
||||
}
|
||||
.CLIP[data-v-d9792337] {
|
||||
.CLIP[data-v-1eb3b1db] {
|
||||
background-color: #ffd500;
|
||||
}
|
||||
.MODEL[data-v-d9792337] {
|
||||
.MODEL[data-v-1eb3b1db] {
|
||||
background-color: #b39ddb;
|
||||
}
|
||||
.CONTROL_NET[data-v-d9792337] {
|
||||
.CONTROL_NET[data-v-1eb3b1db] {
|
||||
background-color: #a5d6a7;
|
||||
}
|
||||
._sb_node_preview[data-v-d9792337] {
|
||||
._sb_node_preview[data-v-1eb3b1db] {
|
||||
background-color: var(--comfy-menu-bg);
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
font-size: small;
|
||||
@ -4695,7 +4700,7 @@ audio.comfy-audio.empty-audio-widget {
|
||||
font-size: 12px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
._sb_node_preview ._sb_description[data-v-d9792337] {
|
||||
._sb_node_preview ._sb_description[data-v-1eb3b1db] {
|
||||
margin: 10px;
|
||||
padding: 6px;
|
||||
background: var(--border-color);
|
||||
@ -4705,7 +4710,7 @@ audio.comfy-audio.empty-audio-widget {
|
||||
font-size: 0.9rem;
|
||||
word-break: break-word;
|
||||
}
|
||||
._sb_table[data-v-d9792337] {
|
||||
._sb_table[data-v-1eb3b1db] {
|
||||
display: grid;
|
||||
|
||||
grid-column-gap: 10px;
|
||||
@ -4713,7 +4718,7 @@ audio.comfy-audio.empty-audio-widget {
|
||||
width: 100%;
|
||||
/* Imposta la larghezza della tabella al 100% del contenitore */
|
||||
}
|
||||
._sb_row[data-v-d9792337] {
|
||||
._sb_row[data-v-1eb3b1db] {
|
||||
display: grid;
|
||||
grid-template-columns: 10px 1fr 1fr 1fr 10px;
|
||||
grid-column-gap: 10px;
|
||||
@ -4721,11 +4726,11 @@ audio.comfy-audio.empty-audio-widget {
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
._sb_row_string[data-v-d9792337] {
|
||||
._sb_row_string[data-v-1eb3b1db] {
|
||||
grid-template-columns: 10px 1fr 1fr 10fr 1fr;
|
||||
}
|
||||
._sb_col[data-v-d9792337] {
|
||||
border: 0px solid #000;
|
||||
._sb_col[data-v-1eb3b1db] {
|
||||
border: 0 solid #000;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
flex-direction: row-reverse;
|
||||
@ -4733,10 +4738,10 @@ audio.comfy-audio.empty-audio-widget {
|
||||
align-content: flex-start;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
._sb_inherit[data-v-d9792337] {
|
||||
._sb_inherit[data-v-1eb3b1db] {
|
||||
display: inherit;
|
||||
}
|
||||
._long_field[data-v-d9792337] {
|
||||
._long_field[data-v-1eb3b1db] {
|
||||
background: var(--bg-color);
|
||||
border: 2px solid var(--border-color);
|
||||
margin: 5px 5px 0 5px;
|
||||
@ -4744,10 +4749,10 @@ audio.comfy-audio.empty-audio-widget {
|
||||
line-height: 1.7;
|
||||
text-wrap: nowrap;
|
||||
}
|
||||
._sb_arrow[data-v-d9792337] {
|
||||
._sb_arrow[data-v-1eb3b1db] {
|
||||
color: var(--fg-color);
|
||||
}
|
||||
._sb_preview_badge[data-v-d9792337] {
|
||||
._sb_preview_badge[data-v-1eb3b1db] {
|
||||
text-align: center;
|
||||
background: var(--comfy-input-bg);
|
||||
font-weight: bold;
|
||||
@ -4784,22 +4789,17 @@ audio.comfy-audio.empty-audio-widget {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.p-selectbutton .p-button[data-v-bd06e12b] {
|
||||
.p-selectbutton .p-button[data-v-c4e8f1c8] {
|
||||
padding: 0.5rem;
|
||||
}
|
||||
.p-selectbutton .p-button .pi[data-v-bd06e12b] {
|
||||
.p-selectbutton .p-button .pi[data-v-c4e8f1c8] {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
.field[data-v-bd06e12b] {
|
||||
.field[data-v-c4e8f1c8] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
.color-picker-container[data-v-bd06e12b] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.scroll-container {
|
||||
&[data-v-ad33a347] {
|
||||
539
comfy/web/assets/index-SeIZOWJp.js
generated
vendored
539
comfy/web/assets/index-SeIZOWJp.js
generated
vendored
File diff suppressed because one or more lines are too long
1
comfy/web/assets/index-aXhlJPnT.js.map
generated
vendored
1
comfy/web/assets/index-aXhlJPnT.js.map
generated
vendored
File diff suppressed because one or more lines are too long
2454
comfy/web/assets/MaintenanceView-Bh8OZpgl.js → comfy/web/assets/index-mHcHTYAB.js
generated
vendored
2454
comfy/web/assets/MaintenanceView-Bh8OZpgl.js → comfy/web/assets/index-mHcHTYAB.js
generated
vendored
File diff suppressed because it is too large
Load Diff
1
comfy/web/assets/index-mHcHTYAB.js.map
generated
vendored
Normal file
1
comfy/web/assets/index-mHcHTYAB.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/keybindingService-DoUb2RT6.js
|
||||
import { an as useKeybindingStore, L as useCommandStore, a as useSettingStore, di as KeyComboImpl, dj as KeybindingImpl } from "./index-BsGgXmrT.js";
|
||||
========
|
||||
import { ao as useKeybindingStore, J as useCommandStore, a as useSettingStore, dA as KeyComboImpl, dB as KeybindingImpl } from "./index-Bv0b06LE.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/keybindingService-DyjX-nxF.js
|
||||
import { az as useKeybindingStore, J as useCommandStore, a as useSettingStore, dL as KeyComboImpl, dM as KeybindingImpl } from "./index-DIgj6hpb.js";
|
||||
const CORE_KEYBINDINGS = [
|
||||
{
|
||||
combo: {
|
||||
@ -251,8 +247,4 @@ const useKeybindingService = /* @__PURE__ */ __name(() => {
|
||||
export {
|
||||
useKeybindingService as u
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/keybindingService-DoUb2RT6.js
|
||||
//# sourceMappingURL=keybindingService-DoUb2RT6.js.map
|
||||
========
|
||||
//# sourceMappingURL=keybindingService-DyjX-nxF.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/keybindingService-DyjX-nxF.js
|
||||
//# sourceMappingURL=keybindingService-CqDMAs0_.js.map
|
||||
1
comfy/web/assets/keybindingService-CqDMAs0_.js.map
generated
vendored
Normal file
1
comfy/web/assets/keybindingService-CqDMAs0_.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
comfy/web/assets/keybindingService-DoUb2RT6.js.map
generated
vendored
1
comfy/web/assets/keybindingService-DoUb2RT6.js.map
generated
vendored
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
var __defProp = Object.defineProperty;
|
||||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||||
<<<<<<<< HEAD:comfy/web/assets/serverConfigStore-B9riwnSX.js
|
||||
import { I as defineStore, U as ref, c as computed } from "./index-BsGgXmrT.js";
|
||||
========
|
||||
import { a1 as defineStore, T as ref, c as computed } from "./index-Bv0b06LE.js";
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/serverConfigStore-D2Vr0L0h.js
|
||||
import { ad as defineStore, T as ref, c as computed } from "./index-DIgj6hpb.js";
|
||||
const useServerConfigStore = defineStore("serverConfig", () => {
|
||||
const serverConfigById = ref({});
|
||||
const serverConfigs = computed(() => {
|
||||
@ -91,8 +87,4 @@ const useServerConfigStore = defineStore("serverConfig", () => {
|
||||
export {
|
||||
useServerConfigStore as u
|
||||
};
|
||||
<<<<<<<< HEAD:comfy/web/assets/serverConfigStore-B9riwnSX.js
|
||||
//# sourceMappingURL=serverConfigStore-B9riwnSX.js.map
|
||||
========
|
||||
//# sourceMappingURL=serverConfigStore-D2Vr0L0h.js.map
|
||||
>>>>>>>> 96d891cb94d90f220e066cebad349887137f07a6:comfy/web/assets/serverConfigStore-D2Vr0L0h.js
|
||||
//# sourceMappingURL=serverConfigStore-3t3U367D.js.map
|
||||
File diff suppressed because one or more lines are too long
1
comfy/web/assets/uvMirrors-B-HKMf6X.js.map
generated
vendored
Normal file
1
comfy/web/assets/uvMirrors-B-HKMf6X.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"uvMirrors-B-HKMf6X.js","sources":["../../src/constants/uvMirrors.ts"],"sourcesContent":["export interface UVMirror {\n /**\n * The setting id defined for the mirror.\n */\n settingId: string\n /**\n * The default mirror to use.\n */\n mirror: string\n /**\n * The fallback mirror to use.\n */\n fallbackMirror: string\n /**\n * The path suffix to validate the mirror is reachable.\n */\n validationPathSuffix?: string\n}\n\nexport const PYTHON_MIRROR: UVMirror = {\n settingId: 'Comfy-Desktop.UV.PythonInstallMirror',\n mirror:\n 'https://github.com/astral-sh/python-build-standalone/releases/download',\n fallbackMirror:\n 'https://bgithub.xyz/astral-sh/python-build-standalone/releases/download',\n validationPathSuffix:\n '/20250115/cpython-3.10.16+20250115-aarch64-apple-darwin-debug-full.tar.zst.sha256'\n}\n\nexport const PYPI_MIRROR: UVMirror = {\n settingId: 'Comfy-Desktop.UV.PypiInstallMirror',\n mirror: 'https://pypi.org/simple/',\n fallbackMirror: 'https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple'\n}\n"],"names":[],"mappings":"AAmBO,MAAM,gBAA0B;AAAA,EACrC,WAAW;AAAA,EACX,QACE;AAAA,EACF,gBACE;AAAA,EACF,sBACE;AACJ;AAEO,MAAM,cAAwB;AAAA,EACnC,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,gBAAgB;AAClB;"}
|
||||
2
comfy/web/extensions/core/load3d/AnimationManager.js
vendored
Normal file
2
comfy/web/extensions/core/load3d/AnimationManager.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
// Shim for extensions\core\load3d\AnimationManager.ts
|
||||
export const AnimationManager = window.comfyAPI.AnimationManager.AnimationManager;
|
||||
2
comfy/web/extensions/core/load3d/CameraManager.js
vendored
Normal file
2
comfy/web/extensions/core/load3d/CameraManager.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
// Shim for extensions\core\load3d\CameraManager.ts
|
||||
export const CameraManager = window.comfyAPI.CameraManager.CameraManager;
|
||||
2
comfy/web/extensions/core/load3d/ControlsManager.js
vendored
Normal file
2
comfy/web/extensions/core/load3d/ControlsManager.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
// Shim for extensions\core\load3d\ControlsManager.ts
|
||||
export const ControlsManager = window.comfyAPI.ControlsManager.ControlsManager;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user