From 222f48c0f2d6e4c1da490ccc378bda26d6f9391a Mon Sep 17 00:00:00 2001 From: filtered <176114999+webfiltered@users.noreply.github.com> Date: Thu, 30 Jan 2025 00:06:28 +1100 Subject: [PATCH 01/78] Allow changing folder_paths.base_path via command line argument. (#6600) * Reimpl. CLI arg directly inside folder_paths. * Update tests to use CLI arg mocking. * Revert last-minute refactor. * Fix test state polution. --- comfy/cli_args.py | 9 +-- folder_paths.py | 10 ++- tests-unit/comfy_test/folder_path_test.py | 74 +++++++++++++++++++++-- 3 files changed, 83 insertions(+), 10 deletions(-) diff --git a/comfy/cli_args.py b/comfy/cli_args.py index 812798bf8..f31d59411 100644 --- a/comfy/cli_args.py +++ b/comfy/cli_args.py @@ -43,10 +43,11 @@ parser.add_argument("--tls-certfile", type=str, help="Path to TLS (SSL) certific parser.add_argument("--enable-cors-header", type=str, default=None, metavar="ORIGIN", nargs="?", const="*", help="Enable CORS (Cross-Origin Resource Sharing) with optional origin or allow all with default '*'.") parser.add_argument("--max-upload-size", type=float, default=100, help="Set the maximum upload size in MB.") +parser.add_argument("--base-directory", type=str, default=None, help="Set the ComfyUI base directory for models, custom_nodes, input, output, temp, and user directories.") parser.add_argument("--extra-model-paths-config", type=str, default=None, metavar="PATH", nargs='+', action='append', help="Load one or more extra_model_paths.yaml files.") -parser.add_argument("--output-directory", type=str, default=None, help="Set the ComfyUI output directory.") -parser.add_argument("--temp-directory", type=str, default=None, help="Set the ComfyUI temp directory (default is in the ComfyUI directory).") -parser.add_argument("--input-directory", type=str, default=None, help="Set the ComfyUI input directory.") +parser.add_argument("--output-directory", type=str, default=None, help="Set the ComfyUI output directory. Overrides --base-directory.") +parser.add_argument("--temp-directory", type=str, default=None, help="Set the ComfyUI temp directory (default is in the ComfyUI directory). Overrides --base-directory.") +parser.add_argument("--input-directory", type=str, default=None, help="Set the ComfyUI input directory. Overrides --base-directory.") parser.add_argument("--auto-launch", action="store_true", help="Automatically launch ComfyUI in the default browser.") parser.add_argument("--disable-auto-launch", action="store_true", help="Disable auto launching the browser.") parser.add_argument("--cuda-device", type=int, default=None, metavar="DEVICE_ID", help="Set the id of the cuda device this instance will use.") @@ -176,7 +177,7 @@ parser.add_argument( help="The local filesystem path to the directory where the frontend is located. Overrides --front-end-version.", ) -parser.add_argument("--user-directory", type=is_valid_directory, default=None, help="Set the ComfyUI user directory with an absolute path.") +parser.add_argument("--user-directory", type=is_valid_directory, default=None, help="Set the ComfyUI user directory with an absolute path. Overrides --base-directory.") if comfy.options.args_parsing: args = parser.parse_args() diff --git a/folder_paths.py b/folder_paths.py index 616a0d6a5..4344fb187 100644 --- a/folder_paths.py +++ b/folder_paths.py @@ -7,11 +7,19 @@ import logging from typing import Literal from collections.abc import Collection +from comfy.cli_args import args + supported_pt_extensions: set[str] = {'.ckpt', '.pt', '.bin', '.pth', '.safetensors', '.pkl', '.sft'} folder_names_and_paths: dict[str, tuple[list[str], set[str]]] = {} -base_path = os.path.dirname(os.path.realpath(__file__)) +# --base-directory - Resets all default paths configured in folder_paths with a new base path +if args.base_directory: + base_path = os.path.abspath(args.base_directory) + logging.info(f"Setting base directory to: {base_path}") +else: + base_path = os.path.dirname(os.path.realpath(__file__)) + models_dir = os.path.join(base_path, "models") folder_names_and_paths["checkpoints"] = ([os.path.join(models_dir, "checkpoints")], supported_pt_extensions) folder_names_and_paths["configs"] = ([os.path.join(models_dir, "configs")], [".yaml"]) diff --git a/tests-unit/comfy_test/folder_path_test.py b/tests-unit/comfy_test/folder_path_test.py index f8173cdcc..775e15c36 100644 --- a/tests-unit/comfy_test/folder_path_test.py +++ b/tests-unit/comfy_test/folder_path_test.py @@ -1,19 +1,23 @@ ### 🗻 This file is created through the spirit of Mount Fuji at its peak # TODO(yoland): clean up this after I get back down +import sys import pytest import os import tempfile from unittest.mock import patch +from importlib import reload import folder_paths +import comfy.cli_args +from comfy.options import enable_args_parsing +enable_args_parsing() + @pytest.fixture() def clear_folder_paths(): - # Clear the global dictionary before each test to ensure isolation - original = folder_paths.folder_names_and_paths.copy() - folder_paths.folder_names_and_paths.clear() + # Reload the module after each test to ensure isolation yield - folder_paths.folder_names_and_paths = original + reload(folder_paths) @pytest.fixture def temp_dir(): @@ -21,7 +25,21 @@ def temp_dir(): yield tmpdirname -def test_get_directory_by_type(): +@pytest.fixture +def set_base_dir(): + def _set_base_dir(base_dir): + # Mock CLI args + with patch.object(sys, 'argv', ["main.py", "--base-directory", base_dir]): + reload(comfy.cli_args) + reload(folder_paths) + yield _set_base_dir + # Reload the modules after each test to ensure isolation + with patch.object(sys, 'argv', ["main.py"]): + reload(comfy.cli_args) + reload(folder_paths) + + +def test_get_directory_by_type(clear_folder_paths): test_dir = "/test/dir" folder_paths.set_output_directory(test_dir) assert folder_paths.get_directory_by_type("output") == test_dir @@ -96,3 +114,49 @@ def test_get_save_image_path(temp_dir): assert counter == 1 assert subfolder == "" assert filename_prefix == "test" + + +def test_base_path_changes(set_base_dir): + test_dir = os.path.abspath("/test/dir") + set_base_dir(test_dir) + + assert folder_paths.base_path == test_dir + assert folder_paths.models_dir == os.path.join(test_dir, "models") + assert folder_paths.input_directory == os.path.join(test_dir, "input") + assert folder_paths.output_directory == os.path.join(test_dir, "output") + assert folder_paths.temp_directory == os.path.join(test_dir, "temp") + assert folder_paths.user_directory == os.path.join(test_dir, "user") + + assert os.path.join(test_dir, "custom_nodes") in folder_paths.get_folder_paths("custom_nodes") + + for name in ["checkpoints", "loras", "vae", "configs", "embeddings", "controlnet", "classifiers"]: + assert folder_paths.get_folder_paths(name)[0] == os.path.join(test_dir, "models", name) + + +def test_base_path_change_clears_old(set_base_dir): + test_dir = os.path.abspath("/test/dir") + set_base_dir(test_dir) + + assert len(folder_paths.get_folder_paths("custom_nodes")) == 1 + + single_model_paths = [ + "checkpoints", + "loras", + "vae", + "configs", + "clip_vision", + "style_models", + "diffusers", + "vae_approx", + "gligen", + "upscale_models", + "embeddings", + "hypernetworks", + "photomaker", + "classifiers", + ] + for name in single_model_paths: + assert len(folder_paths.get_folder_paths(name)) == 1 + + for name in ["controlnet", "diffusion_models", "text_encoders"]: + assert len(folder_paths.get_folder_paths(name)) == 2 From 6ff2e4d55002cca7ed836dfb39fdf0c82a7f615a Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 29 Jan 2025 08:08:01 -0500 Subject: [PATCH 02/78] Remove logging call added in last commit. This is called before the logging is set up so it messes up some things. --- folder_paths.py | 1 - 1 file changed, 1 deletion(-) diff --git a/folder_paths.py b/folder_paths.py index 4344fb187..3d8f61d4a 100644 --- a/folder_paths.py +++ b/folder_paths.py @@ -16,7 +16,6 @@ folder_names_and_paths: dict[str, tuple[list[str], set[str]]] = {} # --base-directory - Resets all default paths configured in folder_paths with a new base path if args.base_directory: base_path = os.path.abspath(args.base_directory) - logging.info(f"Setting base directory to: {base_path}") else: base_path = os.path.dirname(os.path.realpath(__file__)) From 537c27cbf3c68c1a6dbf8f4bad7a8ce29fccc6da Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 29 Jan 2025 08:13:33 -0500 Subject: [PATCH 03/78] Bump default cuda version in standalone package to 126. --- .github/workflows/stable-release.yml | 2 +- .github/workflows/windows_release_dependencies.yml | 2 +- .github/workflows/windows_release_package.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/stable-release.yml b/.github/workflows/stable-release.yml index 4a5ba58f6..9de458b1e 100644 --- a/.github/workflows/stable-release.yml +++ b/.github/workflows/stable-release.yml @@ -12,7 +12,7 @@ on: description: 'CUDA version' required: true type: string - default: "124" + default: "126" python_minor: description: 'Python minor version' required: true diff --git a/.github/workflows/windows_release_dependencies.yml b/.github/workflows/windows_release_dependencies.yml index 6c7937ae2..afbbb7afe 100644 --- a/.github/workflows/windows_release_dependencies.yml +++ b/.github/workflows/windows_release_dependencies.yml @@ -17,7 +17,7 @@ on: description: 'cuda version' required: true type: string - default: "124" + default: "126" python_minor: description: 'python minor version' diff --git a/.github/workflows/windows_release_package.yml b/.github/workflows/windows_release_package.yml index 24f928ee0..b68400177 100644 --- a/.github/workflows/windows_release_package.yml +++ b/.github/workflows/windows_release_package.yml @@ -7,7 +7,7 @@ on: description: 'cuda version' required: true type: string - default: "124" + default: "126" python_minor: description: 'python minor version' From f9230bd35750cc70b0189a052185d5bd9ba78302 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 29 Jan 2025 15:54:13 -0500 Subject: [PATCH 04/78] Update the python version in some workflows. --- .github/workflows/test-build.yml | 2 +- .github/workflows/test-unit.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 865e1ec25..419873ad8 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} diff --git a/.github/workflows/test-unit.yml b/.github/workflows/test-unit.yml index b3a4b4ea0..78c918031 100644 --- a/.github/workflows/test-unit.yml +++ b/.github/workflows/test-unit.yml @@ -18,7 +18,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: '3.12' - name: Install requirements run: | python -m pip install --upgrade pip From ef85058e977f886c88d4a30b819708b1168f39a4 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 29 Jan 2025 16:07:12 -0500 Subject: [PATCH 05/78] Bump ComfyUI version to v0.3.13 --- comfyui_version.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/comfyui_version.py b/comfyui_version.py index 411243f6c..ca3c0f581 100644 --- a/comfyui_version.py +++ b/comfyui_version.py @@ -1,3 +1,3 @@ # This file is automatically generated by the build process when version is # updated in pyproject.toml. -__version__ = "0.3.12" +__version__ = "0.3.13" diff --git a/pyproject.toml b/pyproject.toml index 0198d1b08..da2c43c00 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ComfyUI" -version = "0.3.12" +version = "0.3.13" readme = "README.md" license = { file = "LICENSE" } requires-python = ">=3.9" From 2f98c243603aaf461eda72b86e447c1b047623c2 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Thu, 30 Jan 2025 02:12:43 -0500 Subject: [PATCH 06/78] Update Readme with link to instruction for Nvidia 50 series. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ab589f4e0..311dbb294 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,8 @@ Simply download, extract with [7-Zip](https://7-zip.org) and run. Make sure you If you have trouble extracting it, right click the file -> properties -> unblock +If you have a 50 series Blackwell card like a 5090 or 5080 see [this discussion thread](https://github.com/comfyanonymous/ComfyUI/discussions/6643) + #### How do I share models between another UI and ComfyUI? See the [Config file](extra_model_paths.yaml.example) to set the search paths for models. In the standalone windows build you can find this file in the ComfyUI directory. Rename this file to extra_model_paths.yaml and edit it with your favorite text editor. @@ -186,7 +188,7 @@ Additional discussion and help can be found [here](https://github.com/comfyanony Nvidia users should install stable pytorch using this command: -```pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu124``` +```pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu126``` This is the command to install pytorch nightly instead which might have performance improvements: From 8d8dc9a262bfee9f7eb3a2fc381b79a69274f225 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Thu, 30 Jan 2025 06:49:52 -0500 Subject: [PATCH 07/78] Allow batch of different sigmas when noise scaling. --- comfy/model_sampling.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/comfy/model_sampling.py b/comfy/model_sampling.py index 4370516b9..ff27b09a8 100644 --- a/comfy/model_sampling.py +++ b/comfy/model_sampling.py @@ -31,6 +31,7 @@ class EPS: return model_input - model_output * sigma def noise_scaling(self, sigma, noise, latent_image, max_denoise=False): + sigma = sigma.view(sigma.shape[:1] + (1,) * (noise.ndim - 1)) if max_denoise: noise = noise * torch.sqrt(1.0 + sigma ** 2.0) else: @@ -61,9 +62,11 @@ class CONST: return model_input - model_output * sigma def noise_scaling(self, sigma, noise, latent_image, max_denoise=False): + sigma = sigma.view(sigma.shape[:1] + (1,) * (noise.ndim - 1)) return sigma * noise + (1.0 - sigma) * latent_image def inverse_noise_scaling(self, sigma, latent): + sigma = sigma.view(sigma.shape[:1] + (1,) * (latent.ndim - 1)) return latent / (1.0 - sigma) class ModelSamplingDiscrete(torch.nn.Module): From 541dc08547338e3476c4b11c2329df6da3f499e4 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Fri, 31 Jan 2025 08:35:48 -0500 Subject: [PATCH 08/78] Update Readme. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 311dbb294..84ac02eb3 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ To run it on services like paperspace, kaggle or colab you can use my [Jupyter N ## Manual Install (Windows, Linux) -Note that some dependencies do not yet support python 3.13 so using 3.12 is recommended. +python 3.13 is supported but using 3.12 is recommended because some custom nodes and their dependencies might not support it yet. Git clone this repo. @@ -154,7 +154,7 @@ Put your VAE in: models/vae ### AMD GPUs (Linux only) AMD users can install rocm and pytorch with pip if you don't have it already installed, this is the command to install the stable version: -```pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2``` +```pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2.4``` This is the command to install the nightly with ROCm 6.3 which might have some performance improvements: From 669e0497ea39c58fd2a3d4ae8cca92c9f8d3ca28 Mon Sep 17 00:00:00 2001 From: Comfy Org PR Bot Date: Sat, 1 Feb 2025 03:07:37 +0900 Subject: [PATCH 09/78] Update frontend to v1.8.12 (#6662) Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com> --- ...QMaVFP.js => BaseViewTemplate-Cof5Ihf_.js} | 9 +- ...6AjGZr.js => DesktopStartView-DTiwKLp6.js} | 6 +- ...PK_vYgU.js => DownloadGitView-At9xRwC5.js} | 6 +- ...3jWrm6Zi.js => ExtensionPanel-C_ZBlIyE.js} | 8 +- ...ew-CqZ3opAX.css => GraphView-CVCdiww1.css} | 12 +- web/assets/GraphView-DKrBTQLe.js | 4682 ++ web/assets/InstallView-By3hC1fC.js | 1319 - web/assets/InstallView-C6tMsokB.js | 945 + ...-CxhfFC8Y.css => InstallView-DbJ2cGfL.css} | 10 +- ...6O16W_1.js => KeybindingPanel-BbfXtVg1.js} | 13 +- web/assets/MaintenanceView-Bj5_Vr6o.css | 87 + web/assets/MaintenanceView-D3drnrFc.js | 26033 +++++++++ ...js => ManualConfigurationView-CtZMj_n_.js} | 7 +- ...u4nr.js => MetricsConsentView-Df03LOI_.js} | 8 +- ...8_xWgH.js => NotSupportedView-BRtvC5Gx.js} | 46 +- ...xQzi.css => NotSupportedView-RFx6eCkN.css} | 4 +- ...0HFlz.js => ServerConfigPanel-C2nrpEEV.js} | 28 +- ...8wfE1MS.js => ServerStartView-M5VckhgZ.js} | 7 +- ...CXmVKOeK.js => UserSelectView-DNnNy-AZ.js} | 33 +- ...ew-C8whKl15.js => WelcomeView-Nvn1jaCx.js} | 7 +- .../{index-je62U6DH.js => index-BPn8eYlx.js} | 983 +- ...raphView-CDDCHVO0.js => index-BWow9lpT.js} | 5268 +- web/assets/index-Bm1HvJhs.js | 539 + ...{index-Cf-n7v0V.css => index-C1Hb_Yo9.css} | 256 +- .../{index-DpF-ptbJ.js => index-CdHVC5qq.js} | 635 +- .../{index-QvfM__ze.js => index-CmVtQCAR.js} | 43895 +++++++++------- web/assets/index-I0brO37W.js | 27 + web/assets/index-Q1cQr26V.js | 29 - ...1En5n.js => keybindingService-CqSjCYw-.js} | 4 +- ...e3xlV.js => serverConfigStore-BUvaGcxp.js} | 4 +- web/assets/uvMirrors-B-HKMf6X.js | 16 + web/index.html | 4 +- web/templates/default.json | 6 +- 33 files changed, 59571 insertions(+), 25365 deletions(-) rename web/assets/{BaseViewTemplate-BhQMaVFP.js => BaseViewTemplate-Cof5Ihf_.js} (72%) rename web/assets/{DesktopStartView-le6AjGZr.js => DesktopStartView-DTiwKLp6.js} (63%) rename web/assets/{DownloadGitView-rPK_vYgU.js => DownloadGitView-At9xRwC5.js} (87%) rename web/assets/{ExtensionPanel-3jWrm6Zi.js => ExtensionPanel-C_ZBlIyE.js} (91%) rename web/assets/{GraphView-CqZ3opAX.css => GraphView-CVCdiww1.css} (96%) create mode 100644 web/assets/GraphView-DKrBTQLe.js delete mode 100644 web/assets/InstallView-By3hC1fC.js create mode 100644 web/assets/InstallView-C6tMsokB.js rename web/assets/{InstallView-CxhfFC8Y.css => InstallView-DbJ2cGfL.css} (93%) rename web/assets/{KeybindingPanel-D6O16W_1.js => KeybindingPanel-BbfXtVg1.js} (91%) create mode 100644 web/assets/MaintenanceView-Bj5_Vr6o.css create mode 100644 web/assets/MaintenanceView-D3drnrFc.js rename web/assets/{ManualConfigurationView-enyqGo0M.js => ManualConfigurationView-CtZMj_n_.js} (85%) rename web/assets/{MetricsConsentView-lSfLu4nr.js => MetricsConsentView-Df03LOI_.js} (87%) rename web/assets/{NotSupportedView-Vc8_xWgH.js => NotSupportedView-BRtvC5Gx.js} (64%) rename web/assets/{NotSupportedView-DQerxQzi.css => NotSupportedView-RFx6eCkN.css} (87%) rename web/assets/{ServerConfigPanel-B-w0HFlz.js => ServerConfigPanel-C2nrpEEV.js} (86%) rename web/assets/{ServerStartView-48wfE1MS.js => ServerStartView-M5VckhgZ.js} (85%) rename web/assets/{UserSelectView-CXmVKOeK.js => UserSelectView-DNnNy-AZ.js} (72%) rename web/assets/{WelcomeView-C8whKl15.js => WelcomeView-Nvn1jaCx.js} (73%) rename web/assets/{index-je62U6DH.js => index-BPn8eYlx.js} (98%) rename web/assets/{GraphView-CDDCHVO0.js => index-BWow9lpT.js} (51%) create mode 100644 web/assets/index-Bm1HvJhs.js rename web/assets/{index-Cf-n7v0V.css => index-C1Hb_Yo9.css} (95%) rename web/assets/{index-DpF-ptbJ.js => index-CdHVC5qq.js} (86%) rename web/assets/{index-QvfM__ze.js => index-CmVtQCAR.js} (90%) create mode 100644 web/assets/index-I0brO37W.js delete mode 100644 web/assets/index-Q1cQr26V.js rename web/assets/{keybindingService-Cak1En5n.js => keybindingService-CqSjCYw-.js} (96%) rename web/assets/{serverConfigStore-DCme3xlV.js => serverConfigStore-BUvaGcxp.js} (95%) create mode 100644 web/assets/uvMirrors-B-HKMf6X.js diff --git a/web/assets/BaseViewTemplate-BhQMaVFP.js b/web/assets/BaseViewTemplate-Cof5Ihf_.js similarity index 72% rename from web/assets/BaseViewTemplate-BhQMaVFP.js rename to web/assets/BaseViewTemplate-Cof5Ihf_.js index af2f3028c..592bb1129 100644 --- a/web/assets/BaseViewTemplate-BhQMaVFP.js +++ b/web/assets/BaseViewTemplate-Cof5Ihf_.js @@ -1,4 +1,4 @@ -import { d as defineComponent, ad as ref, t as onMounted, bT as isElectron, bV as electronAPI, af as nextTick, o as openBlock, f as createElementBlock, i as withDirectives, v as vShow, m as createBaseVNode, M as renderSlot, V as normalizeClass } from "./index-QvfM__ze.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-CmVtQCAR.js"; const _hoisted_1 = { class: "flex-grow w-full flex items-center justify-center overflow-auto" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "BaseViewTemplate", @@ -16,11 +16,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ symbolColor: "#171717" }; const topMenuRef = ref(null); - const isNativeWindow = ref(false); onMounted(async () => { if (isElectron()) { - const windowStyle = await electronAPI().Config.getWindowStyle(); - isNativeWindow.value = windowStyle === "custom"; await nextTick(); electronAPI().changeTheme({ ...props.dark ? darkTheme : lightTheme, @@ -39,7 +36,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ ref: topMenuRef, class: "app-drag w-full h-[var(--comfy-topbar-height)]" }, null, 512), [ - [vShow, isNativeWindow.value] + [vShow, unref(isNativeWindow)()] ]), createBaseVNode("div", _hoisted_1, [ renderSlot(_ctx.$slots, "default") @@ -51,4 +48,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as _ }; -//# sourceMappingURL=BaseViewTemplate-BhQMaVFP.js.map +//# sourceMappingURL=BaseViewTemplate-Cof5Ihf_.js.map diff --git a/web/assets/DesktopStartView-le6AjGZr.js b/web/assets/DesktopStartView-DTiwKLp6.js similarity index 63% rename from web/assets/DesktopStartView-le6AjGZr.js rename to web/assets/DesktopStartView-DTiwKLp6.js index 41a212f3a..bff52ac02 100644 --- a/web/assets/DesktopStartView-le6AjGZr.js +++ b/web/assets/DesktopStartView-DTiwKLp6.js @@ -1,5 +1,5 @@ -import { d as defineComponent, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, k as createVNode, j as unref, ch as script } from "./index-QvfM__ze.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; +import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, k as createVNode, j as unref, bz as script } from "./index-CmVtQCAR.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.js"; const _hoisted_1 = { class: "max-w-screen-sm w-screen p-8" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "DesktopStartView", @@ -19,4 +19,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=DesktopStartView-le6AjGZr.js.map +//# sourceMappingURL=DesktopStartView-DTiwKLp6.js.map diff --git a/web/assets/DownloadGitView-rPK_vYgU.js b/web/assets/DownloadGitView-At9xRwC5.js similarity index 87% rename from web/assets/DownloadGitView-rPK_vYgU.js rename to web/assets/DownloadGitView-At9xRwC5.js index c286da355..4a43918d5 100644 --- a/web/assets/DownloadGitView-rPK_vYgU.js +++ b/web/assets/DownloadGitView-At9xRwC5.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, k as createVNode, j as unref, l as script, c2 as useRouter } from "./index-QvfM__ze.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.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-CmVtQCAR.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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" }; @@ -55,4 +55,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=DownloadGitView-rPK_vYgU.js.map +//# sourceMappingURL=DownloadGitView-At9xRwC5.js.map diff --git a/web/assets/ExtensionPanel-3jWrm6Zi.js b/web/assets/ExtensionPanel-C_ZBlIyE.js similarity index 91% rename from web/assets/ExtensionPanel-3jWrm6Zi.js rename to web/assets/ExtensionPanel-C_ZBlIyE.js index 3c580dd1b..6d3034e06 100644 --- a/web/assets/ExtensionPanel-3jWrm6Zi.js +++ b/web/assets/ExtensionPanel-C_ZBlIyE.js @@ -1,8 +1,8 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, ad as ref, cu as FilterMatchMode, cz as useExtensionStore, a as useSettingStore, t as onMounted, c as computed, o as openBlock, J as createBlock, P as withCtx, k as createVNode, cv as SearchBox, j as unref, c6 as script, m as createBaseVNode, f as createElementBlock, I as renderList, Z as toDisplayString, aG as createTextVNode, H as Fragment, l as script$1, L as createCommentVNode, aK as script$3, b8 as script$4, cc as script$5, cw as _sfc_main$1 } from "./index-QvfM__ze.js"; -import { s as script$2, a as script$6 } from "./index-DpF-ptbJ.js"; -import "./index-Q1cQr26V.js"; +import { d as defineComponent, U as ref, dl as FilterMatchMode, dr as useExtensionStore, a as useSettingStore, p as onMounted, c as computed, o as openBlock, y as createBlock, z as withCtx, k as createVNode, dm 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, dn as _sfc_main$1 } from "./index-CmVtQCAR.js"; +import { g as script$2, h as script$6 } from "./index-CdHVC5qq.js"; +import "./index-I0brO37W.js"; const _hoisted_1 = { class: "flex justify-end" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "ExtensionPanel", @@ -179,4 +179,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ExtensionPanel-3jWrm6Zi.js.map +//# sourceMappingURL=ExtensionPanel-C_ZBlIyE.js.map diff --git a/web/assets/GraphView-CqZ3opAX.css b/web/assets/GraphView-CVCdiww1.css similarity index 96% rename from web/assets/GraphView-CqZ3opAX.css rename to web/assets/GraphView-CVCdiww1.css index f735c8386..765b2a0e7 100644 --- a/web/assets/GraphView-CqZ3opAX.css +++ b/web/assets/GraphView-CVCdiww1.css @@ -230,7 +230,7 @@ border-bottom-left-radius: 0; } -.comfyui-queue-button[data-v-e9044686] .p-splitbutton-dropdown { +.comfyui-queue-button[data-v-91a628af] .p-splitbutton-dropdown { border-top-right-radius: 0; border-bottom-right-radius: 0; } @@ -275,7 +275,7 @@ border-style: solid; } -.comfyui-menu[data-v-6e35440f] { +.comfyui-menu[data-v-929e7543] { width: 100vw; height: var(--comfy-topbar-height); background: var(--comfy-menu-bg); @@ -288,16 +288,16 @@ order: 0; grid-column: 1/-1; } -.comfyui-menu.dropzone[data-v-6e35440f] { +.comfyui-menu.dropzone[data-v-929e7543] { background: var(--p-highlight-background); } -.comfyui-menu.dropzone-active[data-v-6e35440f] { +.comfyui-menu.dropzone-active[data-v-929e7543] { background: var(--p-highlight-background-focus); } -[data-v-6e35440f] .p-menubar-item-label { +[data-v-929e7543] .p-menubar-item-label { line-height: revert; } -.comfyui-logo[data-v-6e35440f] { +.comfyui-logo[data-v-929e7543] { font-size: 1.2em; -webkit-user-select: none; -moz-user-select: none; diff --git a/web/assets/GraphView-DKrBTQLe.js b/web/assets/GraphView-DKrBTQLe.js new file mode 100644 index 000000000..495f54fe9 --- /dev/null +++ b/web/assets/GraphView-DKrBTQLe.js @@ -0,0 +1,4682 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script, m as createBaseVNode, n as normalizeStyle, _ as _export_sfc, p as onMounted, q as onBeforeUnmount, t as useSidebarTabStore, x as useBottomPanelStore, y as createBlock, z as withCtx, A as renderSlot, B as createCommentVNode, C as resolveDynamicComponent, F as Fragment, D as renderList, E as toDisplayString, G as script$5, H as markRaw, I as defineStore, J as shallowRef, K as useI18n, L as useCommandStore, M as LiteGraph, N as useColorPaletteStore, O as watch, P as useNodeDefStore, Q as BadgePosition, R as LGraphBadge, S as _, T as NodeBadgeMode, U as ref, V as useEventListener, W as nextTick, X as st, Y as normalizeI18nKey, Z as LGraphGroup, $ as LGraphNode, a0 as EditableText, a1 as useNodeFrequencyStore, a2 as useNodeBookmarkStore, a3 as highlightQuery, a4 as script$8, a5 as formatNumberWithSuffix, a6 as NodeSourceType, a7 as createTextVNode, a8 as script$9, a9 as NodePreview, aa as NodeSearchFilter, ab as script$a, ac as SearchFilterChip, ad as useLitegraphService, ae as storeToRefs, af as isRef, ag as toRaw, ah as LinkReleaseTriggerAction, ai as normalizeClass, aj as useUserStore, ak as useDialogStore, al as SettingDialogHeader, am as SettingDialogContent, an as useKeybindingStore, ao as Teleport, ap as usePragmaticDraggable, aq as usePragmaticDroppable, ar as withModifiers, as as mergeProps, at as useWorkflowService, au as useWorkflowBookmarkStore, av as script$c, aw as script$d, ax as script$e, ay as LinkMarkerShape, az as useModelToNodeStore, aA as ComfyNodeDefImpl, aB as ComfyModelDef, aC as LGraph, aD as LLink, aE as DragAndScale, aF as LGraphCanvas, aG as ContextMenu, aH as api, aI as getStorageValue, aJ as useModelStore, aK as setStorageValue, aL as CanvasPointer, aM as IS_CONTROL_WIDGET, aN as updateControlWidgetLabel, aO as useColorPaletteService, aP as ChangeTracker, aQ as i18n, aR as useToast, aS as useToastStore, aT as useQueueSettingsStore, aU as script$g, aV as useQueuePendingTaskCountStore, aW as useLocalStorage, aX as useDraggable, aY as watchDebounced, aZ as inject, a_ as useElementBounding, a$ as script$i, b0 as lodashExports, b1 as useEventBus, b2 as useMenuItemStore, b3 as provide, b4 as isElectron, b5 as electronAPI, b6 as isNativeWindow, b7 as useDialogService, b8 as LGraphEventMode, b9 as useQueueStore, ba as DEFAULT_DARK_COLOR_PALETTE, bb as DEFAULT_LIGHT_COLOR_PALETTE, bc as t, bd as useErrorHandling } from "./index-CmVtQCAR.js"; +import { s as script$1, a as script$2, b as script$3, c as script$4, d as script$6, e as script$7, f as script$b, g as script$f, h as script$h, i as script$j } from "./index-BWow9lpT.js"; +import { u as useKeybindingService } from "./keybindingService-CqSjCYw-.js"; +import { u as useServerConfigStore } from "./serverConfigStore-BUvaGcxp.js"; +import "./index-I0brO37W.js"; +const DEFAULT_TITLE = "ComfyUI"; +const TITLE_SUFFIX = " - ComfyUI"; +const _sfc_main$u = /* @__PURE__ */ defineComponent({ + __name: "BrowserTabTitle", + setup(__props) { + const executionStore = useExecutionStore(); + const executionText = computed( + () => executionStore.isIdle ? "" : `[${executionStore.executionProgress}%]` + ); + const settingStore = useSettingStore(); + const betaMenuEnabled = computed( + () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" + ); + const workflowStore = useWorkflowStore(); + const isUnsavedText = computed( + () => workflowStore.activeWorkflow?.isModified || !workflowStore.activeWorkflow?.isPersisted ? " *" : "" + ); + const workflowNameText = computed(() => { + const workflowName = workflowStore.activeWorkflow?.filename; + return workflowName ? isUnsavedText.value + workflowName + TITLE_SUFFIX : DEFAULT_TITLE; + }); + const nodeExecutionTitle = computed( + () => executionStore.executingNode && executionStore.executingNodeProgress ? `${executionText.value}[${executionStore.executingNodeProgress}%] ${executionStore.executingNode.type}` : "" + ); + const workflowTitle = computed( + () => executionText.value + (betaMenuEnabled.value ? workflowNameText.value : DEFAULT_TITLE) + ); + const title = computed(() => nodeExecutionTitle.value || workflowTitle.value); + useTitle(title); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div"); + }; + } +}); +const _hoisted_1$j = { class: "window-actions-spacer" }; +const _sfc_main$t = /* @__PURE__ */ defineComponent({ + __name: "MenuHamburger", + setup(__props) { + const workspaceState = useWorkspaceStore(); + const settingStore = useSettingStore(); + const exitFocusMode = /* @__PURE__ */ __name(() => { + workspaceState.focusMode = false; + }, "exitFocusMode"); + watchEffect(() => { + if (settingStore.get("Comfy.UseNewMenu") !== "Disabled") { + return; + } + if (workspaceState.focusMode) { + app.ui.menuContainer.style.display = "none"; + } else { + app.ui.menuContainer.style.display = "block"; + } + }); + const menuSetting = computed(() => settingStore.get("Comfy.UseNewMenu")); + const positionCSS = computed( + () => ( + // 'Bottom' menuSetting shows the hamburger button in the bottom right corner + // 'Disabled', 'Top' menuSetting shows the hamburger button in the top right corner + menuSetting.value === "Bottom" ? { bottom: "0px", right: "0px" } : { top: "0px", right: "0px" } + ) + ); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createElementBlock("div", { + class: "comfy-menu-hamburger no-drag", + style: normalizeStyle(positionCSS.value) + }, [ + withDirectives(createVNode(unref(script), { + icon: "pi pi-bars", + severity: "secondary", + text: "", + size: "large", + "aria-label": _ctx.$t("menu.showMenu"), + "aria-live": "assertive", + onClick: exitFocusMode, + onContextmenu: unref(showNativeMenu) + }, null, 8, ["aria-label", "onContextmenu"]), [ + [_directive_tooltip, { value: _ctx.$t("menu.showMenu"), showDelay: 300 }] + ]), + withDirectives(createBaseVNode("div", _hoisted_1$j, null, 512), [ + [vShow, menuSetting.value !== "Bottom"] + ]) + ], 4)), [ + [vShow, unref(workspaceState).focusMode] + ]); + }; + } +}); +const MenuHamburger = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-7ed57d1a"]]); +const _sfc_main$s = /* @__PURE__ */ defineComponent({ + __name: "UnloadWindowConfirmDialog", + setup(__props) { + const settingStore = useSettingStore(); + const workflowStore = useWorkflowStore(); + const handleBeforeUnload = /* @__PURE__ */ __name((event) => { + if (settingStore.get("Comfy.Window.UnloadConfirmation") && workflowStore.modifiedWorkflows.length > 0) { + event.preventDefault(); + return true; + } + return void 0; + }, "handleBeforeUnload"); + onMounted(() => { + window.addEventListener("beforeunload", handleBeforeUnload); + }); + onBeforeUnmount(() => { + window.removeEventListener("beforeunload", handleBeforeUnload); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div"); + }; + } +}); +const _sfc_main$r = /* @__PURE__ */ defineComponent({ + __name: "LiteGraphCanvasSplitterOverlay", + setup(__props) { + const settingStore = useSettingStore(); + const sidebarLocation = computed( + () => settingStore.get("Comfy.Sidebar.Location") + ); + const sidebarPanelVisible = computed( + () => useSidebarTabStore().activeSidebarTab !== null + ); + const bottomPanelVisible = computed( + () => useBottomPanelStore().bottomPanelVisible + ); + const activeSidebarTabId = computed( + () => useSidebarTabStore().activeSidebarTabId + ); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$2), { + class: "splitter-overlay-root splitter-overlay", + "pt:gutter": sidebarPanelVisible.value ? "" : "hidden", + key: activeSidebarTabId.value, + stateKey: activeSidebarTabId.value, + stateStorage: "local" + }, { + default: withCtx(() => [ + sidebarLocation.value === "left" ? withDirectives((openBlock(), createBlock(unref(script$1), { + key: 0, + class: "side-bar-panel", + minSize: 10, + size: 20 + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "side-bar-panel", {}, void 0, true) + ]), + _: 3 + }, 512)), [ + [vShow, sidebarPanelVisible.value] + ]) : createCommentVNode("", true), + createVNode(unref(script$1), { size: 100 }, { + default: withCtx(() => [ + createVNode(unref(script$2), { + class: "splitter-overlay max-w-full", + layout: "vertical", + "pt:gutter": bottomPanelVisible.value ? "" : "hidden", + stateKey: "bottom-panel-splitter", + stateStorage: "local" + }, { + default: withCtx(() => [ + createVNode(unref(script$1), { class: "graph-canvas-panel relative" }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "graph-canvas-panel", {}, void 0, true) + ]), + _: 3 + }), + withDirectives(createVNode(unref(script$1), { class: "bottom-panel" }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "bottom-panel", {}, void 0, true) + ]), + _: 3 + }, 512), [ + [vShow, bottomPanelVisible.value] + ]) + ]), + _: 3 + }, 8, ["pt:gutter"]) + ]), + _: 3 + }), + sidebarLocation.value === "right" ? withDirectives((openBlock(), createBlock(unref(script$1), { + key: 1, + class: "side-bar-panel", + minSize: 10, + size: 20 + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "side-bar-panel", {}, void 0, true) + ]), + _: 3 + }, 512)), [ + [vShow, sidebarPanelVisible.value] + ]) : createCommentVNode("", true) + ]), + _: 3 + }, 8, ["pt:gutter", "stateKey"]); + }; + } +}); +const LiteGraphCanvasSplitterOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-e50caa15"]]); +const _sfc_main$q = /* @__PURE__ */ defineComponent({ + __name: "ExtensionSlot", + props: { + extension: {} + }, + setup(__props) { + const props = __props; + const mountCustomExtension = /* @__PURE__ */ __name((extension, el) => { + extension.render(el); + }, "mountCustomExtension"); + onBeforeUnmount(() => { + if (props.extension.type === "custom" && props.extension.destroy) { + props.extension.destroy(); + } + }); + return (_ctx, _cache) => { + return _ctx.extension.type === "vue" ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.extension.component), { key: 0 })) : (openBlock(), createElementBlock("div", { + key: 1, + ref: /* @__PURE__ */ __name((el) => { + if (el) + mountCustomExtension( + props.extension, + el + ); + }, "ref") + }, null, 512)); + }; + } +}); +const _hoisted_1$i = { class: "flex flex-col h-full" }; +const _hoisted_2$6 = { class: "w-full flex justify-between" }; +const _hoisted_3$5 = { class: "tabs-container" }; +const _hoisted_4$1 = { class: "font-bold" }; +const _hoisted_5$1 = { class: "flex-grow h-0" }; +const _sfc_main$p = /* @__PURE__ */ defineComponent({ + __name: "BottomPanel", + setup(__props) { + const bottomPanelStore = useBottomPanelStore(); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$i, [ + createVNode(unref(script$5), { + value: unref(bottomPanelStore).activeBottomPanelTabId, + "onUpdate:value": _cache[1] || (_cache[1] = ($event) => unref(bottomPanelStore).activeBottomPanelTabId = $event) + }, { + default: withCtx(() => [ + createVNode(unref(script$3), { "pt:tabList": "border-none" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_2$6, [ + createBaseVNode("div", _hoisted_3$5, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(bottomPanelStore).bottomPanelTabs, (tab) => { + return openBlock(), createBlock(unref(script$4), { + key: tab.id, + value: tab.id, + class: "p-3 border-none" + }, { + default: withCtx(() => [ + createBaseVNode("span", _hoisted_4$1, toDisplayString(tab.title.toUpperCase()), 1) + ]), + _: 2 + }, 1032, ["value"]); + }), 128)) + ]), + createVNode(unref(script), { + class: "justify-self-end", + icon: "pi pi-times", + severity: "secondary", + size: "small", + text: "", + onClick: _cache[0] || (_cache[0] = ($event) => unref(bottomPanelStore).bottomPanelVisible = false) + }) + ]) + ]), + _: 1 + }) + ]), + _: 1 + }, 8, ["value"]), + createBaseVNode("div", _hoisted_5$1, [ + unref(bottomPanelStore).bottomPanelVisible && unref(bottomPanelStore).activeBottomPanelTab ? (openBlock(), createBlock(_sfc_main$q, { + key: 0, + extension: unref(bottomPanelStore).activeBottomPanelTab + }, null, 8, ["extension"])) : createCommentVNode("", true) + ]) + ]); + }; + } +}); +const _hoisted_1$h = { + viewBox: "0 0 1024 1024", + width: "1.2em", + height: "1.2em" +}; +function render$7(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$h, _cache[0] || (_cache[0] = [ + createBaseVNode("path", { + fill: "currentColor", + d: "M921.088 103.232L584.832 889.024L465.52 544.512L121.328 440.48zM1004.46.769c-6.096 0-13.52 1.728-22.096 5.36L27.708 411.2c-34.383 14.592-36.56 42.704-4.847 62.464l395.296 123.584l129.36 403.264c9.28 15.184 20.496 22.72 31.263 22.72c11.936 0 23.296-9.152 31.04-27.248l408.272-953.728C1029.148 16.368 1022.86.769 1004.46.769" + }, null, -1) + ])); +} +__name(render$7, "render$7"); +const __unplugin_components_1$2 = markRaw({ name: "simple-line-icons-cursor", render: render$7 }); +const _hoisted_1$g = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +function render$6(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$g, _cache[0] || (_cache[0] = [ + createBaseVNode("path", { + fill: "currentColor", + d: "M10.05 23q-.75 0-1.4-.337T7.575 21.7L1.2 12.375l.6-.575q.475-.475 1.125-.55t1.175.3L7 13.575V4q0-.425.288-.712T8 3t.713.288T9 4v13.425l-3.7-2.6l3.925 5.725q.125.2.35.325t.475.125H17q.825 0 1.413-.587T19 19V5q0-.425.288-.712T20 4t.713.288T21 5v14q0 1.65-1.175 2.825T17 23zM11 12V2q0-.425.288-.712T12 1t.713.288T13 2v10zm4 0V3q0-.425.288-.712T16 2t.713.288T17 3v9zm-2.85 4.5" + }, null, -1) + ])); +} +__name(render$6, "render$6"); +const __unplugin_components_0$2 = markRaw({ name: "material-symbols-pan-tool-outline", render: render$6 }); +const useTitleEditorStore = defineStore("titleEditor", () => { + const titleEditorTarget = shallowRef(null); + return { + titleEditorTarget + }; +}); +const useCanvasStore = defineStore("canvas", () => { + const canvas = shallowRef(null); + return { + canvas + }; +}); +const _sfc_main$o = /* @__PURE__ */ defineComponent({ + __name: "GraphCanvasMenu", + setup(__props) { + const { t: t2 } = useI18n(); + const commandStore = useCommandStore(); + const canvasStore = useCanvasStore(); + const settingStore = useSettingStore(); + const linkHidden = computed( + () => settingStore.get("Comfy.LinkRenderMode") === LiteGraph.HIDDEN_LINK + ); + let interval = null; + const repeat = /* @__PURE__ */ __name((command) => { + if (interval) return; + const cmd = /* @__PURE__ */ __name(() => commandStore.execute(command), "cmd"); + cmd(); + interval = window.setInterval(cmd, 100); + }, "repeat"); + const stopRepeat = /* @__PURE__ */ __name(() => { + if (interval) { + clearInterval(interval); + interval = null; + } + }, "stopRepeat"); + return (_ctx, _cache) => { + const _component_i_material_symbols58pan_tool_outline = __unplugin_components_0$2; + const _component_i_simple_line_icons58cursor = __unplugin_components_1$2; + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createBlock(unref(script$6), { class: "p-buttongroup-vertical absolute bottom-[10px] right-[10px] z-[1000] pointer-events-auto" }, { + default: withCtx(() => [ + withDirectives(createVNode(unref(script), { + severity: "secondary", + icon: "pi pi-plus", + "aria-label": _ctx.$t("graphCanvasMenu.zoomIn"), + onMousedown: _cache[0] || (_cache[0] = ($event) => repeat("Comfy.Canvas.ZoomIn")), + onMouseup: stopRepeat + }, null, 8, ["aria-label"]), [ + [ + _directive_tooltip, + unref(t2)("graphCanvasMenu.zoomIn"), + void 0, + { left: true } + ] + ]), + withDirectives(createVNode(unref(script), { + severity: "secondary", + icon: "pi pi-minus", + "aria-label": _ctx.$t("graphCanvasMenu.zoomOut"), + onMousedown: _cache[1] || (_cache[1] = ($event) => repeat("Comfy.Canvas.ZoomOut")), + onMouseup: stopRepeat + }, null, 8, ["aria-label"]), [ + [ + _directive_tooltip, + unref(t2)("graphCanvasMenu.zoomOut"), + void 0, + { left: true } + ] + ]), + withDirectives(createVNode(unref(script), { + severity: "secondary", + icon: "pi pi-expand", + "aria-label": _ctx.$t("graphCanvasMenu.fitView"), + onClick: _cache[2] || (_cache[2] = () => unref(commandStore).execute("Comfy.Canvas.FitView")) + }, null, 8, ["aria-label"]), [ + [ + _directive_tooltip, + unref(t2)("graphCanvasMenu.fitView"), + void 0, + { left: true } + ] + ]), + withDirectives((openBlock(), createBlock(unref(script), { + severity: "secondary", + "aria-label": unref(t2)( + "graphCanvasMenu." + (unref(canvasStore).canvas?.read_only ? "panMode" : "selectMode") + ), + onClick: _cache[3] || (_cache[3] = () => unref(commandStore).execute("Comfy.Canvas.ToggleLock")) + }, { + icon: withCtx(() => [ + unref(canvasStore).canvas?.read_only ? (openBlock(), createBlock(_component_i_material_symbols58pan_tool_outline, { key: 0 })) : (openBlock(), createBlock(_component_i_simple_line_icons58cursor, { key: 1 })) + ]), + _: 1 + }, 8, ["aria-label"])), [ + [ + _directive_tooltip, + unref(t2)( + "graphCanvasMenu." + (unref(canvasStore).canvas?.read_only ? "panMode" : "selectMode") + ) + " (Space)", + void 0, + { left: true } + ] + ]), + withDirectives(createVNode(unref(script), { + severity: "secondary", + icon: linkHidden.value ? "pi pi-eye-slash" : "pi pi-eye", + "aria-label": _ctx.$t("graphCanvasMenu.toggleLinkVisibility"), + onClick: _cache[4] || (_cache[4] = () => unref(commandStore).execute("Comfy.Canvas.ToggleLinkVisibility")), + "data-testid": "toggle-link-visibility-button" + }, null, 8, ["icon", "aria-label"]), [ + [ + _directive_tooltip, + unref(t2)("graphCanvasMenu.toggleLinkVisibility"), + void 0, + { left: true } + ] + ]) + ]), + _: 1 + }); + }; + } +}); +const GraphCanvasMenu = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-cb8f9a1a"]]); +const _sfc_main$n = /* @__PURE__ */ defineComponent({ + __name: "NodeBadge", + setup(__props) { + const settingStore = useSettingStore(); + const colorPaletteStore = useColorPaletteStore(); + const nodeSourceBadgeMode = computed( + () => settingStore.get("Comfy.NodeBadge.NodeSourceBadgeMode") + ); + const nodeIdBadgeMode = computed( + () => settingStore.get("Comfy.NodeBadge.NodeIdBadgeMode") + ); + const nodeLifeCycleBadgeMode = computed( + () => settingStore.get("Comfy.NodeBadge.NodeLifeCycleBadgeMode") + ); + watch([nodeSourceBadgeMode, nodeIdBadgeMode, nodeLifeCycleBadgeMode], () => { + app.graph?.setDirtyCanvas(true, true); + }); + const nodeDefStore = useNodeDefStore(); + function badgeTextVisible(nodeDef, badgeMode) { + return !(badgeMode === NodeBadgeMode.None || nodeDef?.isCoreNode && badgeMode === NodeBadgeMode.HideBuiltIn); + } + __name(badgeTextVisible, "badgeTextVisible"); + onMounted(() => { + app.registerExtension({ + name: "Comfy.NodeBadge", + nodeCreated(node) { + node.badgePosition = BadgePosition.TopRight; + const badge = computed(() => { + const nodeDef = nodeDefStore.fromLGraphNode(node); + return new LGraphBadge({ + text: _.truncate( + [ + badgeTextVisible(nodeDef, nodeIdBadgeMode.value) ? `#${node.id}` : "", + badgeTextVisible(nodeDef, nodeLifeCycleBadgeMode.value) ? nodeDef?.nodeLifeCycleBadgeText ?? "" : "", + badgeTextVisible(nodeDef, nodeSourceBadgeMode.value) ? nodeDef?.nodeSource?.badgeText ?? "" : "" + ].filter((s) => s.length > 0).join(" "), + { + length: 31 + } + ), + fgColor: colorPaletteStore.completedActivePalette.colors.litegraph_base.BADGE_FG_COLOR, + bgColor: colorPaletteStore.completedActivePalette.colors.litegraph_base.BADGE_BG_COLOR + }); + }); + node.badges.push(() => badge.value); + } + }); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div"); + }; + } +}); +const _sfc_main$m = /* @__PURE__ */ defineComponent({ + __name: "NodeTooltip", + setup(__props) { + let idleTimeout; + const nodeDefStore = useNodeDefStore(); + const tooltipRef = ref(); + const tooltipText = ref(""); + const left = ref(); + const top = ref(); + const hideTooltip = /* @__PURE__ */ __name(() => tooltipText.value = null, "hideTooltip"); + const showTooltip = /* @__PURE__ */ __name(async (tooltip) => { + if (!tooltip) return; + left.value = app.canvas.mouse[0] + "px"; + top.value = app.canvas.mouse[1] + "px"; + tooltipText.value = tooltip; + await nextTick(); + const rect = tooltipRef.value.getBoundingClientRect(); + if (rect.right > window.innerWidth) { + left.value = app.canvas.mouse[0] - rect.width + "px"; + } + if (rect.top < 0) { + top.value = app.canvas.mouse[1] + rect.height + "px"; + } + }, "showTooltip"); + const onIdle = /* @__PURE__ */ __name(() => { + const { canvas } = app; + const node = canvas.node_over; + if (!node) return; + const ctor = node.constructor; + const nodeDef = nodeDefStore.nodeDefsByName[node.type]; + if (ctor.title_mode !== LiteGraph.NO_TITLE && canvas.graph_mouse[1] < node.pos[1]) { + return showTooltip(nodeDef.description); + } + if (node.flags?.collapsed) return; + const inputSlot = canvas.isOverNodeInput( + node, + canvas.graph_mouse[0], + canvas.graph_mouse[1], + [0, 0] + ); + if (inputSlot !== -1) { + const inputName = node.inputs[inputSlot].name; + const translatedTooltip = st( + `nodeDefs.${normalizeI18nKey(node.type)}.inputs.${normalizeI18nKey(inputName)}.tooltip`, + nodeDef.inputs.getInput(inputName)?.tooltip + ); + return showTooltip(translatedTooltip); + } + const outputSlot = canvas.isOverNodeOutput( + node, + canvas.graph_mouse[0], + canvas.graph_mouse[1], + [0, 0] + ); + if (outputSlot !== -1) { + const translatedTooltip = st( + `nodeDefs.${normalizeI18nKey(node.type)}.outputs.${outputSlot}.tooltip`, + nodeDef.outputs.all?.[outputSlot]?.tooltip + ); + return showTooltip(translatedTooltip); + } + const widget = app.canvas.getWidgetAtCursor(); + if (widget && !widget.element) { + const translatedTooltip = st( + `nodeDefs.${normalizeI18nKey(node.type)}.inputs.${normalizeI18nKey(widget.name)}.tooltip`, + nodeDef.inputs.getInput(widget.name)?.tooltip + ); + return showTooltip(widget.tooltip ?? translatedTooltip); + } + }, "onIdle"); + const onMouseMove = /* @__PURE__ */ __name((e) => { + hideTooltip(); + clearTimeout(idleTimeout); + if (e.target.nodeName !== "CANVAS") return; + idleTimeout = window.setTimeout(onIdle, 500); + }, "onMouseMove"); + useEventListener(window, "mousemove", onMouseMove); + useEventListener(window, "click", hideTooltip); + return (_ctx, _cache) => { + return tooltipText.value ? (openBlock(), createElementBlock("div", { + key: 0, + ref_key: "tooltipRef", + ref: tooltipRef, + class: "node-tooltip", + style: normalizeStyle({ left: left.value, top: top.value }) + }, toDisplayString(tooltipText.value), 5)) : createCommentVNode("", true); + }; + } +}); +const NodeTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-46859edf"]]); +const _sfc_main$l = /* @__PURE__ */ defineComponent({ + __name: "TitleEditor", + setup(__props) { + const settingStore = useSettingStore(); + const showInput = ref(false); + const editedTitle = ref(""); + const inputStyle = ref({ + position: "fixed", + left: "0px", + top: "0px", + width: "200px", + height: "20px", + fontSize: "12px" + }); + const titleEditorStore = useTitleEditorStore(); + const canvasStore = useCanvasStore(); + const previousCanvasDraggable = ref(true); + const onEdit = /* @__PURE__ */ __name((newValue) => { + if (titleEditorStore.titleEditorTarget && newValue.trim() !== "") { + titleEditorStore.titleEditorTarget.title = newValue.trim(); + app.graph.setDirtyCanvas(true, true); + } + showInput.value = false; + titleEditorStore.titleEditorTarget = null; + canvasStore.canvas.allow_dragcanvas = previousCanvasDraggable.value; + }, "onEdit"); + watch( + () => titleEditorStore.titleEditorTarget, + (target) => { + if (target === null) { + return; + } + editedTitle.value = target.title; + showInput.value = true; + previousCanvasDraggable.value = canvasStore.canvas.allow_dragcanvas; + canvasStore.canvas.allow_dragcanvas = false; + if (target instanceof LGraphGroup) { + const group = target; + const [x, y] = group.pos; + const [w, h] = group.size; + const [left, top] = app.canvasPosToClientPos([x, y]); + inputStyle.value.left = `${left}px`; + inputStyle.value.top = `${top}px`; + const width = w * app.canvas.ds.scale; + const height = group.titleHeight * app.canvas.ds.scale; + inputStyle.value.width = `${width}px`; + inputStyle.value.height = `${height}px`; + const fontSize = group.font_size * app.canvas.ds.scale; + inputStyle.value.fontSize = `${fontSize}px`; + } else if (target instanceof LGraphNode) { + const node = target; + const [x, y] = node.getBounding(); + const canvasWidth = node.width; + const canvasHeight = LiteGraph.NODE_TITLE_HEIGHT; + const [left, top] = app.canvasPosToClientPos([x, y]); + inputStyle.value.left = `${left}px`; + inputStyle.value.top = `${top}px`; + const width = canvasWidth * app.canvas.ds.scale; + const height = canvasHeight * app.canvas.ds.scale; + inputStyle.value.width = `${width}px`; + inputStyle.value.height = `${height}px`; + const fontSize = 12 * app.canvas.ds.scale; + inputStyle.value.fontSize = `${fontSize}px`; + } + } + ); + const canvasEventHandler = /* @__PURE__ */ __name((event) => { + if (event.detail.subType === "group-double-click") { + if (!settingStore.get("Comfy.Group.DoubleClickTitleToEdit")) { + return; + } + const group = event.detail.group; + const [x, y] = group.pos; + const e = event.detail.originalEvent; + const relativeY = e.canvasY - y; + if (relativeY <= group.titleHeight) { + titleEditorStore.titleEditorTarget = group; + } + } else if (event.detail.subType === "node-double-click") { + if (!settingStore.get("Comfy.Node.DoubleClickTitleToEdit")) { + return; + } + const node = event.detail.node; + const [x, y] = node.pos; + const e = event.detail.originalEvent; + const relativeY = e.canvasY - y; + if (relativeY <= 0) { + titleEditorStore.titleEditorTarget = node; + } + } + }, "canvasEventHandler"); + useEventListener(document, "litegraph:canvas", canvasEventHandler); + return (_ctx, _cache) => { + return showInput.value ? (openBlock(), createElementBlock("div", { + key: 0, + class: "group-title-editor node-title-editor", + style: normalizeStyle(inputStyle.value) + }, [ + createVNode(EditableText, { + isEditing: showInput.value, + modelValue: editedTitle.value, + onEdit + }, null, 8, ["isEditing", "modelValue"]) + ], 4)) : createCommentVNode("", true); + }; + } +}); +const TitleEditor = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-12d3fd12"]]); +const useSearchBoxStore = defineStore("searchBox", () => { + const visible = ref(false); + function toggleVisible() { + visible.value = !visible.value; + } + __name(toggleVisible, "toggleVisible"); + return { + visible, + toggleVisible + }; +}); +class ConnectingLinkImpl { + static { + __name(this, "ConnectingLinkImpl"); + } + constructor(node, slot, input, output, pos, afterRerouteId) { + this.node = node; + this.slot = slot; + this.input = input; + this.output = output; + this.pos = pos; + this.afterRerouteId = afterRerouteId; + } + static createFromPlainObject(obj) { + return new ConnectingLinkImpl( + obj.node, + obj.slot, + obj.input, + obj.output, + obj.pos, + obj.afterRerouteId + ); + } + get type() { + const result = this.input ? this.input.type : this.output?.type ?? null; + return result === -1 ? null : result; + } + /** + * Which slot type is release and need to be reconnected. + * - 'output' means we need a new node's outputs slot to connect with this link + */ + get releaseSlotType() { + return this.output ? "input" : "output"; + } + connectTo(newNode) { + const newNodeSlots = this.releaseSlotType === "output" ? newNode.outputs : newNode.inputs; + if (!newNodeSlots) return; + const newNodeSlot = newNodeSlots.findIndex( + (slot) => LiteGraph.isValidConnection(slot.type, this.type) + ); + if (newNodeSlot === -1) { + console.warn( + `Could not find slot with type ${this.type} on node ${newNode.title}. This should never happen` + ); + return; + } + if (this.releaseSlotType === "input") { + this.node.connect(this.slot, newNode, newNodeSlot, this.afterRerouteId); + } else { + newNode.connect(newNodeSlot, this.node, this.slot, this.afterRerouteId); + } + } +} +const _sfc_main$k = { + name: "AutoCompletePlus", + extends: script$7, + emits: ["focused-option-changed"], + data() { + return { + // Flag to determine if IME is active + isComposing: false + }; + }, + mounted() { + if (typeof script$7.mounted === "function") { + script$7.mounted.call(this); + } + const inputEl = this.$el.querySelector("input"); + if (inputEl) { + inputEl.addEventListener("compositionstart", () => { + this.isComposing = true; + }); + inputEl.addEventListener("compositionend", () => { + this.isComposing = false; + }); + } + this.$watch( + () => this.focusedOptionIndex, + (newVal, oldVal) => { + this.$emit("focused-option-changed", newVal); + } + ); + }, + methods: { + // Override onKeyDown to block Enter when IME is active + onKeyDown(event) { + if (event.key === "Enter" && this.isComposing) { + event.preventDefault(); + event.stopPropagation(); + return; + } + script$7.methods.onKeyDown.call(this, event); + } + } +}; +const _hoisted_1$f = { class: "option-container flex justify-between items-center px-2 py-0 cursor-pointer overflow-hidden w-full" }; +const _hoisted_2$5 = { class: "option-display-name font-semibold flex flex-col" }; +const _hoisted_3$4 = { key: 0 }; +const _hoisted_4 = ["innerHTML"]; +const _hoisted_5 = ["innerHTML"]; +const _hoisted_6 = { + key: 0, + class: "option-category font-light text-sm text-muted overflow-hidden text-ellipsis whitespace-nowrap" +}; +const _hoisted_7 = { class: "option-badges" }; +const _sfc_main$j = /* @__PURE__ */ defineComponent({ + __name: "NodeSearchItem", + props: { + nodeDef: {}, + currentQuery: {} + }, + setup(__props) { + const settingStore = useSettingStore(); + const showCategory = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowCategory") + ); + const showIdName = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowIdName") + ); + const showNodeFrequency = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowNodeFrequency") + ); + const nodeFrequencyStore = useNodeFrequencyStore(); + const nodeFrequency = computed( + () => nodeFrequencyStore.getNodeFrequency(props.nodeDef) + ); + const nodeBookmarkStore = useNodeBookmarkStore(); + const isBookmarked = computed( + () => nodeBookmarkStore.isBookmarked(props.nodeDef) + ); + const props = __props; + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$f, [ + createBaseVNode("div", _hoisted_2$5, [ + createBaseVNode("div", null, [ + isBookmarked.value ? (openBlock(), createElementBlock("span", _hoisted_3$4, _cache[0] || (_cache[0] = [ + createBaseVNode("i", { class: "pi pi-bookmark-fill text-sm mr-1" }, null, -1) + ]))) : createCommentVNode("", true), + createBaseVNode("span", { + innerHTML: unref(highlightQuery)(_ctx.nodeDef.display_name, _ctx.currentQuery) + }, null, 8, _hoisted_4), + _cache[1] || (_cache[1] = createBaseVNode("span", null, " ", -1)), + showIdName.value ? (openBlock(), createBlock(unref(script$8), { + key: 1, + severity: "secondary" + }, { + default: withCtx(() => [ + createBaseVNode("span", { + innerHTML: unref(highlightQuery)(_ctx.nodeDef.name, _ctx.currentQuery) + }, null, 8, _hoisted_5) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + showCategory.value ? (openBlock(), createElementBlock("div", _hoisted_6, toDisplayString(_ctx.nodeDef.category.replaceAll("/", " > ")), 1)) : createCommentVNode("", true) + ]), + createBaseVNode("div", _hoisted_7, [ + _ctx.nodeDef.experimental ? (openBlock(), createBlock(unref(script$8), { + key: 0, + value: _ctx.$t("g.experimental"), + severity: "primary" + }, null, 8, ["value"])) : createCommentVNode("", true), + _ctx.nodeDef.deprecated ? (openBlock(), createBlock(unref(script$8), { + key: 1, + value: _ctx.$t("g.deprecated"), + severity: "danger" + }, null, 8, ["value"])) : createCommentVNode("", true), + showNodeFrequency.value && nodeFrequency.value > 0 ? (openBlock(), createBlock(unref(script$8), { + key: 2, + value: unref(formatNumberWithSuffix)(nodeFrequency.value, { roundToInt: true }), + severity: "secondary" + }, null, 8, ["value"])) : createCommentVNode("", true), + _ctx.nodeDef.nodeSource.type !== unref(NodeSourceType).Unknown ? (openBlock(), createBlock(unref(script$9), { + key: 3, + class: "text-sm font-light" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.nodeDef.nodeSource.displayText), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]) + ]); + }; + } +}); +const NodeSearchItem = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-fd0a74bd"]]); +const _hoisted_1$e = { class: "comfy-vue-node-search-container flex justify-center items-center w-full min-w-96 pointer-events-auto" }; +const _hoisted_2$4 = { + key: 0, + class: "comfy-vue-node-preview-container absolute left-[-350px] top-[50px]" +}; +const _hoisted_3$3 = { class: "_dialog-body" }; +const _sfc_main$i = /* @__PURE__ */ defineComponent({ + __name: "NodeSearchBox", + props: { + filters: {}, + searchLimit: { default: 64 } + }, + emits: ["addFilter", "removeFilter", "addNode"], + setup(__props, { emit: __emit }) { + const settingStore = useSettingStore(); + const { t: t2 } = useI18n(); + const enableNodePreview = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.NodePreview") + ); + const props = __props; + const nodeSearchFilterVisible = ref(false); + const inputId = `comfy-vue-node-search-box-input-${Math.random()}`; + const suggestions = ref([]); + const hoveredSuggestion = ref(null); + const currentQuery = ref(""); + const placeholder = computed(() => { + return props.filters.length === 0 ? t2("g.searchNodes") + "..." : ""; + }); + const nodeDefStore = useNodeDefStore(); + const nodeFrequencyStore = useNodeFrequencyStore(); + const search = /* @__PURE__ */ __name((query) => { + const queryIsEmpty = query === "" && props.filters.length === 0; + currentQuery.value = query; + suggestions.value = queryIsEmpty ? nodeFrequencyStore.topNodeDefs : [ + ...nodeDefStore.nodeSearchService.searchNode(query, props.filters, { + limit: props.searchLimit + }) + ]; + }, "search"); + const emit = __emit; + let inputElement = null; + const reFocusInput = /* @__PURE__ */ __name(() => { + inputElement ??= document.getElementById(inputId); + if (inputElement) { + inputElement.blur(); + nextTick(() => inputElement?.focus()); + } + }, "reFocusInput"); + onMounted(reFocusInput); + const onAddFilter = /* @__PURE__ */ __name((filterAndValue) => { + nodeSearchFilterVisible.value = false; + emit("addFilter", filterAndValue); + }, "onAddFilter"); + const onRemoveFilter = /* @__PURE__ */ __name((event, filterAndValue) => { + event.stopPropagation(); + event.preventDefault(); + emit("removeFilter", filterAndValue); + reFocusInput(); + }, "onRemoveFilter"); + const setHoverSuggestion = /* @__PURE__ */ __name((index) => { + if (index === -1) { + hoveredSuggestion.value = null; + return; + } + const value = suggestions.value[index]; + hoveredSuggestion.value = value; + }, "setHoverSuggestion"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$e, [ + enableNodePreview.value ? (openBlock(), createElementBlock("div", _hoisted_2$4, [ + hoveredSuggestion.value ? (openBlock(), createBlock(NodePreview, { + nodeDef: hoveredSuggestion.value, + key: hoveredSuggestion.value?.name || "" + }, null, 8, ["nodeDef"])) : createCommentVNode("", true) + ])) : createCommentVNode("", true), + createVNode(unref(script), { + icon: "pi pi-filter", + severity: "secondary", + class: "filter-button z-10", + onClick: _cache[0] || (_cache[0] = ($event) => nodeSearchFilterVisible.value = true) + }), + createVNode(unref(script$a), { + visible: nodeSearchFilterVisible.value, + "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => nodeSearchFilterVisible.value = $event), + class: "min-w-96", + "dismissable-mask": "", + modal: "", + onHide: reFocusInput + }, { + header: withCtx(() => _cache[5] || (_cache[5] = [ + createBaseVNode("h3", null, "Add node filter condition", -1) + ])), + default: withCtx(() => [ + createBaseVNode("div", _hoisted_3$3, [ + createVNode(NodeSearchFilter, { onAddFilter }) + ]) + ]), + _: 1 + }, 8, ["visible"]), + createVNode(_sfc_main$k, { + "model-value": props.filters, + class: "comfy-vue-node-search-box z-10 flex-grow", + scrollHeight: "40vh", + placeholder: placeholder.value, + "input-id": inputId, + "append-to": "self", + suggestions: suggestions.value, + "min-length": 0, + delay: 100, + loading: !unref(nodeFrequencyStore).isLoaded, + onComplete: _cache[2] || (_cache[2] = ($event) => search($event.query)), + onOptionSelect: _cache[3] || (_cache[3] = ($event) => emit("addNode", $event.value)), + onFocusedOptionChanged: _cache[4] || (_cache[4] = ($event) => setHoverSuggestion($event)), + "complete-on-focus": "", + "auto-option-focus": "", + "force-selection": "", + multiple: "", + optionLabel: "display_name" + }, { + option: withCtx(({ option }) => [ + createVNode(NodeSearchItem, { + nodeDef: option, + currentQuery: currentQuery.value + }, null, 8, ["nodeDef", "currentQuery"]) + ]), + chip: withCtx(({ value }) => [ + Array.isArray(value) && value.length === 2 ? (openBlock(), createBlock(SearchFilterChip, { + key: `${value[0].id}-${value[1]}`, + onRemove: /* @__PURE__ */ __name(($event) => onRemoveFilter($event, value), "onRemove"), + text: value[1], + badge: value[0].invokeSequence.toUpperCase(), + "badge-class": value[0].invokeSequence + "-badge" + }, null, 8, ["onRemove", "text", "badge", "badge-class"])) : createCommentVNode("", true) + ]), + _: 1 + }, 8, ["model-value", "placeholder", "suggestions", "loading"]) + ]); + }; + } +}); +const _sfc_main$h = /* @__PURE__ */ defineComponent({ + __name: "NodeSearchBoxPopover", + setup(__props) { + const settingStore = useSettingStore(); + const litegraphService = useLitegraphService(); + const { visible } = storeToRefs(useSearchBoxStore()); + const dismissable = ref(true); + const triggerEvent = ref(null); + const getNewNodeLocation = /* @__PURE__ */ __name(() => { + if (!triggerEvent.value) { + return litegraphService.getCanvasCenter(); + } + const originalEvent = triggerEvent.value.detail.originalEvent; + return [originalEvent.canvasX, originalEvent.canvasY]; + }, "getNewNodeLocation"); + const nodeFilters = ref([]); + const addFilter = /* @__PURE__ */ __name((filter) => { + nodeFilters.value.push(filter); + }, "addFilter"); + const removeFilter = /* @__PURE__ */ __name((filter) => { + nodeFilters.value = nodeFilters.value.filter( + (f) => toRaw(f) !== toRaw(filter) + ); + }, "removeFilter"); + const clearFilters = /* @__PURE__ */ __name(() => { + nodeFilters.value = []; + }, "clearFilters"); + const closeDialog = /* @__PURE__ */ __name(() => { + visible.value = false; + }, "closeDialog"); + const addNode = /* @__PURE__ */ __name((nodeDef) => { + const node = litegraphService.addNodeOnGraph(nodeDef, { + pos: getNewNodeLocation() + }); + const eventDetail = triggerEvent.value?.detail; + if (eventDetail && eventDetail.subType === "empty-release") { + eventDetail.linkReleaseContext.links.forEach((link) => { + ConnectingLinkImpl.createFromPlainObject(link).connectTo(node); + }); + } + window.setTimeout(() => { + closeDialog(); + }, 100); + }, "addNode"); + const newSearchBoxEnabled = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl") === "default" + ); + const showSearchBox = /* @__PURE__ */ __name((e) => { + const detail = e.detail; + if (newSearchBoxEnabled.value) { + if (detail.originalEvent?.pointerType === "touch") { + setTimeout(() => { + showNewSearchBox(e); + }, 128); + } else { + showNewSearchBox(e); + } + } else { + canvasStore.canvas.showSearchBox(detail.originalEvent); + } + }, "showSearchBox"); + const nodeDefStore = useNodeDefStore(); + const showNewSearchBox = /* @__PURE__ */ __name((e) => { + if (e.detail.subType === "empty-release") { + const links = e.detail.linkReleaseContext.links; + if (links.length === 0) { + console.warn("Empty release with no links! This should never happen"); + return; + } + const firstLink = ConnectingLinkImpl.createFromPlainObject(links[0]); + const filter = nodeDefStore.nodeSearchService.getFilterById( + firstLink.releaseSlotType + ); + const dataType = firstLink.type.toString(); + addFilter([filter, dataType]); + } + visible.value = true; + triggerEvent.value = e; + dismissable.value = false; + setTimeout(() => { + dismissable.value = true; + }, 300); + }, "showNewSearchBox"); + const showContextMenu = /* @__PURE__ */ __name((e) => { + if (e.detail.subType !== "empty-release") { + return; + } + const links = e.detail.linkReleaseContext.links; + if (links.length === 0) { + console.warn("Empty release with no links! This should never happen"); + return; + } + const firstLink = ConnectingLinkImpl.createFromPlainObject(links[0]); + const mouseEvent = e.detail.originalEvent; + const commonOptions = { + e: mouseEvent, + allow_searchbox: true, + showSearchBox: /* @__PURE__ */ __name(() => showSearchBox(e), "showSearchBox") + }; + const connectionOptions = firstLink.output ? { + nodeFrom: firstLink.node, + slotFrom: firstLink.output, + afterRerouteId: firstLink.afterRerouteId + } : { + nodeTo: firstLink.node, + slotTo: firstLink.input, + afterRerouteId: firstLink.afterRerouteId + }; + canvasStore.canvas.showConnectionMenu({ + ...connectionOptions, + ...commonOptions + }); + }, "showContextMenu"); + const canvasStore = useCanvasStore(); + watchEffect(() => { + if (canvasStore.canvas) { + LiteGraph.release_link_on_empty_shows_menu = false; + canvasStore.canvas.allow_searchbox = false; + } + }); + const canvasEventHandler = /* @__PURE__ */ __name((e) => { + if (e.detail.subType === "empty-double-click") { + showSearchBox(e); + } else if (e.detail.subType === "empty-release") { + handleCanvasEmptyRelease(e); + } else if (e.detail.subType === "group-double-click") { + const group = e.detail.group; + const [x, y] = group.pos; + const relativeY = e.detail.originalEvent.canvasY - y; + if (relativeY > group.titleHeight) { + showSearchBox(e); + } + } + }, "canvasEventHandler"); + const linkReleaseAction = computed(() => { + return settingStore.get("Comfy.LinkRelease.Action"); + }); + const linkReleaseActionShift = computed(() => { + return settingStore.get("Comfy.LinkRelease.ActionShift"); + }); + const handleCanvasEmptyRelease = /* @__PURE__ */ __name((e) => { + const detail = e.detail; + const shiftPressed = detail.originalEvent.shiftKey; + const action = shiftPressed ? linkReleaseActionShift.value : linkReleaseAction.value; + switch (action) { + case LinkReleaseTriggerAction.SEARCH_BOX: + showSearchBox(e); + break; + case LinkReleaseTriggerAction.CONTEXT_MENU: + showContextMenu(e); + break; + case LinkReleaseTriggerAction.NO_ACTION: + default: + break; + } + }, "handleCanvasEmptyRelease"); + useEventListener(document, "litegraph:canvas", canvasEventHandler); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", null, [ + createVNode(unref(script$a), { + visible: unref(visible), + "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => isRef(visible) ? visible.value = $event : null), + modal: "", + "dismissable-mask": dismissable.value, + onHide: clearFilters, + pt: { + root: { + class: "invisible-dialog-root", + role: "search" + }, + mask: { class: "node-search-box-dialog-mask" }, + transition: { + enterFromClass: "opacity-0 scale-75", + // 100ms is the duration of the transition in the dialog component + enterActiveClass: "transition-all duration-100 ease-out", + leaveActiveClass: "transition-all duration-100 ease-in", + leaveToClass: "opacity-0 scale-75" + } + } + }, { + container: withCtx(() => [ + createVNode(_sfc_main$i, { + filters: nodeFilters.value, + onAddFilter: addFilter, + onRemoveFilter: removeFilter, + onAddNode: addNode + }, null, 8, ["filters"]) + ]), + _: 1 + }, 8, ["visible", "dismissable-mask"]) + ]); + }; + } +}); +const _sfc_main$g = /* @__PURE__ */ defineComponent({ + __name: "SidebarIcon", + props: { + icon: String, + selected: Boolean, + tooltip: { + type: String, + default: "" + }, + class: { + type: String, + default: "" + }, + iconBadge: { + type: [String, Function], + default: "" + } + }, + emits: ["click"], + setup(__props, { emit: __emit }) { + const props = __props; + const emit = __emit; + const overlayValue = computed( + () => typeof props.iconBadge === "function" ? props.iconBadge() || "" : props.iconBadge + ); + const shouldShowBadge = computed(() => !!overlayValue.value); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createBlock(unref(script), { + class: normalizeClass(props.class), + text: "", + pt: { + root: { + class: `side-bar-button ${props.selected ? "p-button-primary side-bar-button-selected" : "p-button-secondary"}`, + "aria-label": props.tooltip + } + }, + onClick: _cache[0] || (_cache[0] = ($event) => emit("click", $event)) + }, { + icon: withCtx(() => [ + shouldShowBadge.value ? (openBlock(), createBlock(unref(script$b), { + key: 0, + value: overlayValue.value + }, { + default: withCtx(() => [ + createBaseVNode("i", { + class: normalizeClass(props.icon + " side-bar-button-icon") + }, null, 2) + ]), + _: 1 + }, 8, ["value"])) : (openBlock(), createElementBlock("i", { + key: 1, + class: normalizeClass(props.icon + " side-bar-button-icon") + }, null, 2)) + ]), + _: 1 + }, 8, ["class", "pt"])), [ + [_directive_tooltip, { value: props.tooltip, showDelay: 300, hideDelay: 300 }] + ]); + }; + } +}); +const SidebarIcon = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-6ab4daa6"]]); +const _sfc_main$f = /* @__PURE__ */ defineComponent({ + __name: "SidebarLogoutIcon", + setup(__props) { + const { t: t2 } = useI18n(); + const userStore = useUserStore(); + const tooltip = computed( + () => `${t2("sideToolbar.logout")} (${userStore.currentUser?.username})` + ); + const logout = /* @__PURE__ */ __name(() => { + userStore.logout(); + window.location.reload(); + }, "logout"); + return (_ctx, _cache) => { + return openBlock(), createBlock(SidebarIcon, { + icon: "pi pi-sign-out", + tooltip: tooltip.value, + onClick: logout + }, null, 8, ["tooltip"]); + }; + } +}); +const _sfc_main$e = /* @__PURE__ */ defineComponent({ + __name: "SidebarSettingsToggleIcon", + setup(__props) { + const dialogStore = useDialogStore(); + const showSetting = /* @__PURE__ */ __name(() => { + dialogStore.showDialog({ + key: "global-settings", + headerComponent: SettingDialogHeader, + component: SettingDialogContent + }); + }, "showSetting"); + return (_ctx, _cache) => { + return openBlock(), createBlock(SidebarIcon, { + icon: "pi pi-cog", + class: "comfy-settings-btn", + onClick: showSetting, + tooltip: _ctx.$t("g.settings") + }, null, 8, ["tooltip"]); + }; + } +}); +const _sfc_main$d = /* @__PURE__ */ defineComponent({ + __name: "SidebarThemeToggleIcon", + setup(__props) { + const colorPaletteStore = useColorPaletteStore(); + const icon = computed( + () => colorPaletteStore.completedActivePalette.light_theme ? "pi pi-sun" : "pi pi-moon" + ); + const commandStore = useCommandStore(); + const toggleTheme = /* @__PURE__ */ __name(() => { + commandStore.execute("Comfy.ToggleTheme"); + }, "toggleTheme"); + return (_ctx, _cache) => { + return openBlock(), createBlock(SidebarIcon, { + icon: icon.value, + onClick: toggleTheme, + tooltip: _ctx.$t("sideToolbar.themeToggle"), + class: "comfy-vue-theme-toggle" + }, null, 8, ["icon", "tooltip"]); + }; + } +}); +const _hoisted_1$d = { class: "side-tool-bar-end" }; +const _hoisted_2$3 = { + key: 0, + class: "sidebar-content-container h-full overflow-y-auto overflow-x-hidden" +}; +const _sfc_main$c = /* @__PURE__ */ defineComponent({ + __name: "SideToolbar", + setup(__props) { + const workspaceStore = useWorkspaceStore(); + const settingStore = useSettingStore(); + const userStore = useUserStore(); + const teleportTarget = computed( + () => settingStore.get("Comfy.Sidebar.Location") === "left" ? ".comfyui-body-left" : ".comfyui-body-right" + ); + const isSmall = computed( + () => settingStore.get("Comfy.Sidebar.Size") === "small" + ); + const tabs = computed(() => workspaceStore.getSidebarTabs()); + const selectedTab = computed(() => workspaceStore.sidebarTab.activeSidebarTab); + const onTabClick = /* @__PURE__ */ __name((item) => { + workspaceStore.sidebarTab.toggleSidebarTab(item.id); + }, "onTabClick"); + const keybindingStore = useKeybindingStore(); + const getTabTooltipSuffix = /* @__PURE__ */ __name((tab) => { + const keybinding = keybindingStore.getKeybindingByCommandId( + `Workspace.ToggleSidebarTab.${tab.id}` + ); + return keybinding ? ` (${keybinding.combo.toString()})` : ""; + }, "getTabTooltipSuffix"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + (openBlock(), createBlock(Teleport, { to: teleportTarget.value }, [ + createBaseVNode("nav", { + class: normalizeClass(["side-tool-bar-container", { "small-sidebar": isSmall.value }]) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab) => { + return openBlock(), createBlock(SidebarIcon, { + key: tab.id, + icon: tab.icon, + iconBadge: tab.iconBadge, + tooltip: tab.tooltip + getTabTooltipSuffix(tab), + selected: tab.id === selectedTab.value?.id, + class: normalizeClass(tab.id + "-tab-button"), + onClick: /* @__PURE__ */ __name(($event) => onTabClick(tab), "onClick") + }, null, 8, ["icon", "iconBadge", "tooltip", "selected", "class", "onClick"]); + }), 128)), + createBaseVNode("div", _hoisted_1$d, [ + unref(userStore).isMultiUserServer ? (openBlock(), createBlock(_sfc_main$f, { key: 0 })) : createCommentVNode("", true), + createVNode(_sfc_main$d), + createVNode(_sfc_main$e) + ]) + ], 2) + ], 8, ["to"])), + selectedTab.value ? (openBlock(), createElementBlock("div", _hoisted_2$3, [ + createVNode(_sfc_main$q, { extension: selectedTab.value }, null, 8, ["extension"]) + ])) : createCommentVNode("", true) + ], 64); + }; + } +}); +const SideToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-33cac83a"]]); +const _hoisted_1$c = { class: "workflow-label text-sm max-w-[150px] truncate inline-block" }; +const _hoisted_2$2 = { class: "relative" }; +const _hoisted_3$2 = { + key: 0, + class: "status-indicator" +}; +const _sfc_main$b = /* @__PURE__ */ defineComponent({ + __name: "WorkflowTab", + props: { + class: {}, + workflowOption: {} + }, + setup(__props) { + const props = __props; + const workspaceStore = useWorkspaceStore(); + const workflowStore = useWorkflowStore(); + const workflowTabRef = ref(null); + const closeWorkflows = /* @__PURE__ */ __name(async (options) => { + for (const opt of options) { + if (!await useWorkflowService().closeWorkflow(opt.workflow, { + warnIfUnsaved: !workspaceStore.shiftDown + })) { + break; + } + } + }, "closeWorkflows"); + const onCloseWorkflow = /* @__PURE__ */ __name((option) => { + closeWorkflows([option]); + }, "onCloseWorkflow"); + const tabGetter = /* @__PURE__ */ __name(() => workflowTabRef.value, "tabGetter"); + usePragmaticDraggable(tabGetter, { + getInitialData: /* @__PURE__ */ __name(() => { + return { + workflowKey: props.workflowOption.workflow.key + }; + }, "getInitialData") + }); + usePragmaticDroppable(tabGetter, { + getData: /* @__PURE__ */ __name(() => { + return { + workflowKey: props.workflowOption.workflow.key + }; + }, "getData"), + onDrop: /* @__PURE__ */ __name((e) => { + const fromIndex = workflowStore.openWorkflows.findIndex( + (wf) => wf.key === e.source.data.workflowKey + ); + const toIndex = workflowStore.openWorkflows.findIndex( + (wf) => wf.key === e.location.current.dropTargets[0]?.data.workflowKey + ); + if (fromIndex !== toIndex) { + workflowStore.reorderWorkflows(fromIndex, toIndex); + } + }, "onDrop") + }); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", mergeProps({ + class: "flex p-2 gap-2 workflow-tab", + ref_key: "workflowTabRef", + ref: workflowTabRef + }, _ctx.$attrs), [ + withDirectives((openBlock(), createElementBlock("span", _hoisted_1$c, [ + createTextVNode(toDisplayString(_ctx.workflowOption.workflow.filename), 1) + ])), [ + [ + _directive_tooltip, + _ctx.workflowOption.workflow.key, + void 0, + { bottom: true } + ] + ]), + createBaseVNode("div", _hoisted_2$2, [ + !unref(workspaceStore).shiftDown && (_ctx.workflowOption.workflow.isModified || !_ctx.workflowOption.workflow.isPersisted) ? (openBlock(), createElementBlock("span", _hoisted_3$2, "•")) : createCommentVNode("", true), + createVNode(unref(script), { + class: "close-button p-0 w-auto", + icon: "pi pi-times", + text: "", + severity: "secondary", + size: "small", + onClick: _cache[0] || (_cache[0] = withModifiers(($event) => onCloseWorkflow(_ctx.workflowOption), ["stop"])) + }) + ]) + ], 16); + }; + } +}); +const WorkflowTab = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-8d011a31"]]); +const _hoisted_1$b = { class: "workflow-tabs-container flex flex-row max-w-full h-full" }; +const _sfc_main$a = /* @__PURE__ */ defineComponent({ + __name: "WorkflowTabs", + props: { + class: {} + }, + setup(__props) { + const props = __props; + const { t: t2 } = useI18n(); + const workspaceStore = useWorkspaceStore(); + const workflowStore = useWorkflowStore(); + const workflowService = useWorkflowService(); + const workflowBookmarkStore = useWorkflowBookmarkStore(); + const rightClickedTab = ref(null); + const menu = ref(); + const workflowToOption = /* @__PURE__ */ __name((workflow) => ({ + value: workflow.path, + workflow + }), "workflowToOption"); + const options = computed( + () => workflowStore.openWorkflows.map(workflowToOption) + ); + const selectedWorkflow = computed( + () => workflowStore.activeWorkflow ? workflowToOption(workflowStore.activeWorkflow) : null + ); + const onWorkflowChange = /* @__PURE__ */ __name((option) => { + if (!option) { + return; + } + if (selectedWorkflow.value?.value === option.value) { + return; + } + workflowService.openWorkflow(option.workflow); + }, "onWorkflowChange"); + const closeWorkflows = /* @__PURE__ */ __name(async (options2) => { + for (const opt of options2) { + if (!await workflowService.closeWorkflow(opt.workflow, { + warnIfUnsaved: !workspaceStore.shiftDown + })) { + break; + } + } + }, "closeWorkflows"); + const onCloseWorkflow = /* @__PURE__ */ __name((option) => { + closeWorkflows([option]); + }, "onCloseWorkflow"); + const showContextMenu = /* @__PURE__ */ __name((event, option) => { + rightClickedTab.value = option; + menu.value.show(event); + }, "showContextMenu"); + const contextMenuItems = computed(() => { + const tab = rightClickedTab.value; + if (!tab) return []; + const index = options.value.findIndex((v) => v.workflow === tab.workflow); + return [ + { + label: t2("tabMenu.duplicateTab"), + command: /* @__PURE__ */ __name(() => { + workflowService.duplicateWorkflow(tab.workflow); + }, "command") + }, + { + separator: true + }, + { + label: t2("tabMenu.closeTab"), + command: /* @__PURE__ */ __name(() => onCloseWorkflow(tab), "command") + }, + { + label: t2("tabMenu.closeTabsToLeft"), + command: /* @__PURE__ */ __name(() => closeWorkflows(options.value.slice(0, index)), "command"), + disabled: index <= 0 + }, + { + label: t2("tabMenu.closeTabsToRight"), + command: /* @__PURE__ */ __name(() => closeWorkflows(options.value.slice(index + 1)), "command"), + disabled: index === options.value.length - 1 + }, + { + label: t2("tabMenu.closeOtherTabs"), + command: /* @__PURE__ */ __name(() => closeWorkflows([ + ...options.value.slice(index + 1), + ...options.value.slice(0, index) + ]), "command"), + disabled: options.value.length <= 1 + }, + { + label: workflowBookmarkStore.isBookmarked(tab.workflow.path) ? t2("tabMenu.removeFromBookmarks") : t2("tabMenu.addToBookmarks"), + command: /* @__PURE__ */ __name(() => workflowBookmarkStore.toggleBookmarked(tab.workflow.path), "command"), + disabled: tab.workflow.isTemporary + } + ]; + }); + const commandStore = useCommandStore(); + const handleWheel = /* @__PURE__ */ __name((event) => { + const scrollElement = event.currentTarget; + const scrollAmount = event.deltaX || event.deltaY; + scrollElement.scroll({ + left: scrollElement.scrollLeft + scrollAmount + }); + }, "handleWheel"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", _hoisted_1$b, [ + createVNode(unref(script$d), { + class: "overflow-hidden no-drag", + "pt:content": { + class: "p-0 w-full", + onwheel: handleWheel + }, + "pt:barX": "h-1" + }, { + default: withCtx(() => [ + createVNode(unref(script$c), { + class: normalizeClass(["workflow-tabs bg-transparent", props.class]), + modelValue: selectedWorkflow.value, + "onUpdate:modelValue": onWorkflowChange, + options: options.value, + optionLabel: "label", + dataKey: "value" + }, { + option: withCtx(({ option }) => [ + createVNode(WorkflowTab, { + onContextmenu: /* @__PURE__ */ __name(($event) => showContextMenu($event, option), "onContextmenu"), + onMouseup: withModifiers(($event) => onCloseWorkflow(option), ["middle"]), + "workflow-option": option + }, null, 8, ["onContextmenu", "onMouseup", "workflow-option"]) + ]), + _: 1 + }, 8, ["class", "modelValue", "options"]) + ]), + _: 1 + }, 8, ["pt:content"]), + withDirectives(createVNode(unref(script), { + class: "new-blank-workflow-button flex-shrink-0 no-drag", + icon: "pi pi-plus", + text: "", + severity: "secondary", + "aria-label": _ctx.$t("sideToolbar.newBlankWorkflow"), + onClick: _cache[0] || (_cache[0] = () => unref(commandStore).execute("Comfy.NewBlankWorkflow")) + }, null, 8, ["aria-label"]), [ + [_directive_tooltip, { value: _ctx.$t("sideToolbar.newBlankWorkflow"), showDelay: 300 }] + ]), + createVNode(unref(script$e), { + ref_key: "menu", + ref: menu, + model: contextMenuItems.value + }, null, 8, ["model"]) + ]); + }; + } +}); +const WorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-54fadc45"]]); +const _hoisted_1$a = { class: "absolute top-0 left-0 w-auto max-w-full pointer-events-auto" }; +const _sfc_main$9 = /* @__PURE__ */ defineComponent({ + __name: "SecondRowWorkflowTabs", + setup(__props) { + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$a, [ + createVNode(WorkflowTabs) + ]); + }; + } +}); +const SecondRowWorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-38831d8e"]]); +const CORE_SETTINGS = [ + { + id: "Comfy.Validation.Workflows", + name: "Validate workflows", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.NodeSearchBoxImpl", + category: ["Comfy", "Node Search Box", "Implementation"], + experimental: true, + name: "Node search box implementation", + type: "combo", + options: ["default", "litegraph (legacy)"], + defaultValue: "default" + }, + { + id: "Comfy.LinkRelease.Action", + category: ["LiteGraph", "LinkRelease", "Action"], + name: "Action on link release (No modifier)", + type: "combo", + options: Object.values(LinkReleaseTriggerAction), + defaultValue: LinkReleaseTriggerAction.CONTEXT_MENU + }, + { + id: "Comfy.LinkRelease.ActionShift", + category: ["LiteGraph", "LinkRelease", "ActionShift"], + name: "Action on link release (Shift)", + type: "combo", + options: Object.values(LinkReleaseTriggerAction), + defaultValue: LinkReleaseTriggerAction.SEARCH_BOX + }, + { + id: "Comfy.NodeSearchBoxImpl.NodePreview", + category: ["Comfy", "Node Search Box", "NodePreview"], + name: "Node preview", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.NodeSearchBoxImpl.ShowCategory", + category: ["Comfy", "Node Search Box", "ShowCategory"], + name: "Show node category in search results", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.NodeSearchBoxImpl.ShowIdName", + category: ["Comfy", "Node Search Box", "ShowIdName"], + name: "Show node id name in search results", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.NodeSearchBoxImpl.ShowNodeFrequency", + category: ["Comfy", "Node Search Box", "ShowNodeFrequency"], + name: "Show node frequency in search results", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Sidebar.Location", + category: ["Appearance", "Sidebar", "Location"], + name: "Sidebar location", + type: "combo", + options: ["left", "right"], + defaultValue: "left" + }, + { + id: "Comfy.Sidebar.Size", + category: ["Appearance", "Sidebar", "Size"], + name: "Sidebar size", + type: "combo", + options: ["normal", "small"], + // Default to small if the window is less than 1536px(2xl) wide. + defaultValue: /* @__PURE__ */ __name(() => window.innerWidth < 1536 ? "small" : "normal", "defaultValue") + }, + { + id: "Comfy.TextareaWidget.FontSize", + category: ["Appearance", "Node Widget", "TextareaWidget", "FontSize"], + name: "Textarea widget font size", + type: "slider", + defaultValue: 10, + attrs: { + min: 8, + max: 24 + } + }, + { + id: "Comfy.TextareaWidget.Spellcheck", + category: ["Comfy", "Node Widget", "TextareaWidget", "Spellcheck"], + name: "Textarea widget spellcheck", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Workflow.SortNodeIdOnSave", + name: "Sort node IDs when saving workflow", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Graph.CanvasInfo", + category: ["LiteGraph", "Canvas", "CanvasInfo"], + name: "Show canvas info on bottom left corner (fps, etc.)", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Node.ShowDeprecated", + name: "Show deprecated nodes in search", + tooltip: "Deprecated nodes are hidden by default in the UI, but remain functional in existing workflows that use them.", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Node.ShowExperimental", + name: "Show experimental nodes in search", + tooltip: "Experimental nodes are marked as such in the UI and may be subject to significant changes or removal in future versions. Use with caution in production workflows", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Node.Opacity", + category: ["Appearance", "Node", "Opacity"], + name: "Node opacity", + type: "slider", + defaultValue: 1, + attrs: { + min: 0.01, + max: 1, + step: 0.01 + } + }, + { + id: "Comfy.Workflow.ShowMissingNodesWarning", + name: "Show missing nodes warning", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Workflow.ShowMissingModelsWarning", + name: "Show missing models warning", + type: "boolean", + defaultValue: true, + experimental: true + }, + { + id: "Comfy.Graph.ZoomSpeed", + category: ["LiteGraph", "Canvas", "ZoomSpeed"], + name: "Canvas zoom speed", + type: "slider", + defaultValue: 1.1, + attrs: { + min: 1.01, + max: 2.5, + step: 0.01 + } + }, + // Bookmarks are stored in the settings store. + // Bookmarks are in format of category/display_name. e.g. "conditioning/CLIPTextEncode" + { + id: "Comfy.NodeLibrary.Bookmarks", + name: "Node library bookmarks with display name (deprecated)", + type: "hidden", + defaultValue: [], + deprecated: true + }, + { + id: "Comfy.NodeLibrary.Bookmarks.V2", + name: "Node library bookmarks v2 with unique name", + type: "hidden", + defaultValue: [] + }, + // Stores mapping from bookmark folder name to its customization. + { + id: "Comfy.NodeLibrary.BookmarksCustomization", + name: "Node library bookmarks customization", + type: "hidden", + defaultValue: {} + }, + // Hidden setting used by the queue for how to fit images + { + id: "Comfy.Queue.ImageFit", + name: "Queue image fit", + type: "hidden", + defaultValue: "cover" + }, + { + id: "Comfy.GroupSelectedNodes.Padding", + category: ["LiteGraph", "Group", "Padding"], + name: "Group selected nodes padding", + type: "slider", + defaultValue: 10, + attrs: { + min: 0, + max: 100 + } + }, + { + id: "Comfy.Node.DoubleClickTitleToEdit", + category: ["LiteGraph", "Node", "DoubleClickTitleToEdit"], + name: "Double click node title to edit", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Group.DoubleClickTitleToEdit", + category: ["LiteGraph", "Group", "DoubleClickTitleToEdit"], + name: "Double click group title to edit", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Window.UnloadConfirmation", + name: "Show confirmation when closing window", + type: "boolean", + defaultValue: true, + versionModified: "1.7.12" + }, + { + id: "Comfy.TreeExplorer.ItemPadding", + category: ["Appearance", "Tree Explorer", "ItemPadding"], + name: "Tree explorer item padding", + type: "slider", + defaultValue: 2, + attrs: { + min: 0, + max: 8, + step: 1 + } + }, + { + id: "Comfy.ModelLibrary.AutoLoadAll", + name: "Automatically load all model folders", + tooltip: "If true, all folders will load as soon as you open the model library (this may cause delays while it loads). If false, root level model folders will only load once you click on them.", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.ModelLibrary.NameFormat", + name: "What name to display in the model library tree view", + tooltip: 'Select "filename" to render a simplified view of the raw filename (without directory or ".safetensors" extension) in the model list. Select "title" to display the configurable model metadata title.', + type: "combo", + options: ["filename", "title"], + defaultValue: "title" + }, + { + id: "Comfy.Locale", + name: "Language", + type: "combo", + options: [ + { value: "en", text: "English" }, + { value: "zh", text: "中文" }, + { value: "ru", text: "Русский" }, + { value: "ja", text: "日本語" }, + { value: "ko", text: "한국어" }, + { value: "fr", text: "Français" } + ], + defaultValue: /* @__PURE__ */ __name(() => navigator.language.split("-")[0] || "en", "defaultValue") + }, + { + id: "Comfy.NodeBadge.NodeSourceBadgeMode", + category: ["LiteGraph", "Node", "NodeSourceBadgeMode"], + name: "Node source badge mode", + type: "combo", + options: Object.values(NodeBadgeMode), + defaultValue: NodeBadgeMode.HideBuiltIn + }, + { + id: "Comfy.NodeBadge.NodeIdBadgeMode", + category: ["LiteGraph", "Node", "NodeIdBadgeMode"], + name: "Node ID badge mode", + type: "combo", + options: [NodeBadgeMode.None, NodeBadgeMode.ShowAll], + defaultValue: NodeBadgeMode.None + }, + { + id: "Comfy.NodeBadge.NodeLifeCycleBadgeMode", + category: ["LiteGraph", "Node", "NodeLifeCycleBadgeMode"], + name: "Node life cycle badge mode", + type: "combo", + options: [NodeBadgeMode.None, NodeBadgeMode.ShowAll], + defaultValue: NodeBadgeMode.ShowAll + }, + { + id: "Comfy.ConfirmClear", + category: ["Comfy", "Workflow", "ConfirmClear"], + name: "Require confirmation when clearing workflow", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.PromptFilename", + category: ["Comfy", "Workflow", "PromptFilename"], + name: "Prompt for filename when saving workflow", + type: "boolean", + defaultValue: true + }, + /** + * file format for preview + * + * format;quality + * + * ex) + * webp;50 -> webp, quality 50 + * jpeg;80 -> rgb, jpeg, quality 80 + * + * @type {string} + */ + { + id: "Comfy.PreviewFormat", + category: ["LiteGraph", "Node Widget", "PreviewFormat"], + name: "Preview image format", + tooltip: "When displaying a preview in the image widget, convert it to a lightweight image, e.g. webp, jpeg, webp;50, etc.", + type: "text", + defaultValue: "" + }, + { + id: "Comfy.DisableSliders", + category: ["LiteGraph", "Node Widget", "DisableSliders"], + name: "Disable node widget sliders", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.DisableFloatRounding", + category: ["LiteGraph", "Node Widget", "DisableFloatRounding"], + name: "Disable default float widget rounding.", + tooltip: "(requires page reload) Cannot disable round when round is set by the node in the backend.", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.FloatRoundingPrecision", + category: ["LiteGraph", "Node Widget", "FloatRoundingPrecision"], + name: "Float widget rounding decimal places [0 = auto].", + tooltip: "(requires page reload)", + type: "slider", + attrs: { + min: 0, + max: 6, + step: 1 + }, + defaultValue: 0 + }, + { + id: "Comfy.EnableTooltips", + category: ["LiteGraph", "Node", "EnableTooltips"], + name: "Enable Tooltips", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.DevMode", + name: "Enable dev mode options (API save, etc.)", + type: "boolean", + defaultValue: false, + onChange: /* @__PURE__ */ __name((value) => { + const element = document.getElementById("comfy-dev-save-api-button"); + if (element) { + element.style.display = value ? "flex" : "none"; + } + }, "onChange") + }, + { + id: "Comfy.UseNewMenu", + category: ["Comfy", "Menu", "UseNewMenu"], + defaultValue: "Top", + name: "Use new menu", + type: "combo", + options: ["Disabled", "Top", "Bottom"], + migrateDeprecatedValue: /* @__PURE__ */ __name((value) => { + if (value === "Floating") { + return "Top"; + } + return value; + }, "migrateDeprecatedValue") + }, + { + id: "Comfy.Workflow.WorkflowTabsPosition", + name: "Opened workflows position", + type: "combo", + options: ["Sidebar", "Topbar", "Topbar (2nd-row)"], + // Default to topbar (2nd-row) if the window is less than 1536px(2xl) wide. + defaultValue: /* @__PURE__ */ __name(() => window.innerWidth < 1536 ? "Topbar (2nd-row)" : "Topbar", "defaultValue") + }, + { + id: "Comfy.Graph.CanvasMenu", + category: ["LiteGraph", "Canvas", "CanvasMenu"], + name: "Show graph canvas menu", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.QueueButton.BatchCountLimit", + name: "Batch count limit", + tooltip: "The maximum number of tasks added to the queue at one button click", + type: "number", + defaultValue: 100, + versionAdded: "1.3.5" + }, + { + id: "Comfy.Keybinding.UnsetBindings", + name: "Keybindings unset by the user", + type: "hidden", + defaultValue: [], + versionAdded: "1.3.7", + versionModified: "1.7.3", + migrateDeprecatedValue: /* @__PURE__ */ __name((value) => { + return value.map((keybinding) => { + if (keybinding["targetSelector"] === "#graph-canvas") { + keybinding["targetElementId"] = "graph-canvas"; + } + return keybinding; + }); + }, "migrateDeprecatedValue") + }, + { + id: "Comfy.Keybinding.NewBindings", + name: "Keybindings set by the user", + type: "hidden", + defaultValue: [], + versionAdded: "1.3.7" + }, + { + id: "Comfy.Extension.Disabled", + name: "Disabled extension names", + type: "hidden", + defaultValue: [], + versionAdded: "1.3.11" + }, + { + id: "Comfy.Validation.NodeDefs", + name: "Validate node definitions (slow)", + type: "boolean", + tooltip: "Recommended for node developers. This will validate all node definitions on startup.", + defaultValue: false, + versionAdded: "1.3.14" + }, + { + id: "Comfy.LinkRenderMode", + category: ["LiteGraph", "Graph", "LinkRenderMode"], + name: "Link Render Mode", + defaultValue: 2, + type: "combo", + options: [ + { value: LiteGraph.STRAIGHT_LINK, text: "Straight" }, + { value: LiteGraph.LINEAR_LINK, text: "Linear" }, + { value: LiteGraph.SPLINE_LINK, text: "Spline" }, + { value: LiteGraph.HIDDEN_LINK, text: "Hidden" } + ] + }, + { + id: "Comfy.Node.AutoSnapLinkToSlot", + category: ["LiteGraph", "Node", "AutoSnapLinkToSlot"], + name: "Auto snap link to node slot", + tooltip: "When dragging a link over a node, the link automatically snap to a viable input slot on the node", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.29" + }, + { + id: "Comfy.Node.SnapHighlightsNode", + category: ["LiteGraph", "Node", "SnapHighlightsNode"], + name: "Snap highlights node", + tooltip: "When dragging a link over a node with viable input slot, highlight the node", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.29" + }, + { + id: "Comfy.Node.BypassAllLinksOnDelete", + category: ["LiteGraph", "Node", "BypassAllLinksOnDelete"], + name: "Keep all links when deleting nodes", + tooltip: "When deleting a node, attempt to reconnect all of its input and output links (bypassing the deleted node)", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.40" + }, + { + id: "Comfy.Node.MiddleClickRerouteNode", + category: ["LiteGraph", "Node", "MiddleClickRerouteNode"], + name: "Middle-click creates a new Reroute node", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.42" + }, + { + id: "Comfy.RerouteBeta", + category: ["LiteGraph", "RerouteBeta"], + name: "Opt-in to the reroute beta test", + tooltip: "Enables the new native reroutes.\n\nReroutes can be added by holding alt and dragging from a link line, or on the link menu.\n\nDisabling this option is non-destructive - reroutes are hidden.", + experimental: true, + type: "boolean", + defaultValue: false, + versionAdded: "1.3.42" + }, + { + id: "Comfy.Graph.LinkMarkers", + category: ["LiteGraph", "Link", "LinkMarkers"], + name: "Link midpoint markers", + defaultValue: LinkMarkerShape.Circle, + type: "combo", + options: [ + { value: LinkMarkerShape.None, text: "None" }, + { value: LinkMarkerShape.Circle, text: "Circle" }, + { value: LinkMarkerShape.Arrow, text: "Arrow" } + ], + versionAdded: "1.3.42" + }, + { + id: "Comfy.DOMClippingEnabled", + category: ["LiteGraph", "Node", "DOMClippingEnabled"], + name: "Enable DOM element clipping (enabling may reduce performance)", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Graph.CtrlShiftZoom", + category: ["LiteGraph", "Canvas", "CtrlShiftZoom"], + name: "Enable fast-zoom shortcut (Ctrl + Shift + Drag)", + type: "boolean", + defaultValue: true, + versionAdded: "1.4.0" + }, + { + id: "Comfy.Pointer.ClickDrift", + category: ["LiteGraph", "Pointer", "ClickDrift"], + name: "Pointer click drift (maximum distance)", + tooltip: "If the pointer moves more than this distance while holding a button down, it is considered dragging (rather than clicking).\n\nHelps prevent objects from being unintentionally nudged if the pointer is moved whilst clicking.", + experimental: true, + type: "slider", + attrs: { + min: 0, + max: 20, + step: 1 + }, + defaultValue: 6, + versionAdded: "1.4.3" + }, + { + id: "Comfy.Pointer.ClickBufferTime", + category: ["LiteGraph", "Pointer", "ClickBufferTime"], + name: "Pointer click drift delay", + tooltip: "After pressing a pointer button down, this is the maximum time (in milliseconds) that pointer movement can be ignored for.\n\nHelps prevent objects from being unintentionally nudged if the pointer is moved whilst clicking.", + experimental: true, + type: "slider", + attrs: { + min: 0, + max: 1e3, + step: 25 + }, + defaultValue: 150, + versionAdded: "1.4.3" + }, + { + id: "Comfy.Pointer.DoubleClickTime", + category: ["LiteGraph", "Pointer", "DoubleClickTime"], + name: "Double click interval (maximum)", + tooltip: "The maximum time in milliseconds between the two clicks of a double-click. Increasing this value may assist if double-clicks are sometimes not registered.", + type: "slider", + attrs: { + min: 100, + max: 1e3, + step: 50 + }, + defaultValue: 300, + versionAdded: "1.4.3" + }, + { + id: "Comfy.SnapToGrid.GridSize", + category: ["LiteGraph", "Canvas", "GridSize"], + name: "Snap to grid size", + type: "slider", + attrs: { + min: 1, + max: 500 + }, + tooltip: "When dragging and resizing nodes while holding shift they will be aligned to the grid, this controls the size of that grid.", + defaultValue: LiteGraph.CANVAS_GRID_SIZE + }, + // Keep the 'pysssss.SnapToGrid' setting id so we don't need to migrate setting values. + // Using a new setting id can cause existing users to lose their existing settings. + { + id: "pysssss.SnapToGrid", + category: ["LiteGraph", "Canvas", "AlwaysSnapToGrid"], + name: "Always snap to grid", + type: "boolean", + defaultValue: false, + versionAdded: "1.3.13" + }, + { + id: "Comfy.Server.ServerConfigValues", + name: "Server config values for frontend display", + tooltip: "Server config values used for frontend display only", + type: "hidden", + // Mapping from server config id to value. + defaultValue: {}, + versionAdded: "1.4.8" + }, + { + id: "Comfy.Server.LaunchArgs", + name: "Server launch arguments", + tooltip: "These are the actual arguments that are passed to the server when it is launched.", + type: "hidden", + defaultValue: {}, + versionAdded: "1.4.8" + }, + { + id: "Comfy.Queue.MaxHistoryItems", + name: "Queue history size", + tooltip: "The maximum number of tasks that show in the queue history.", + type: "slider", + attrs: { + min: 16, + max: 256, + step: 16 + }, + defaultValue: 64, + versionAdded: "1.4.12" + }, + { + id: "LiteGraph.Canvas.MaximumFps", + name: "Maxium FPS", + tooltip: "The maximum frames per second that the canvas is allowed to render. Caps GPU usage at the cost of smoothness. If 0, the screen refresh rate is used. Default: 0", + type: "slider", + attrs: { + min: 0, + max: 120 + }, + defaultValue: 0, + versionAdded: "1.5.1" + }, + { + id: "Comfy.EnableWorkflowViewRestore", + category: ["Comfy", "Workflow", "EnableWorkflowViewRestore"], + name: "Save and restore canvas position and zoom level in workflows", + type: "boolean", + defaultValue: true, + versionModified: "1.5.4" + }, + { + id: "Comfy.Workflow.ConfirmDelete", + name: "Show confirmation when deleting workflows", + type: "boolean", + defaultValue: true, + versionAdded: "1.5.6" + }, + { + id: "Comfy.ColorPalette", + name: "The active color palette id", + type: "hidden", + defaultValue: "dark", + versionModified: "1.6.7", + migrateDeprecatedValue(value) { + return value.startsWith("custom_") ? value.replace("custom_", "") : value; + } + }, + { + id: "Comfy.CustomColorPalettes", + name: "Custom color palettes", + type: "hidden", + defaultValue: {}, + versionModified: "1.6.7" + }, + { + id: "Comfy.WidgetControlMode", + category: ["Comfy", "Node Widget", "WidgetControlMode"], + name: "Widget control mode", + tooltip: "Controls when widget values are updated (randomize/increment/decrement), either before the prompt is queued or after.", + type: "combo", + defaultValue: "after", + options: ["before", "after"], + versionModified: "1.6.10" + }, + { + id: "Comfy.TutorialCompleted", + name: "Tutorial completed", + type: "hidden", + defaultValue: false, + versionAdded: "1.8.7" + }, + { + id: "LiteGraph.ContextMenu.Scaling", + name: "Scale node combo widget menus (lists) when zoomed in", + defaultValue: false, + type: "boolean", + versionAdded: "1.8.8" + } +]; +const useCanvasDrop = /* @__PURE__ */ __name((canvasRef) => { + const modelToNodeStore = useModelToNodeStore(); + const litegraphService = useLitegraphService(); + usePragmaticDroppable(() => canvasRef.value, { + getDropEffect: /* @__PURE__ */ __name((args) => args.source.data.type === "tree-explorer-node" ? "copy" : "move", "getDropEffect"), + onDrop: /* @__PURE__ */ __name((event) => { + const loc = event.location.current.input; + const dndData = event.source.data; + if (dndData.type === "tree-explorer-node") { + const node = dndData.data; + if (node.data instanceof ComfyNodeDefImpl) { + const nodeDef = node.data; + const pos = app.clientPosToCanvasPos([ + loc.clientX, + loc.clientY + LiteGraph.NODE_TITLE_HEIGHT + ]); + litegraphService.addNodeOnGraph(nodeDef, { pos }); + } else if (node.data instanceof ComfyModelDef) { + const model = node.data; + const pos = app.clientPosToCanvasPos([loc.clientX, loc.clientY]); + const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1]); + let targetProvider = null; + let targetGraphNode = null; + if (nodeAtPos) { + const providers = modelToNodeStore.getAllNodeProviders( + model.directory + ); + for (const provider of providers) { + if (provider.nodeDef.name === nodeAtPos.comfyClass) { + targetGraphNode = nodeAtPos; + targetProvider = provider; + } + } + } + if (!targetGraphNode) { + const provider = modelToNodeStore.getNodeProvider(model.directory); + if (provider) { + targetGraphNode = litegraphService.addNodeOnGraph( + provider.nodeDef, + { + pos + } + ); + targetProvider = provider; + } + } + if (targetGraphNode) { + const widget = targetGraphNode.widgets?.find( + (widget2) => widget2.name === targetProvider?.key + ); + if (widget) { + widget.value = model.file_name; + } + } + } + } + }, "onDrop") + }); +}, "useCanvasDrop"); +const useGlobalLitegraph = /* @__PURE__ */ __name(() => { + window["LiteGraph"] = LiteGraph; + window["LGraph"] = LGraph; + window["LLink"] = LLink; + window["LGraphNode"] = LGraphNode; + window["LGraphGroup"] = LGraphGroup; + window["DragAndScale"] = DragAndScale; + window["LGraphCanvas"] = LGraphCanvas; + window["ContextMenu"] = ContextMenu; + window["LGraphBadge"] = LGraphBadge; +}, "useGlobalLitegraph"); +function useWorkflowPersistence() { + const workflowStore = useWorkflowStore(); + const settingStore = useSettingStore(); + const persistCurrentWorkflow = /* @__PURE__ */ __name(() => { + const workflow = JSON.stringify(app.serializeGraph()); + localStorage.setItem("workflow", workflow); + if (api.clientId) { + sessionStorage.setItem(`workflow:${api.clientId}`, workflow); + } + }, "persistCurrentWorkflow"); + const loadWorkflowFromStorage = /* @__PURE__ */ __name(async (json, workflowName) => { + if (!json) return false; + const workflow = JSON.parse(json); + await app.loadGraphData(workflow, true, true, workflowName); + return true; + }, "loadWorkflowFromStorage"); + const loadPreviousWorkflowFromStorage = /* @__PURE__ */ __name(async () => { + const workflowName = getStorageValue("Comfy.PreviousWorkflow"); + const clientId = api.initialClientId ?? api.clientId; + if (clientId) { + const sessionWorkflow = sessionStorage.getItem(`workflow:${clientId}`); + if (await loadWorkflowFromStorage(sessionWorkflow, workflowName)) { + return true; + } + } + const localWorkflow = localStorage.getItem("workflow"); + return await loadWorkflowFromStorage(localWorkflow, workflowName); + }, "loadPreviousWorkflowFromStorage"); + const loadDefaultWorkflow = /* @__PURE__ */ __name(async () => { + if (!settingStore.get("Comfy.TutorialCompleted")) { + await settingStore.set("Comfy.TutorialCompleted", true); + await useModelStore().loadModelFolders(); + await useWorkflowService().loadTutorialWorkflow(); + } else { + await app.loadGraphData(); + } + }, "loadDefaultWorkflow"); + const restorePreviousWorkflow = /* @__PURE__ */ __name(async () => { + try { + const restored = await loadPreviousWorkflowFromStorage(); + if (!restored) { + await loadDefaultWorkflow(); + } + } catch (err) { + console.error("Error loading previous workflow", err); + await loadDefaultWorkflow(); + } + }, "restorePreviousWorkflow"); + watchEffect(() => { + if (workflowStore.activeWorkflow) { + const workflow = workflowStore.activeWorkflow; + setStorageValue("Comfy.PreviousWorkflow", workflow.key); + persistCurrentWorkflow(); + } + }); + api.addEventListener("graphChanged", persistCurrentWorkflow); + const openWorkflows = computed(() => workflowStore.openWorkflows); + const activeWorkflow = computed(() => workflowStore.activeWorkflow); + const restoreState = computed( + () => { + if (!openWorkflows.value || !activeWorkflow.value) { + return { paths: [], activeIndex: -1 }; + } + const paths = openWorkflows.value.filter((workflow) => workflow?.isPersisted && !workflow.isModified).map((workflow) => workflow.path); + const activeIndex = openWorkflows.value.findIndex( + (workflow) => workflow.path === activeWorkflow.value?.path + ); + return { paths, activeIndex }; + } + ); + const storedWorkflows = JSON.parse( + getStorageValue("Comfy.OpenWorkflowsPaths") || "[]" + ); + const storedActiveIndex = JSON.parse( + getStorageValue("Comfy.ActiveWorkflowIndex") || "-1" + ); + watch(restoreState, ({ paths, activeIndex }) => { + setStorageValue("Comfy.OpenWorkflowsPaths", JSON.stringify(paths)); + setStorageValue("Comfy.ActiveWorkflowIndex", JSON.stringify(activeIndex)); + }); + const restoreWorkflowTabsState = /* @__PURE__ */ __name(() => { + const isRestorable = storedWorkflows?.length > 0 && storedActiveIndex >= 0; + if (isRestorable) { + workflowStore.openWorkflowsInBackground({ + left: storedWorkflows.slice(0, storedActiveIndex), + right: storedWorkflows.slice(storedActiveIndex) + }); + } + }, "restoreWorkflowTabsState"); + return { + restorePreviousWorkflow, + restoreWorkflowTabsState + }; +} +__name(useWorkflowPersistence, "useWorkflowPersistence"); +const _sfc_main$8 = /* @__PURE__ */ defineComponent({ + __name: "GraphCanvas", + emits: ["ready"], + setup(__props, { emit: __emit }) { + const emit = __emit; + const canvasRef = ref(null); + const settingStore = useSettingStore(); + const nodeDefStore = useNodeDefStore(); + const workspaceStore = useWorkspaceStore(); + const canvasStore = useCanvasStore(); + const betaMenuEnabled = computed( + () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" + ); + const workflowTabsPosition = computed( + () => settingStore.get("Comfy.Workflow.WorkflowTabsPosition") + ); + const canvasMenuEnabled = computed( + () => settingStore.get("Comfy.Graph.CanvasMenu") + ); + const tooltipEnabled = computed(() => settingStore.get("Comfy.EnableTooltips")); + watchEffect(() => { + const canvasInfoEnabled = settingStore.get("Comfy.Graph.CanvasInfo"); + if (canvasStore.canvas) { + canvasStore.canvas.show_info = canvasInfoEnabled; + } + }); + watchEffect(() => { + const zoomSpeed = settingStore.get("Comfy.Graph.ZoomSpeed"); + if (canvasStore.canvas) { + canvasStore.canvas.zoom_speed = zoomSpeed; + } + }); + watchEffect(() => { + LiteGraph.snaps_for_comfy = settingStore.get("Comfy.Node.AutoSnapLinkToSlot"); + }); + watchEffect(() => { + LiteGraph.snap_highlights_node = settingStore.get( + "Comfy.Node.SnapHighlightsNode" + ); + }); + watchEffect(() => { + LGraphNode.keepAllLinksOnBypass = settingStore.get( + "Comfy.Node.BypassAllLinksOnDelete" + ); + }); + watchEffect(() => { + LiteGraph.middle_click_slot_add_default_node = settingStore.get( + "Comfy.Node.MiddleClickRerouteNode" + ); + }); + watchEffect(() => { + nodeDefStore.showDeprecated = settingStore.get("Comfy.Node.ShowDeprecated"); + }); + watchEffect(() => { + nodeDefStore.showExperimental = settingStore.get( + "Comfy.Node.ShowExperimental" + ); + }); + watchEffect(() => { + const spellcheckEnabled = settingStore.get("Comfy.TextareaWidget.Spellcheck"); + const textareas = document.querySelectorAll("textarea.comfy-multiline-input"); + textareas.forEach((textarea) => { + textarea.spellcheck = spellcheckEnabled; + textarea.focus(); + textarea.blur(); + }); + }); + watchEffect(() => { + const linkRenderMode = settingStore.get("Comfy.LinkRenderMode"); + if (canvasStore.canvas) { + canvasStore.canvas.links_render_mode = linkRenderMode; + canvasStore.canvas.setDirty( + /* fg */ + false, + /* bg */ + true + ); + } + }); + watchEffect(() => { + const linkMarkerShape = settingStore.get("Comfy.Graph.LinkMarkers"); + const { canvas } = canvasStore; + if (canvas) { + canvas.linkMarkerShape = linkMarkerShape; + canvas.setDirty(false, true); + } + }); + watchEffect(() => { + const reroutesEnabled = settingStore.get("Comfy.RerouteBeta"); + const { canvas } = canvasStore; + if (canvas) { + canvas.reroutesEnabled = reroutesEnabled; + canvas.setDirty(false, true); + } + }); + watchEffect(() => { + const maximumFps = settingStore.get("LiteGraph.Canvas.MaximumFps"); + const { canvas } = canvasStore; + if (canvas) canvas.maximumFps = maximumFps; + }); + watchEffect(() => { + CanvasPointer.doubleClickTime = settingStore.get( + "Comfy.Pointer.DoubleClickTime" + ); + }); + watchEffect(() => { + CanvasPointer.bufferTime = settingStore.get("Comfy.Pointer.ClickBufferTime"); + }); + watchEffect(() => { + CanvasPointer.maxClickDrift = settingStore.get("Comfy.Pointer.ClickDrift"); + }); + watchEffect(() => { + LiteGraph.CANVAS_GRID_SIZE = settingStore.get("Comfy.SnapToGrid.GridSize"); + }); + watchEffect(() => { + LiteGraph.alwaysSnapToGrid = settingStore.get("pysssss.SnapToGrid"); + }); + watch( + () => settingStore.get("Comfy.WidgetControlMode"), + () => { + if (!canvasStore.canvas) return; + for (const n of app.graph.nodes) { + if (!n.widgets) continue; + for (const w of n.widgets) { + if (w[IS_CONTROL_WIDGET]) { + updateControlWidgetLabel(w); + if (w.linkedWidgets) { + for (const l of w.linkedWidgets) { + updateControlWidgetLabel(l); + } + } + } + } + } + app.graph.setDirtyCanvas(true); + } + ); + const colorPaletteService = useColorPaletteService(); + const colorPaletteStore = useColorPaletteStore(); + watch( + [() => canvasStore.canvas, () => settingStore.get("Comfy.ColorPalette")], + ([canvas, currentPaletteId]) => { + if (!canvas) return; + colorPaletteService.loadColorPalette(currentPaletteId); + } + ); + watch( + () => colorPaletteStore.activePaletteId, + (newValue) => { + settingStore.set("Comfy.ColorPalette", newValue); + } + ); + watchEffect(() => { + LiteGraph.context_menu_scaling = settingStore.get( + "LiteGraph.ContextMenu.Scaling" + ); + }); + const loadCustomNodesI18n = /* @__PURE__ */ __name(async () => { + try { + const i18nData = await api.getCustomNodesI18n(); + Object.entries(i18nData).forEach(([locale, message]) => { + i18n.global.mergeLocaleMessage(locale, message); + }); + } catch (error) { + console.error("Failed to load custom nodes i18n", error); + } + }, "loadCustomNodesI18n"); + const comfyAppReady = ref(false); + const workflowPersistence = useWorkflowPersistence(); + useCanvasDrop(canvasRef); + onMounted(async () => { + useGlobalLitegraph(); + app.vueAppReady = true; + workspaceStore.spinner = true; + ChangeTracker.init(app); + await loadCustomNodesI18n(); + await settingStore.loadSettingValues(); + CORE_SETTINGS.forEach((setting) => { + settingStore.addSetting(setting); + }); + await app.setup(canvasRef.value); + canvasStore.canvas = app.canvas; + canvasStore.canvas.render_canvas_border = false; + workspaceStore.spinner = false; + window["app"] = app; + window["graph"] = app.graph; + comfyAppReady.value = true; + colorPaletteStore.customPalettes = settingStore.get( + "Comfy.CustomColorPalettes" + ); + await workflowPersistence.restorePreviousWorkflow(); + workflowPersistence.restoreWorkflowTabsState(); + watch( + () => settingStore.get("Comfy.Locale"), + async () => { + await useCommandStore().execute("Comfy.RefreshNodeDefinitions"); + useWorkflowService().reloadCurrentWorkflow(); + } + ); + emit("ready"); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + (openBlock(), createBlock(Teleport, { to: ".graph-canvas-container" }, [ + comfyAppReady.value && betaMenuEnabled.value && !unref(workspaceStore).focusMode ? (openBlock(), createBlock(LiteGraphCanvasSplitterOverlay, { key: 0 }, { + "side-bar-panel": withCtx(() => [ + createVNode(SideToolbar) + ]), + "bottom-panel": withCtx(() => [ + createVNode(_sfc_main$p) + ]), + "graph-canvas-panel": withCtx(() => [ + workflowTabsPosition.value === "Topbar (2nd-row)" ? (openBlock(), createBlock(SecondRowWorkflowTabs, { key: 0 })) : createCommentVNode("", true), + canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 1 })) : createCommentVNode("", true) + ]), + _: 1 + })) : createCommentVNode("", true), + createVNode(TitleEditor), + !betaMenuEnabled.value && canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 1 })) : createCommentVNode("", true), + createBaseVNode("canvas", { + ref_key: "canvasRef", + ref: canvasRef, + id: "graph-canvas", + tabindex: "1" + }, null, 512) + ])), + createVNode(_sfc_main$h), + tooltipEnabled.value ? (openBlock(), createBlock(NodeTooltip, { key: 0 })) : createCommentVNode("", true), + createVNode(_sfc_main$n) + ], 64); + }; + } +}); +const _sfc_main$7 = /* @__PURE__ */ defineComponent({ + __name: "GlobalToast", + setup(__props) { + const toast = useToast(); + const toastStore = useToastStore(); + const settingStore = useSettingStore(); + watch( + () => toastStore.messagesToAdd, + (newMessages) => { + if (newMessages.length === 0) { + return; + } + newMessages.forEach((message) => { + toast.add(message); + }); + toastStore.messagesToAdd = []; + }, + { deep: true } + ); + watch( + () => toastStore.messagesToRemove, + (messagesToRemove) => { + if (messagesToRemove.length === 0) { + return; + } + messagesToRemove.forEach((message) => { + toast.remove(message); + }); + toastStore.messagesToRemove = []; + }, + { deep: true } + ); + watch( + () => toastStore.removeAllRequested, + (requested) => { + if (requested) { + toast.removeAllGroups(); + toastStore.removeAllRequested = false; + } + } + ); + function updateToastPosition() { + const styleElement = document.getElementById("dynamic-toast-style") || createStyleElement(); + const rect = document.querySelector(".graph-canvas-container").getBoundingClientRect(); + styleElement.textContent = ` + .p-toast.p-component.p-toast-top-right { + top: ${rect.top + 20}px !important; + right: ${window.innerWidth - (rect.left + rect.width) + 20}px !important; + } + `; + } + __name(updateToastPosition, "updateToastPosition"); + function createStyleElement() { + const style = document.createElement("style"); + style.id = "dynamic-toast-style"; + document.head.appendChild(style); + return style; + } + __name(createStyleElement, "createStyleElement"); + watch( + () => settingStore.get("Comfy.UseNewMenu"), + () => nextTick(updateToastPosition), + { immediate: true } + ); + watch( + () => settingStore.get("Comfy.Sidebar.Location"), + () => nextTick(updateToastPosition), + { immediate: true } + ); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$f)); + }; + } +}); +const _hoisted_1$9 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +function render$5(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$9, _cache[0] || (_cache[0] = [ + createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "M6 4v16m4-16l10 8l-10 8z" + }, null, -1) + ])); +} +__name(render$5, "render$5"); +const __unplugin_components_3 = markRaw({ name: "lucide-step-forward", render: render$5 }); +const _hoisted_1$8 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +function render$4(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$8, _cache[0] || (_cache[0] = [ + createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "m13 19l9-7l-9-7zM2 19l9-7l-9-7z" + }, null, -1) + ])); +} +__name(render$4, "render$4"); +const __unplugin_components_2 = markRaw({ name: "lucide-fast-forward", render: render$4 }); +const _hoisted_1$7 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +function render$3(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$7, _cache[0] || (_cache[0] = [ + createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "m6 3l14 9l-14 9z" + }, null, -1) + ])); +} +__name(render$3, "render$3"); +const __unplugin_components_1$1 = markRaw({ name: "lucide-play", render: render$3 }); +const _hoisted_1$6 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +function render$2(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$6, _cache[0] || (_cache[0] = [ + createBaseVNode("g", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2" + }, [ + createBaseVNode("path", { d: "M16 12H3m13 6H3m7-12H3m18 12V8a2 2 0 0 0-2-2h-5" }), + createBaseVNode("path", { d: "m16 8l-2-2l2-2" }) + ], -1) + ])); +} +__name(render$2, "render$2"); +const __unplugin_components_0$1 = markRaw({ name: "lucide-list-start", render: render$2 }); +const _hoisted_1$5 = ["aria-label"]; +const minQueueCount = 1; +const _sfc_main$6 = /* @__PURE__ */ defineComponent({ + __name: "BatchCountEdit", + props: { + class: { default: "" } + }, + setup(__props) { + const props = __props; + const queueSettingsStore = useQueueSettingsStore(); + const { batchCount } = storeToRefs(queueSettingsStore); + const settingStore = useSettingStore(); + const maxQueueCount = computed( + () => settingStore.get("Comfy.QueueButton.BatchCountLimit") + ); + const handleClick = /* @__PURE__ */ __name((increment) => { + let newCount; + if (increment) { + const originalCount = batchCount.value - 1; + newCount = Math.min(originalCount * 2, maxQueueCount.value); + } else { + const originalCount = batchCount.value + 1; + newCount = Math.floor(originalCount / 2); + } + batchCount.value = newCount; + }, "handleClick"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createElementBlock("div", { + class: normalizeClass(["batch-count", props.class]), + "aria-label": _ctx.$t("menu.batchCount") + }, [ + createVNode(unref(script$g), { + class: "w-14", + modelValue: unref(batchCount), + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(batchCount) ? batchCount.value = $event : null), + min: minQueueCount, + max: maxQueueCount.value, + fluid: "", + showButtons: "", + pt: { + incrementButton: { + class: "w-6", + onmousedown: /* @__PURE__ */ __name(() => { + handleClick(true); + }, "onmousedown") + }, + decrementButton: { + class: "w-6", + onmousedown: /* @__PURE__ */ __name(() => { + handleClick(false); + }, "onmousedown") + } + } + }, null, 8, ["modelValue", "max", "pt"]) + ], 10, _hoisted_1$5)), [ + [ + _directive_tooltip, + _ctx.$t("menu.batchCount"), + void 0, + { bottom: true } + ] + ]); + }; + } +}); +const BatchCountEdit = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-26957f1f"]]); +const _hoisted_1$4 = { class: "queue-button-group flex" }; +const _sfc_main$5 = /* @__PURE__ */ defineComponent({ + __name: "ComfyQueueButton", + setup(__props) { + const workspaceStore = useWorkspaceStore(); + const queueCountStore = storeToRefs(useQueuePendingTaskCountStore()); + const { mode: queueMode } = storeToRefs(useQueueSettingsStore()); + const { t: t2 } = useI18n(); + const queueModeMenuItemLookup = computed(() => ({ + disabled: { + key: "disabled", + label: t2("menu.queue"), + tooltip: t2("menu.disabledTooltip"), + command: /* @__PURE__ */ __name(() => { + queueMode.value = "disabled"; + }, "command") + }, + instant: { + key: "instant", + label: `${t2("menu.queue")} (${t2("menu.instant")})`, + tooltip: t2("menu.instantTooltip"), + command: /* @__PURE__ */ __name(() => { + queueMode.value = "instant"; + }, "command") + }, + change: { + key: "change", + label: `${t2("menu.queue")} (${t2("menu.onChange")})`, + tooltip: t2("menu.onChangeTooltip"), + command: /* @__PURE__ */ __name(() => { + queueMode.value = "change"; + }, "command") + } + })); + const activeQueueModeMenuItem = computed( + () => queueModeMenuItemLookup.value[queueMode.value] + ); + const queueModeMenuItems = computed( + () => Object.values(queueModeMenuItemLookup.value) + ); + const executingPrompt = computed(() => !!queueCountStore.count.value); + const hasPendingTasks = computed(() => queueCountStore.count.value > 1); + const commandStore = useCommandStore(); + const queuePrompt = /* @__PURE__ */ __name((e) => { + const commandId = e.shiftKey ? "Comfy.QueuePromptFront" : "Comfy.QueuePrompt"; + commandStore.execute(commandId); + }, "queuePrompt"); + return (_ctx, _cache) => { + const _component_i_lucide58list_start = __unplugin_components_0$1; + const _component_i_lucide58play = __unplugin_components_1$1; + const _component_i_lucide58fast_forward = __unplugin_components_2; + const _component_i_lucide58step_forward = __unplugin_components_3; + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", _hoisted_1$4, [ + withDirectives((openBlock(), createBlock(unref(script$h), { + class: "comfyui-queue-button", + label: activeQueueModeMenuItem.value.label, + severity: "primary", + size: "small", + onClick: queuePrompt, + model: queueModeMenuItems.value, + "data-testid": "queue-button" + }, { + icon: withCtx(() => [ + unref(workspaceStore).shiftDown ? (openBlock(), createBlock(_component_i_lucide58list_start, { key: 0 })) : unref(queueMode) === "disabled" ? (openBlock(), createBlock(_component_i_lucide58play, { key: 1 })) : unref(queueMode) === "instant" ? (openBlock(), createBlock(_component_i_lucide58fast_forward, { key: 2 })) : unref(queueMode) === "change" ? (openBlock(), createBlock(_component_i_lucide58step_forward, { key: 3 })) : createCommentVNode("", true) + ]), + item: withCtx(({ item }) => [ + withDirectives(createVNode(unref(script), { + label: String(item.label), + icon: item.icon, + severity: item.key === unref(queueMode) ? "primary" : "secondary", + size: "small", + text: "" + }, null, 8, ["label", "icon", "severity"]), [ + [_directive_tooltip, item.tooltip] + ]) + ]), + _: 1 + }, 8, ["label", "model"])), [ + [ + _directive_tooltip, + unref(workspaceStore).shiftDown ? _ctx.$t("menu.queueWorkflowFront") : _ctx.$t("menu.queueWorkflow"), + void 0, + { bottom: true } + ] + ]), + createVNode(BatchCountEdit), + createVNode(unref(script$6), { class: "execution-actions flex flex-nowrap" }, { + default: withCtx(() => [ + withDirectives(createVNode(unref(script), { + icon: "pi pi-times", + severity: executingPrompt.value ? "danger" : "secondary", + disabled: !executingPrompt.value, + text: "", + "aria-label": _ctx.$t("menu.interrupt"), + onClick: _cache[0] || (_cache[0] = () => unref(commandStore).execute("Comfy.Interrupt")) + }, null, 8, ["severity", "disabled", "aria-label"]), [ + [ + _directive_tooltip, + _ctx.$t("menu.interrupt"), + void 0, + { bottom: true } + ] + ]), + withDirectives(createVNode(unref(script), { + icon: "pi pi-stop", + severity: hasPendingTasks.value ? "danger" : "secondary", + disabled: !hasPendingTasks.value, + text: "", + "aria-label": _ctx.$t("sideToolbar.queueTab.clearPendingTasks"), + onClick: _cache[1] || (_cache[1] = () => unref(commandStore).execute("Comfy.ClearPendingTasks")) + }, null, 8, ["severity", "disabled", "aria-label"]), [ + [ + _directive_tooltip, + _ctx.$t("sideToolbar.queueTab.clearPendingTasks"), + void 0, + { bottom: true } + ] + ]) + ]), + _: 1 + }) + ]); + }; + } +}); +const ComfyQueueButton = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-91a628af"]]); +const overlapThreshold = 20; +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + __name: "ComfyActionbar", + setup(__props) { + const settingsStore = useSettingStore(); + const visible = computed( + () => settingsStore.get("Comfy.UseNewMenu") !== "Disabled" + ); + const panelRef = ref(null); + const dragHandleRef = ref(null); + const isDocked = useLocalStorage("Comfy.MenuPosition.Docked", false); + const storedPosition = useLocalStorage("Comfy.MenuPosition.Floating", { + x: 0, + y: 0 + }); + const { + x, + y, + style, + isDragging + } = useDraggable(panelRef, { + initialValue: { x: 0, y: 0 }, + handle: dragHandleRef, + containerElement: document.body + }); + watchDebounced( + [x, y], + ([newX, newY]) => { + storedPosition.value = { x: newX, y: newY }; + }, + { debounce: 300 } + ); + const setInitialPosition = /* @__PURE__ */ __name(() => { + if (x.value !== 0 || y.value !== 0) { + return; + } + if (storedPosition.value.x !== 0 || storedPosition.value.y !== 0) { + x.value = storedPosition.value.x; + y.value = storedPosition.value.y; + captureLastDragState(); + return; + } + if (panelRef.value) { + const screenWidth = window.innerWidth; + const screenHeight = window.innerHeight; + const menuWidth = panelRef.value.offsetWidth; + const menuHeight = panelRef.value.offsetHeight; + if (menuWidth === 0 || menuHeight === 0) { + return; + } + x.value = (screenWidth - menuWidth) / 2; + y.value = screenHeight - menuHeight - 10; + captureLastDragState(); + } + }, "setInitialPosition"); + onMounted(setInitialPosition); + watch(visible, (newVisible) => { + if (newVisible) { + nextTick(setInitialPosition); + } + }); + const lastDragState = ref({ + x: x.value, + y: y.value, + windowWidth: window.innerWidth, + windowHeight: window.innerHeight + }); + const captureLastDragState = /* @__PURE__ */ __name(() => { + lastDragState.value = { + x: x.value, + y: y.value, + windowWidth: window.innerWidth, + windowHeight: window.innerHeight + }; + }, "captureLastDragState"); + watch( + isDragging, + (newIsDragging) => { + if (!newIsDragging) { + captureLastDragState(); + } + }, + { immediate: true } + ); + const adjustMenuPosition = /* @__PURE__ */ __name(() => { + if (panelRef.value) { + const screenWidth = window.innerWidth; + const screenHeight = window.innerHeight; + const menuWidth = panelRef.value.offsetWidth; + const menuHeight = panelRef.value.offsetHeight; + const distanceLeft = lastDragState.value.x; + const distanceRight = lastDragState.value.windowWidth - (lastDragState.value.x + menuWidth); + const distanceTop = lastDragState.value.y; + const distanceBottom = lastDragState.value.windowHeight - (lastDragState.value.y + menuHeight); + const distances = [ + { edge: "left", distance: distanceLeft }, + { edge: "right", distance: distanceRight }, + { edge: "top", distance: distanceTop }, + { edge: "bottom", distance: distanceBottom } + ]; + const closestEdge = distances.reduce( + (min, curr) => curr.distance < min.distance ? curr : min + ); + const verticalRatio = lastDragState.value.y / lastDragState.value.windowHeight; + const horizontalRatio = lastDragState.value.x / lastDragState.value.windowWidth; + if (closestEdge.edge === "left") { + x.value = closestEdge.distance; + y.value = verticalRatio * screenHeight; + } else if (closestEdge.edge === "right") { + x.value = screenWidth - menuWidth - closestEdge.distance; + y.value = verticalRatio * screenHeight; + } else if (closestEdge.edge === "top") { + x.value = horizontalRatio * screenWidth; + y.value = closestEdge.distance; + } else { + x.value = horizontalRatio * screenWidth; + y.value = screenHeight - menuHeight - closestEdge.distance; + } + x.value = lodashExports.clamp(x.value, 0, screenWidth - menuWidth); + y.value = lodashExports.clamp(y.value, 0, screenHeight - menuHeight); + } + }, "adjustMenuPosition"); + useEventListener(window, "resize", adjustMenuPosition); + const topMenuRef = inject("topMenuRef"); + const topMenuBounds = useElementBounding(topMenuRef); + const isOverlappingWithTopMenu = computed(() => { + if (!panelRef.value) { + return false; + } + const { height } = panelRef.value.getBoundingClientRect(); + const actionbarBottom = y.value + height; + const topMenuBottom = topMenuBounds.bottom.value; + const overlapPixels = Math.min(actionbarBottom, topMenuBottom) - Math.max(y.value, topMenuBounds.top.value); + return overlapPixels > overlapThreshold; + }); + watch(isDragging, (newIsDragging) => { + if (!newIsDragging) { + isDocked.value = isOverlappingWithTopMenu.value; + } else { + isDocked.value = false; + } + }); + const eventBus = useEventBus("topMenu"); + watch([isDragging, isOverlappingWithTopMenu], ([dragging, overlapping]) => { + eventBus.emit("updateHighlight", { + isDragging: dragging, + isOverlapping: overlapping + }); + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$i), { + class: normalizeClass(["actionbar w-fit", { "is-dragging": unref(isDragging), "is-docked": unref(isDocked) }]), + style: normalizeStyle(unref(style)) + }, { + default: withCtx(() => [ + createBaseVNode("div", { + class: "actionbar-content flex items-center", + ref_key: "panelRef", + ref: panelRef + }, [ + createBaseVNode("span", { + class: "drag-handle cursor-move mr-2 p-0!", + ref_key: "dragHandleRef", + ref: dragHandleRef + }, null, 512), + createVNode(ComfyQueueButton) + ], 512) + ]), + _: 1 + }, 8, ["style", "class"]); + }; + } +}); +const Actionbar = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-915e5456"]]); +const _hoisted_1$3 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +function render$1(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$3, _cache[0] || (_cache[0] = [ + createBaseVNode("path", { + fill: "currentColor", + d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-5v3h14v-3zm0-2h14V5H5zm0 2v3z" + }, null, -1) + ])); +} +__name(render$1, "render$1"); +const __unplugin_components_1 = markRaw({ name: "material-symbols-dock-to-bottom-outline", render: render$1 }); +const _hoisted_1$2 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +function render(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$2, _cache[0] || (_cache[0] = [ + createBaseVNode("path", { + fill: "currentColor", + d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-7h14V5H5z" + }, null, -1) + ])); +} +__name(render, "render"); +const __unplugin_components_0 = markRaw({ name: "material-symbols-dock-to-bottom", render }); +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + __name: "BottomPanelToggleButton", + setup(__props) { + const bottomPanelStore = useBottomPanelStore(); + return (_ctx, _cache) => { + const _component_i_material_symbols58dock_to_bottom = __unplugin_components_0; + const _component_i_material_symbols58dock_to_bottom_outline = __unplugin_components_1; + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createBlock(unref(script), { + severity: "secondary", + text: "", + "aria-label": _ctx.$t("menu.toggleBottomPanel"), + onClick: unref(bottomPanelStore).toggleBottomPanel + }, { + icon: withCtx(() => [ + unref(bottomPanelStore).bottomPanelVisible ? (openBlock(), createBlock(_component_i_material_symbols58dock_to_bottom, { key: 0 })) : (openBlock(), createBlock(_component_i_material_symbols58dock_to_bottom_outline, { key: 1 })) + ]), + _: 1 + }, 8, ["aria-label", "onClick"])), [ + [vShow, unref(bottomPanelStore).bottomPanelTabs.length > 0], + [_directive_tooltip, { value: _ctx.$t("menu.toggleBottomPanel"), showDelay: 300 }] + ]); + }; + } +}); +const _hoisted_1$1 = ["href"]; +const _hoisted_2$1 = { class: "p-menubar-item-label" }; +const _hoisted_3$1 = { + key: 1, + class: "ml-auto border border-surface rounded text-muted text-xs text-nowrap p-1 keybinding-tag" +}; +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + __name: "CommandMenubar", + setup(__props) { + const settingStore = useSettingStore(); + const dropdownDirection = computed( + () => settingStore.get("Comfy.UseNewMenu") === "Top" ? "down" : "up" + ); + const menuItemsStore = useMenuItemStore(); + const { t: t2 } = useI18n(); + const translateMenuItem = /* @__PURE__ */ __name((item) => { + const label = typeof item.label === "function" ? item.label() : item.label; + const translatedLabel = label ? t2(`menuLabels.${normalizeI18nKey(label)}`, label) : void 0; + return { + ...item, + label: translatedLabel, + items: item.items?.map(translateMenuItem) + }; + }, "translateMenuItem"); + const translatedItems = computed( + () => menuItemsStore.menuItems.map(translateMenuItem) + ); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$j), { + model: translatedItems.value, + class: "top-menubar border-none p-0 bg-transparent", + pt: { + rootList: "gap-0 flex-nowrap w-auto", + submenu: `dropdown-direction-${dropdownDirection.value}`, + item: "relative" + } + }, { + item: withCtx(({ item, props }) => [ + createBaseVNode("a", mergeProps({ class: "p-menubar-item-link" }, props.action, { + href: item.url, + target: "_blank" + }), [ + item.icon ? (openBlock(), createElementBlock("span", { + key: 0, + class: normalizeClass(["p-menubar-item-icon", item.icon]) + }, null, 2)) : createCommentVNode("", true), + createBaseVNode("span", _hoisted_2$1, toDisplayString(item.label), 1), + item?.comfyCommand?.keybinding ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(item.comfyCommand.keybinding.combo.toString()), 1)) : createCommentVNode("", true) + ], 16, _hoisted_1$1) + ]), + _: 1 + }, 8, ["model", "pt"]); + }; + } +}); +const CommandMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-56df69d2"]]); +const _hoisted_1 = { class: "flex-grow min-w-0 app-drag h-full" }; +const _hoisted_2 = { class: "window-actions-spacer flex-shrink-0" }; +const _hoisted_3 = { class: "fixed top-0 left-0 app-drag w-full h-[var(--comfy-topbar-height)]" }; +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "TopMenubar", + setup(__props) { + const workspaceState = useWorkspaceStore(); + const settingStore = useSettingStore(); + const workflowTabsPosition = computed( + () => settingStore.get("Comfy.Workflow.WorkflowTabsPosition") + ); + const menuSetting = computed(() => settingStore.get("Comfy.UseNewMenu")); + const betaMenuEnabled = computed(() => menuSetting.value !== "Disabled"); + const teleportTarget = computed( + () => settingStore.get("Comfy.UseNewMenu") === "Top" ? ".comfyui-body-top" : ".comfyui-body-bottom" + ); + const showTopMenu = computed( + () => betaMenuEnabled.value && !workspaceState.focusMode + ); + const menuRight = ref(null); + onMounted(() => { + if (menuRight.value) { + menuRight.value.appendChild(app.menu.element); + } + }); + const topMenuRef = ref(null); + provide("topMenuRef", topMenuRef); + const eventBus = useEventBus("topMenu"); + const isDropZone = ref(false); + const isDroppable = ref(false); + eventBus.on((event, payload) => { + if (event === "updateHighlight") { + isDropZone.value = payload.isDragging; + isDroppable.value = payload.isOverlapping && payload.isDragging; + } + }); + onMounted(() => { + if (isElectron()) { + electronAPI().changeTheme({ + height: topMenuRef.value.getBoundingClientRect().height + }); + } + }); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock(Fragment, null, [ + (openBlock(), createBlock(Teleport, { to: teleportTarget.value }, [ + withDirectives(createBaseVNode("div", { + ref_key: "topMenuRef", + ref: topMenuRef, + class: normalizeClass(["comfyui-menu flex items-center", { dropzone: isDropZone.value, "dropzone-active": isDroppable.value }]) + }, [ + _cache[1] || (_cache[1] = createBaseVNode("h1", { class: "comfyui-logo mx-2 app-drag" }, "ComfyUI", -1)), + createVNode(CommandMenubar), + createBaseVNode("div", _hoisted_1, [ + workflowTabsPosition.value === "Topbar" ? (openBlock(), createBlock(WorkflowTabs, { key: 0 })) : createCommentVNode("", true) + ]), + createBaseVNode("div", { + class: "comfyui-menu-right", + ref_key: "menuRight", + ref: menuRight + }, null, 512), + createVNode(Actionbar), + createVNode(_sfc_main$3, { class: "flex-shrink-0" }), + withDirectives(createVNode(unref(script), { + class: "flex-shrink-0", + icon: "pi pi-bars", + severity: "secondary", + text: "", + "aria-label": _ctx.$t("menu.hideMenu"), + onClick: _cache[0] || (_cache[0] = ($event) => unref(workspaceState).focusMode = true), + onContextmenu: unref(showNativeMenu) + }, null, 8, ["aria-label", "onContextmenu"]), [ + [_directive_tooltip, { value: _ctx.$t("menu.hideMenu"), showDelay: 300 }] + ]), + withDirectives(createBaseVNode("div", _hoisted_2, null, 512), [ + [vShow, menuSetting.value !== "Bottom"] + ]) + ], 2), [ + [vShow, showTopMenu.value] + ]) + ], 8, ["to"])), + withDirectives(createBaseVNode("div", _hoisted_3, null, 512), [ + [vShow, unref(isNativeWindow)() && !showTopMenu.value] + ]) + ], 64); + }; + } +}); +const TopMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-929e7543"]]); +var LatentPreviewMethod = /* @__PURE__ */ ((LatentPreviewMethod2) => { + LatentPreviewMethod2["NoPreviews"] = "none"; + LatentPreviewMethod2["Auto"] = "auto"; + LatentPreviewMethod2["Latent2RGB"] = "latent2rgb"; + LatentPreviewMethod2["TAESD"] = "taesd"; + return LatentPreviewMethod2; +})(LatentPreviewMethod || {}); +var LogLevel = /* @__PURE__ */ ((LogLevel2) => { + LogLevel2["DEBUG"] = "DEBUG"; + LogLevel2["INFO"] = "INFO"; + LogLevel2["WARNING"] = "WARNING"; + LogLevel2["ERROR"] = "ERROR"; + LogLevel2["CRITICAL"] = "CRITICAL"; + return LogLevel2; +})(LogLevel || {}); +var HashFunction = /* @__PURE__ */ ((HashFunction2) => { + HashFunction2["MD5"] = "md5"; + HashFunction2["SHA1"] = "sha1"; + HashFunction2["SHA256"] = "sha256"; + HashFunction2["SHA512"] = "sha512"; + return HashFunction2; +})(HashFunction || {}); +var AutoLaunch = /* @__PURE__ */ ((AutoLaunch2) => { + AutoLaunch2["Auto"] = "auto"; + AutoLaunch2["Disable"] = "disable"; + AutoLaunch2["Enable"] = "enable"; + return AutoLaunch2; +})(AutoLaunch || {}); +var CudaMalloc = /* @__PURE__ */ ((CudaMalloc2) => { + CudaMalloc2["Auto"] = "auto"; + CudaMalloc2["Disable"] = "disable"; + CudaMalloc2["Enable"] = "enable"; + return CudaMalloc2; +})(CudaMalloc || {}); +var FloatingPointPrecision = /* @__PURE__ */ ((FloatingPointPrecision2) => { + FloatingPointPrecision2["AUTO"] = "auto"; + FloatingPointPrecision2["FP64"] = "fp64"; + FloatingPointPrecision2["FP32"] = "fp32"; + FloatingPointPrecision2["FP16"] = "fp16"; + FloatingPointPrecision2["BF16"] = "bf16"; + FloatingPointPrecision2["FP8E4M3FN"] = "fp8_e4m3fn"; + FloatingPointPrecision2["FP8E5M2"] = "fp8_e5m2"; + return FloatingPointPrecision2; +})(FloatingPointPrecision || {}); +var CrossAttentionMethod = /* @__PURE__ */ ((CrossAttentionMethod2) => { + CrossAttentionMethod2["Auto"] = "auto"; + CrossAttentionMethod2["Split"] = "split"; + CrossAttentionMethod2["Quad"] = "quad"; + CrossAttentionMethod2["Pytorch"] = "pytorch"; + return CrossAttentionMethod2; +})(CrossAttentionMethod || {}); +var VramManagement = /* @__PURE__ */ ((VramManagement2) => { + VramManagement2["Auto"] = "auto"; + VramManagement2["GPUOnly"] = "gpu-only"; + VramManagement2["HighVram"] = "highvram"; + VramManagement2["NormalVram"] = "normalvram"; + VramManagement2["LowVram"] = "lowvram"; + VramManagement2["NoVram"] = "novram"; + VramManagement2["CPU"] = "cpu"; + return VramManagement2; +})(VramManagement || {}); +const WEB_ONLY_CONFIG_ITEMS = [ + // Launch behavior + { + id: "auto-launch", + name: "Automatically opens in the browser on startup", + category: ["Launch"], + type: "combo", + options: Object.values(AutoLaunch), + defaultValue: AutoLaunch.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case AutoLaunch.Auto: + return {}; + case AutoLaunch.Enable: + return { + ["auto-launch"]: true + }; + case AutoLaunch.Disable: + return { + ["disable-auto-launch"]: true + }; + } + }, "getValue") + } +]; +const SERVER_CONFIG_ITEMS = [ + // Network settings + { + id: "listen", + name: "Host: The IP address to listen on", + category: ["Network"], + type: "text", + defaultValue: "127.0.0.1" + }, + { + id: "port", + name: "Port: The port to listen on", + category: ["Network"], + type: "number", + // The default launch port for desktop app is 8000 instead of 8188. + defaultValue: 8e3 + }, + { + id: "tls-keyfile", + name: "TLS Key File: Path to TLS key file for HTTPS", + category: ["Network"], + type: "text", + defaultValue: "" + }, + { + id: "tls-certfile", + name: "TLS Certificate File: Path to TLS certificate file for HTTPS", + category: ["Network"], + type: "text", + defaultValue: "" + }, + { + id: "enable-cors-header", + name: 'Enable CORS header: Use "*" for all origins or specify domain', + category: ["Network"], + type: "text", + defaultValue: "" + }, + { + id: "max-upload-size", + name: "Maximum upload size (MB)", + category: ["Network"], + type: "number", + defaultValue: 100 + }, + // CUDA settings + { + id: "cuda-device", + name: "CUDA device index to use", + category: ["CUDA"], + type: "number", + defaultValue: null + }, + { + id: "cuda-malloc", + name: "Use CUDA malloc for memory allocation", + category: ["CUDA"], + type: "combo", + options: Object.values(CudaMalloc), + defaultValue: CudaMalloc.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case CudaMalloc.Auto: + return {}; + case CudaMalloc.Enable: + return { + ["cuda-malloc"]: true + }; + case CudaMalloc.Disable: + return { + ["disable-cuda-malloc"]: true + }; + } + }, "getValue") + }, + // Precision settings + { + id: "global-precision", + name: "Global floating point precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP32, + FloatingPointPrecision.FP16 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "Global floating point precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + case FloatingPointPrecision.FP32: + return { + ["force-fp32"]: true + }; + case FloatingPointPrecision.FP16: + return { + ["force-fp16"]: true + }; + default: + return {}; + } + }, "getValue") + }, + // UNET precision + { + id: "unet-precision", + name: "UNET precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP64, + FloatingPointPrecision.FP32, + FloatingPointPrecision.FP16, + FloatingPointPrecision.BF16, + FloatingPointPrecision.FP8E4M3FN, + FloatingPointPrecision.FP8E5M2 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "UNET precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + default: + return { + [`${value.toLowerCase()}-unet`]: true + }; + } + }, "getValue") + }, + // VAE settings + { + id: "vae-precision", + name: "VAE precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP16, + FloatingPointPrecision.FP32, + FloatingPointPrecision.BF16 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "VAE precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + default: + return { + [`${value.toLowerCase()}-vae`]: true + }; + } + }, "getValue") + }, + { + id: "cpu-vae", + name: "Run VAE on CPU", + category: ["Inference"], + type: "boolean", + defaultValue: false + }, + // Text Encoder settings + { + id: "text-encoder-precision", + name: "Text Encoder precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP8E4M3FN, + FloatingPointPrecision.FP8E5M2, + FloatingPointPrecision.FP16, + FloatingPointPrecision.FP32 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "Text Encoder precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + default: + return { + [`${value.toLowerCase()}-text-enc`]: true + }; + } + }, "getValue") + }, + // Memory and performance settings + { + id: "force-channels-last", + name: "Force channels-last memory format", + category: ["Memory"], + type: "boolean", + defaultValue: false + }, + { + id: "directml", + name: "DirectML device index", + category: ["Memory"], + type: "number", + defaultValue: null + }, + { + id: "disable-ipex-optimize", + name: "Disable IPEX optimization", + category: ["Memory"], + type: "boolean", + defaultValue: false + }, + // Preview settings + { + id: "preview-method", + name: "Method used for latent previews", + category: ["Preview"], + type: "combo", + options: Object.values(LatentPreviewMethod), + defaultValue: LatentPreviewMethod.NoPreviews + }, + { + id: "preview-size", + name: "Size of preview images", + category: ["Preview"], + type: "slider", + defaultValue: 512, + attrs: { + min: 128, + max: 2048, + step: 128 + } + }, + // Cache settings + { + id: "cache-classic", + name: "Use classic cache system", + category: ["Cache"], + type: "boolean", + defaultValue: false + }, + { + id: "cache-lru", + name: "Use LRU caching with a maximum of N node results cached.", + category: ["Cache"], + type: "number", + defaultValue: null, + tooltip: "May use more RAM/VRAM." + }, + // Attention settings + { + id: "cross-attention-method", + name: "Cross attention method", + category: ["Attention"], + type: "combo", + options: Object.values(CrossAttentionMethod), + defaultValue: CrossAttentionMethod.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case CrossAttentionMethod.Auto: + return {}; + default: + return { + [`use-${value.toLowerCase()}-cross-attention`]: true + }; + } + }, "getValue") + }, + { + id: "disable-xformers", + name: "Disable xFormers optimization", + type: "boolean", + defaultValue: false + }, + { + id: "force-upcast-attention", + name: "Force attention upcast", + category: ["Attention"], + type: "boolean", + defaultValue: false + }, + { + id: "dont-upcast-attention", + name: "Prevent attention upcast", + category: ["Attention"], + type: "boolean", + defaultValue: false + }, + // VRAM management + { + id: "vram-management", + name: "VRAM management mode", + category: ["Memory"], + type: "combo", + options: Object.values(VramManagement), + defaultValue: VramManagement.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case VramManagement.Auto: + return {}; + default: + return { + [value]: true + }; + } + }, "getValue") + }, + { + id: "reserve-vram", + name: "Reserved VRAM (GB)", + category: ["Memory"], + type: "number", + defaultValue: null, + tooltip: "Set the amount of vram in GB you want to reserve for use by your OS/other software. By default some amount is reverved depending on your OS." + }, + // Misc settings + { + id: "default-hashing-function", + name: "Default hashing function for model files", + type: "combo", + options: Object.values(HashFunction), + defaultValue: HashFunction.SHA256 + }, + { + id: "disable-smart-memory", + name: "Disable smart memory management", + tooltip: "Force ComfyUI to aggressively offload to regular ram instead of keeping models in vram when it can.", + category: ["Memory"], + type: "boolean", + defaultValue: false + }, + { + id: "deterministic", + name: "Make pytorch use slower deterministic algorithms when it can.", + type: "boolean", + defaultValue: false, + tooltip: "Note that this might not make images deterministic in all cases." + }, + { + id: "fast", + name: "Enable some untested and potentially quality deteriorating optimizations.", + type: "boolean", + defaultValue: false + }, + { + id: "dont-print-server", + name: "Don't print server output to console.", + type: "boolean", + defaultValue: false + }, + { + id: "disable-metadata", + name: "Disable saving prompt metadata in files.", + type: "boolean", + defaultValue: false + }, + { + id: "disable-all-custom-nodes", + name: "Disable loading all custom nodes.", + type: "boolean", + defaultValue: false + }, + { + id: "log-level", + name: "Logging verbosity level", + type: "combo", + options: Object.values(LogLevel), + defaultValue: LogLevel.INFO, + getValue: /* @__PURE__ */ __name((value) => { + return { + verbose: value + }; + }, "getValue") + }, + // Directories + { + id: "input-directory", + name: "Input directory", + category: ["Directories"], + type: "text", + defaultValue: "" + }, + { + id: "output-directory", + name: "Output directory", + category: ["Directories"], + type: "text", + defaultValue: "" + } +]; +function useCoreCommands() { + const workflowService = useWorkflowService(); + const workflowStore = useWorkflowStore(); + const dialogService = useDialogService(); + const colorPaletteStore = useColorPaletteStore(); + const getTracker = /* @__PURE__ */ __name(() => workflowStore.activeWorkflow?.changeTracker, "getTracker"); + const getSelectedNodes = /* @__PURE__ */ __name(() => { + const selectedNodes = app.canvas.selected_nodes; + const result = []; + if (selectedNodes) { + for (const i in selectedNodes) { + const node = selectedNodes[i]; + result.push(node); + } + } + return result; + }, "getSelectedNodes"); + const toggleSelectedNodesMode = /* @__PURE__ */ __name((mode) => { + getSelectedNodes().forEach((node) => { + if (node.mode === mode) { + node.mode = LGraphEventMode.ALWAYS; + } else { + node.mode = mode; + } + }); + }, "toggleSelectedNodesMode"); + return [ + { + id: "Comfy.NewBlankWorkflow", + icon: "pi pi-plus", + label: "New Blank Workflow", + menubarLabel: "New", + function: /* @__PURE__ */ __name(() => workflowService.loadBlankWorkflow(), "function") + }, + { + id: "Comfy.OpenWorkflow", + icon: "pi pi-folder-open", + label: "Open Workflow", + menubarLabel: "Open", + function: /* @__PURE__ */ __name(() => { + app.ui.loadFile(); + }, "function") + }, + { + id: "Comfy.LoadDefaultWorkflow", + icon: "pi pi-code", + label: "Load Default Workflow", + function: /* @__PURE__ */ __name(() => workflowService.loadDefaultWorkflow(), "function") + }, + { + id: "Comfy.SaveWorkflow", + icon: "pi pi-save", + label: "Save Workflow", + menubarLabel: "Save", + function: /* @__PURE__ */ __name(async () => { + const workflow = useWorkflowStore().activeWorkflow; + if (!workflow) return; + await workflowService.saveWorkflow(workflow); + }, "function") + }, + { + id: "Comfy.SaveWorkflowAs", + icon: "pi pi-save", + label: "Save Workflow As", + menubarLabel: "Save As", + function: /* @__PURE__ */ __name(async () => { + const workflow = useWorkflowStore().activeWorkflow; + if (!workflow) return; + await workflowService.saveWorkflowAs(workflow); + }, "function") + }, + { + id: "Comfy.ExportWorkflow", + icon: "pi pi-download", + label: "Export Workflow", + menubarLabel: "Export", + function: /* @__PURE__ */ __name(() => { + workflowService.exportWorkflow("workflow", "workflow"); + }, "function") + }, + { + id: "Comfy.ExportWorkflowAPI", + icon: "pi pi-download", + label: "Export Workflow (API Format)", + menubarLabel: "Export (API)", + function: /* @__PURE__ */ __name(() => { + workflowService.exportWorkflow("workflow_api", "output"); + }, "function") + }, + { + id: "Comfy.Undo", + icon: "pi pi-undo", + label: "Undo", + function: /* @__PURE__ */ __name(async () => { + await getTracker()?.undo?.(); + }, "function") + }, + { + id: "Comfy.Redo", + icon: "pi pi-refresh", + label: "Redo", + function: /* @__PURE__ */ __name(async () => { + await getTracker()?.redo?.(); + }, "function") + }, + { + id: "Comfy.ClearWorkflow", + icon: "pi pi-trash", + label: "Clear Workflow", + function: /* @__PURE__ */ __name(() => { + const settingStore = useSettingStore(); + if (!settingStore.get("Comfy.ComfirmClear") || confirm("Clear workflow?")) { + app.clean(); + app.graph.clear(); + api.dispatchCustomEvent("graphCleared"); + } + }, "function") + }, + { + id: "Comfy.Canvas.ResetView", + icon: "pi pi-expand", + label: "Reset View", + function: /* @__PURE__ */ __name(() => { + app.resetView(); + }, "function") + }, + { + id: "Comfy.OpenClipspace", + icon: "pi pi-clipboard", + label: "Clipspace", + function: /* @__PURE__ */ __name(() => { + app.openClipspace(); + }, "function") + }, + { + id: "Comfy.RefreshNodeDefinitions", + icon: "pi pi-refresh", + label: "Refresh Node Definitions", + function: /* @__PURE__ */ __name(async () => { + await app.refreshComboInNodes(); + }, "function") + }, + { + id: "Comfy.Interrupt", + icon: "pi pi-stop", + label: "Interrupt", + function: /* @__PURE__ */ __name(async () => { + await api.interrupt(); + useToastStore().add({ + severity: "info", + summary: "Interrupted", + detail: "Execution has been interrupted", + life: 1e3 + }); + }, "function") + }, + { + id: "Comfy.ClearPendingTasks", + icon: "pi pi-stop", + label: "Clear Pending Tasks", + function: /* @__PURE__ */ __name(async () => { + await useQueueStore().clear(["queue"]); + useToastStore().add({ + severity: "info", + summary: "Confirmed", + detail: "Pending tasks deleted", + life: 3e3 + }); + }, "function") + }, + { + id: "Comfy.BrowseTemplates", + icon: "pi pi-folder-open", + label: "Browse Templates", + function: /* @__PURE__ */ __name(() => { + dialogService.showTemplateWorkflowsDialog(); + }, "function") + }, + { + id: "Comfy.Canvas.ZoomIn", + icon: "pi pi-plus", + label: "Zoom In", + function: /* @__PURE__ */ __name(() => { + const ds = app.canvas.ds; + ds.changeScale( + ds.scale * 1.1, + ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 + ); + app.canvas.setDirty(true, true); + }, "function") + }, + { + id: "Comfy.Canvas.ZoomOut", + icon: "pi pi-minus", + label: "Zoom Out", + function: /* @__PURE__ */ __name(() => { + const ds = app.canvas.ds; + ds.changeScale( + ds.scale / 1.1, + ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 + ); + app.canvas.setDirty(true, true); + }, "function") + }, + { + id: "Comfy.Canvas.FitView", + icon: "pi pi-expand", + label: "Fit view to selected nodes", + function: /* @__PURE__ */ __name(() => { + if (app.canvas.empty) { + useToastStore().add({ + severity: "error", + summary: "Empty canvas", + life: 3e3 + }); + return; + } + app.canvas.fitViewToSelectionAnimated(); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleLock", + icon: "pi pi-lock", + label: "Canvas Toggle Lock", + function: /* @__PURE__ */ __name(() => { + app.canvas["read_only"] = !app.canvas["read_only"]; + }, "function") + }, + { + id: "Comfy.Canvas.ToggleLinkVisibility", + icon: "pi pi-eye", + label: "Canvas Toggle Link Visibility", + versionAdded: "1.3.6", + function: (() => { + const settingStore = useSettingStore(); + let lastLinksRenderMode = LiteGraph.SPLINE_LINK; + return () => { + const currentMode = settingStore.get("Comfy.LinkRenderMode"); + if (currentMode === LiteGraph.HIDDEN_LINK) { + settingStore.set("Comfy.LinkRenderMode", lastLinksRenderMode); + } else { + lastLinksRenderMode = currentMode; + settingStore.set("Comfy.LinkRenderMode", LiteGraph.HIDDEN_LINK); + } + }; + })() + }, + { + id: "Comfy.QueuePrompt", + icon: "pi pi-play", + label: "Queue Prompt", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const batchCount = useQueueSettingsStore().batchCount; + app.queuePrompt(0, batchCount); + }, "function") + }, + { + id: "Comfy.QueuePromptFront", + icon: "pi pi-play", + label: "Queue Prompt (Front)", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const batchCount = useQueueSettingsStore().batchCount; + app.queuePrompt(-1, batchCount); + }, "function") + }, + { + id: "Comfy.ShowSettingsDialog", + icon: "pi pi-cog", + label: "Show Settings Dialog", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + dialogService.showSettingsDialog(); + }, "function") + }, + { + id: "Comfy.Graph.GroupSelectedNodes", + icon: "pi pi-sitemap", + label: "Group Selected Nodes", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const { canvas } = app; + if (!canvas.selectedItems?.size) { + useToastStore().add({ + severity: "error", + summary: "Nothing to group", + detail: "Please select the nodes (or other groups) to create a group for", + life: 3e3 + }); + return; + } + const group = new LGraphGroup(); + const padding = useSettingStore().get( + "Comfy.GroupSelectedNodes.Padding" + ); + group.resizeTo(canvas.selectedItems, padding); + canvas.graph.add(group); + useTitleEditorStore().titleEditorTarget = group; + }, "function") + }, + { + id: "Workspace.NextOpenedWorkflow", + icon: "pi pi-step-forward", + label: "Next Opened Workflow", + versionAdded: "1.3.9", + function: /* @__PURE__ */ __name(() => { + workflowService.loadNextOpenedWorkflow(); + }, "function") + }, + { + id: "Workspace.PreviousOpenedWorkflow", + icon: "pi pi-step-backward", + label: "Previous Opened Workflow", + versionAdded: "1.3.9", + function: /* @__PURE__ */ __name(() => { + workflowService.loadPreviousOpenedWorkflow(); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Mute", + icon: "pi pi-volume-off", + label: "Mute/Unmute Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + toggleSelectedNodesMode(LGraphEventMode.NEVER); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Bypass", + icon: "pi pi-shield", + label: "Bypass/Unbypass Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + toggleSelectedNodesMode(LGraphEventMode.BYPASS); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Pin", + icon: "pi pi-pin", + label: "Pin/Unpin Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + getSelectedNodes().forEach((node) => { + node.pin(!node.pinned); + }); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelected.Pin", + icon: "pi pi-pin", + label: "Pin/Unpin Selected Items", + versionAdded: "1.3.33", + function: /* @__PURE__ */ __name(() => { + for (const item of app.canvas.selectedItems) { + if (item instanceof LGraphNode || item instanceof LGraphGroup) { + item.pin(!item.pinned); + } + } + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Collapse", + icon: "pi pi-minus", + label: "Collapse/Expand Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + getSelectedNodes().forEach((node) => { + node.collapse(); + }); + }, "function") + }, + { + id: "Comfy.ToggleTheme", + icon: "pi pi-moon", + label: "Toggle Theme (Dark/Light)", + versionAdded: "1.3.12", + function: (() => { + let previousDarkTheme = DEFAULT_DARK_COLOR_PALETTE.id; + let previousLightTheme = DEFAULT_LIGHT_COLOR_PALETTE.id; + return () => { + const settingStore = useSettingStore(); + const theme = colorPaletteStore.completedActivePalette; + if (theme.light_theme) { + previousLightTheme = theme.id; + settingStore.set("Comfy.ColorPalette", previousDarkTheme); + } else { + previousDarkTheme = theme.id; + settingStore.set("Comfy.ColorPalette", previousLightTheme); + } + }; + })() + }, + { + id: "Workspace.ToggleBottomPanel", + icon: "pi pi-list", + label: "Toggle Bottom Panel", + versionAdded: "1.3.22", + function: /* @__PURE__ */ __name(() => { + useBottomPanelStore().toggleBottomPanel(); + }, "function") + }, + { + id: "Workspace.ToggleFocusMode", + icon: "pi pi-eye", + label: "Toggle Focus Mode", + versionAdded: "1.3.27", + function: /* @__PURE__ */ __name(() => { + useWorkspaceStore().toggleFocusMode(); + }, "function") + }, + { + id: "Comfy.Graph.FitGroupToContents", + icon: "pi pi-expand", + label: "Fit Group To Contents", + versionAdded: "1.4.9", + function: /* @__PURE__ */ __name(() => { + for (const group of app.canvas.selectedItems) { + if (group instanceof LGraphGroup) { + group.recomputeInsideNodes(); + const padding = useSettingStore().get( + "Comfy.GroupSelectedNodes.Padding" + ); + group.resizeTo(group.children, padding); + app.graph.change(); + } + } + }, "function") + }, + { + id: "Comfy.Help.OpenComfyUIIssues", + icon: "pi pi-github", + label: "Open ComfyUI Issues", + menubarLabel: "ComfyUI Issues", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open( + "https://github.com/comfyanonymous/ComfyUI/issues", + "_blank" + ); + }, "function") + }, + { + id: "Comfy.Help.OpenComfyUIDocs", + icon: "pi pi-info-circle", + label: "Open ComfyUI Docs", + menubarLabel: "ComfyUI Docs", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open("https://docs.comfy.org/", "_blank"); + }, "function") + }, + { + id: "Comfy.Help.OpenComfyOrgDiscord", + icon: "pi pi-discord", + label: "Open Comfy-Org Discord", + menubarLabel: "Comfy-Org Discord", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open("https://www.comfy.org/discord", "_blank"); + }, "function") + }, + { + id: "Workspace.SearchBox.Toggle", + icon: "pi pi-search", + label: "Toggle Search Box", + versionAdded: "1.5.7", + function: /* @__PURE__ */ __name(() => { + useSearchBoxStore().toggleVisible(); + }, "function") + }, + { + id: "Comfy.Help.AboutComfyUI", + icon: "pi pi-info-circle", + label: "Open About ComfyUI", + menubarLabel: "About ComfyUI", + versionAdded: "1.6.4", + function: /* @__PURE__ */ __name(() => { + dialogService.showSettingsDialog("about"); + }, "function") + }, + { + id: "Comfy.DuplicateWorkflow", + icon: "pi pi-clone", + label: "Duplicate Current Workflow", + versionAdded: "1.6.15", + function: /* @__PURE__ */ __name(() => { + workflowService.duplicateWorkflow(workflowStore.activeWorkflow); + }, "function") + }, + { + id: "Workspace.CloseWorkflow", + icon: "pi pi-times", + label: "Close Current Workflow", + versionAdded: "1.7.3", + function: /* @__PURE__ */ __name(() => { + if (workflowStore.activeWorkflow) + workflowService.closeWorkflow(workflowStore.activeWorkflow); + }, "function") + }, + { + id: "Comfy.Feedback", + icon: "pi pi-megaphone", + label: "Give Feedback", + versionAdded: "1.8.2", + function: /* @__PURE__ */ __name(() => { + dialogService.showIssueReportDialog({ + title: t("g.feedback"), + subtitle: t("issueReport.feedbackTitle"), + panelProps: { + errorType: "Feedback", + defaultFields: ["SystemStats", "Settings"] + } + }); + }, "function") + }, + { + id: "Comfy.Help.OpenComfyUIForum", + icon: "pi pi-comments", + label: "Open ComfyUI Forum", + menubarLabel: "ComfyUI Forum", + versionAdded: "1.8.2", + function: /* @__PURE__ */ __name(() => { + window.open("https://forum.comfy.org/", "_blank"); + }, "function") + } + ]; +} +__name(useCoreCommands, "useCoreCommands"); +function setupAutoQueueHandler() { + const queueCountStore = useQueuePendingTaskCountStore(); + const queueSettingsStore = useQueueSettingsStore(); + let graphHasChanged = false; + let internalCount = 0; + api.addEventListener("graphChanged", () => { + if (queueSettingsStore.mode === "change") { + if (internalCount) { + graphHasChanged = true; + } else { + graphHasChanged = false; + app.queuePrompt(0, queueSettingsStore.batchCount); + internalCount++; + } + } + }); + queueCountStore.$subscribe( + () => { + internalCount = queueCountStore.count; + if (!internalCount && !app.lastExecutionError) { + if (queueSettingsStore.mode === "instant" || queueSettingsStore.mode === "change" && graphHasChanged) { + graphHasChanged = false; + app.queuePrompt(0, queueSettingsStore.batchCount); + } + } + }, + { detached: true } + ); +} +__name(setupAutoQueueHandler, "setupAutoQueueHandler"); +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "GraphView", + setup(__props) { + setupAutoQueueHandler(); + const { t: t2 } = useI18n(); + const toast = useToast(); + const settingStore = useSettingStore(); + const executionStore = useExecutionStore(); + const colorPaletteStore = useColorPaletteStore(); + const queueStore = useQueueStore(); + watch( + () => colorPaletteStore.completedActivePalette, + (newTheme) => { + const DARK_THEME_CLASS = "dark-theme"; + if (newTheme.light_theme) { + document.body.classList.remove(DARK_THEME_CLASS); + } else { + document.body.classList.add(DARK_THEME_CLASS); + } + if (isElectron()) { + electronAPI().changeTheme({ + color: "rgba(0, 0, 0, 0)", + symbolColor: newTheme.colors.comfy_base["input-text"] + }); + } + }, + { immediate: true } + ); + if (isElectron()) { + watch( + () => queueStore.tasks, + (newTasks, oldTasks) => { + const oldRunningTaskIds = new Set( + oldTasks.filter((task) => task.isRunning).map((task) => task.promptId) + ); + newTasks.filter( + (task) => oldRunningTaskIds.has(task.promptId) && task.isHistory + ).forEach((task) => { + electronAPI().Events.incrementUserProperty( + `execution:${task.displayStatus.toLowerCase()}`, + 1 + ); + electronAPI().Events.trackEvent("execution", { + status: task.displayStatus.toLowerCase() + }); + }); + }, + { deep: true } + ); + } + watchEffect(() => { + const fontSize = settingStore.get("Comfy.TextareaWidget.FontSize"); + document.documentElement.style.setProperty( + "--comfy-textarea-font-size", + `${fontSize}px` + ); + }); + watchEffect(() => { + const padding = settingStore.get("Comfy.TreeExplorer.ItemPadding"); + document.documentElement.style.setProperty( + "--comfy-tree-explorer-item-padding", + `${padding}px` + ); + }); + watchEffect(() => { + const locale = settingStore.get("Comfy.Locale"); + if (locale) { + i18n.global.locale.value = locale; + } + }); + watchEffect(() => { + const useNewMenu = settingStore.get("Comfy.UseNewMenu"); + if (useNewMenu === "Disabled") { + app.ui.menuContainer.style.setProperty("display", "block"); + app.ui.restoreMenuPosition(); + } else { + app.ui.menuContainer.style.setProperty("display", "none"); + } + }); + watchEffect(() => { + queueStore.maxHistoryItems = settingStore.get("Comfy.Queue.MaxHistoryItems"); + }); + const init = /* @__PURE__ */ __name(() => { + const coreCommands = useCoreCommands(); + useCommandStore().registerCommands(coreCommands); + useMenuItemStore().registerCoreMenuCommands(); + useKeybindingService().registerCoreKeybindings(); + useSidebarTabStore().registerCoreSidebarTabs(); + useBottomPanelStore().registerCoreBottomPanelTabs(); + app.extensionManager = useWorkspaceStore(); + }, "init"); + const queuePendingTaskCountStore = useQueuePendingTaskCountStore(); + const onStatus = /* @__PURE__ */ __name(async (e) => { + queuePendingTaskCountStore.update(e); + await queueStore.update(); + }, "onStatus"); + const reconnectingMessage = { + severity: "error", + summary: t2("g.reconnecting") + }; + const onReconnecting = /* @__PURE__ */ __name(() => { + toast.remove(reconnectingMessage); + toast.add(reconnectingMessage); + }, "onReconnecting"); + const onReconnected = /* @__PURE__ */ __name(() => { + toast.remove(reconnectingMessage); + toast.add({ + severity: "success", + summary: t2("g.reconnected"), + life: 2e3 + }); + }, "onReconnected"); + onMounted(() => { + api.addEventListener("status", onStatus); + api.addEventListener("reconnecting", onReconnecting); + api.addEventListener("reconnected", onReconnected); + executionStore.bindExecutionEvents(); + try { + init(); + } catch (e) { + console.error("Failed to init ComfyUI frontend", e); + } + }); + onBeforeUnmount(() => { + api.removeEventListener("status", onStatus); + api.removeEventListener("reconnecting", onReconnecting); + api.removeEventListener("reconnected", onReconnected); + executionStore.unbindExecutionEvents(); + }); + useEventListener(window, "keydown", useKeybindingService().keybindHandler); + const { wrapWithErrorHandling, wrapWithErrorHandlingAsync } = useErrorHandling(); + const onGraphReady = /* @__PURE__ */ __name(() => { + requestIdleCallback( + () => { + wrapWithErrorHandling(useKeybindingService().registerUserKeybindings)(); + wrapWithErrorHandling(useServerConfigStore().loadServerConfig)( + SERVER_CONFIG_ITEMS, + settingStore.get("Comfy.Server.ServerConfigValues") + ); + wrapWithErrorHandlingAsync(useModelStore().loadModelFolders)(); + wrapWithErrorHandlingAsync(useNodeFrequencyStore().loadNodeFrequencies)(); + useNodeDefStore().nodeSearchService.endsWithFilterStartSequence(""); + }, + { timeout: 1e3 } + ); + }, "onGraphReady"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + createVNode(TopMenubar), + createVNode(_sfc_main$8, { onReady: onGraphReady }), + createVNode(_sfc_main$7), + !unref(isElectron)() ? (openBlock(), createBlock(_sfc_main$s, { key: 0 })) : createCommentVNode("", true), + createVNode(_sfc_main$u), + createVNode(MenuHamburger) + ], 64); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=GraphView-DKrBTQLe.js.map diff --git a/web/assets/InstallView-By3hC1fC.js b/web/assets/InstallView-By3hC1fC.js deleted file mode 100644 index 4262b2646..000000000 --- a/web/assets/InstallView-By3hC1fC.js +++ /dev/null @@ -1,1319 +0,0 @@ -var __defProp = Object.defineProperty; -var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); -import { B as BaseStyle, y as script$6, o as openBlock, f as createElementBlock, G as mergeProps, c9 as findIndexInList, ca as find, aD as resolveComponent, J as createBlock, K as resolveDynamicComponent, P as withCtx, m as createBaseVNode, Z as toDisplayString, M as renderSlot, L as createCommentVNode, V as normalizeClass, R as findSingle, H as Fragment, aE as Transition, i as withDirectives, v as vShow, am as UniqueComponentId, d as defineComponent, ad as ref, cb as useModel, k as createVNode, j as unref, cc as script$7, c4 as script$8, b3 as withModifiers, aP as script$9, a3 as useI18n, c as computed, aK as script$a, aG as createTextVNode, p as pushScopeId, q as popScopeId, bV as electronAPI, _ as _export_sfc, t as onMounted, r as resolveDirective, ax as script$b, cd as script$c, ce as script$d, l as script$e, c6 as script$f, cf as MigrationItems, w as watchEffect, I as renderList, cg as script$g, c2 as useRouter, aU as toRaw } from "./index-QvfM__ze.js"; -import { _ as _sfc_main$5 } from "./BaseViewTemplate-BhQMaVFP.js"; -var classes$4 = { - root: /* @__PURE__ */ __name(function root(_ref) { - var instance = _ref.instance; - return ["p-step", { - "p-step-active": instance.active, - "p-disabled": instance.isStepDisabled - }]; - }, "root"), - header: "p-step-header", - number: "p-step-number", - title: "p-step-title" -}; -var StepStyle = BaseStyle.extend({ - name: "step", - classes: classes$4 -}); -var script$2$2 = { - name: "StepperSeparator", - hostName: "Stepper", - "extends": script$6 -}; -function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("span", mergeProps({ - "class": _ctx.cx("separator") - }, _ctx.ptm("separator")), null, 16); -} -__name(render$1$2, "render$1$2"); -script$2$2.render = render$1$2; -var script$1$4 = { - name: "BaseStep", - "extends": script$6, - props: { - value: { - type: [String, Number], - "default": void 0 - }, - disabled: { - type: Boolean, - "default": false - }, - asChild: { - type: Boolean, - "default": false - }, - as: { - type: [String, Object], - "default": "DIV" - } - }, - style: StepStyle, - provide: /* @__PURE__ */ __name(function provide() { - return { - $pcStep: this, - $parentInstance: this - }; - }, "provide") -}; -var script$5 = { - name: "Step", - "extends": script$1$4, - inheritAttrs: false, - inject: { - $pcStepper: { - "default": null - }, - $pcStepList: { - "default": null - }, - $pcStepItem: { - "default": null - } - }, - data: /* @__PURE__ */ __name(function data() { - return { - isSeparatorVisible: false - }; - }, "data"), - mounted: /* @__PURE__ */ __name(function mounted() { - if (this.$el && this.$pcStepList) { - var index = findIndexInList(this.$el, find(this.$pcStepper.$el, '[data-pc-name="step"]')); - var stepLen = find(this.$pcStepper.$el, '[data-pc-name="step"]').length; - this.isSeparatorVisible = index !== stepLen - 1; - } - }, "mounted"), - methods: { - getPTOptions: /* @__PURE__ */ __name(function getPTOptions(key) { - var _ptm = key === "root" ? this.ptmi : this.ptm; - return _ptm(key, { - context: { - active: this.active, - disabled: this.isStepDisabled - } - }); - }, "getPTOptions"), - onStepClick: /* @__PURE__ */ __name(function onStepClick() { - this.$pcStepper.updateValue(this.activeValue); - }, "onStepClick") - }, - computed: { - active: /* @__PURE__ */ __name(function active() { - return this.$pcStepper.isStepActive(this.activeValue); - }, "active"), - activeValue: /* @__PURE__ */ __name(function activeValue() { - var _this$$pcStepItem; - return !!this.$pcStepItem ? (_this$$pcStepItem = this.$pcStepItem) === null || _this$$pcStepItem === void 0 ? void 0 : _this$$pcStepItem.value : this.value; - }, "activeValue"), - isStepDisabled: /* @__PURE__ */ __name(function isStepDisabled() { - return !this.active && (this.$pcStepper.isStepDisabled() || this.disabled); - }, "isStepDisabled"), - id: /* @__PURE__ */ __name(function id() { - var _this$$pcStepper; - return "".concat((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.id, "_step_").concat(this.activeValue); - }, "id"), - ariaControls: /* @__PURE__ */ __name(function ariaControls() { - var _this$$pcStepper2; - return "".concat((_this$$pcStepper2 = this.$pcStepper) === null || _this$$pcStepper2 === void 0 ? void 0 : _this$$pcStepper2.id, "_steppanel_").concat(this.activeValue); - }, "ariaControls"), - a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs() { - return { - root: { - role: "presentation", - "aria-current": this.active ? "step" : void 0, - "data-pc-name": "step", - "data-pc-section": "root", - "data-p-disabled": this.disabled, - "data-p-active": this.active - }, - header: { - id: this.id, - role: "tab", - taindex: this.disabled ? -1 : void 0, - "aria-controls": this.ariaControls, - "data-pc-section": "header", - disabled: this.disabled, - onClick: this.onStepClick - } - }; - }, "a11yAttrs") - }, - components: { - StepperSeparator: script$2$2 - } -}; -var _hoisted_1$5 = ["id", "tabindex", "aria-controls", "disabled"]; -function render$4(_ctx, _cache, $props, $setup, $data, $options) { - var _component_StepperSeparator = resolveComponent("StepperSeparator"); - return !_ctx.asChild ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ - key: 0, - "class": _ctx.cx("root"), - "aria-current": $options.active ? "step" : void 0, - role: "presentation", - "data-p-active": $options.active, - "data-p-disabled": $options.isStepDisabled - }, $options.getPTOptions("root")), { - "default": withCtx(function() { - return [createBaseVNode("button", mergeProps({ - id: $options.id, - "class": _ctx.cx("header"), - role: "tab", - type: "button", - tabindex: $options.isStepDisabled ? -1 : void 0, - "aria-controls": $options.ariaControls, - disabled: $options.isStepDisabled, - onClick: _cache[0] || (_cache[0] = function() { - return $options.onStepClick && $options.onStepClick.apply($options, arguments); - }) - }, $options.getPTOptions("header")), [createBaseVNode("span", mergeProps({ - "class": _ctx.cx("number") - }, $options.getPTOptions("number")), toDisplayString($options.activeValue), 17), createBaseVNode("span", mergeProps({ - "class": _ctx.cx("title") - }, $options.getPTOptions("title")), [renderSlot(_ctx.$slots, "default")], 16)], 16, _hoisted_1$5), $data.isSeparatorVisible ? (openBlock(), createBlock(_component_StepperSeparator, { - key: 0 - })) : createCommentVNode("", true)]; - }), - _: 3 - }, 16, ["class", "aria-current", "data-p-active", "data-p-disabled"])) : renderSlot(_ctx.$slots, "default", { - key: 1, - "class": normalizeClass(_ctx.cx("root")), - active: $options.active, - value: _ctx.value, - a11yAttrs: $options.a11yAttrs, - activateCallback: $options.onStepClick - }); -} -__name(render$4, "render$4"); -script$5.render = render$4; -var classes$3 = { - root: "p-steplist" -}; -var StepListStyle = BaseStyle.extend({ - name: "steplist", - classes: classes$3 -}); -var script$1$3 = { - name: "BaseStepList", - "extends": script$6, - style: StepListStyle, - provide: /* @__PURE__ */ __name(function provide2() { - return { - $pcStepList: this, - $parentInstance: this - }; - }, "provide") -}; -var script$4 = { - name: "StepList", - "extends": script$1$3, - inheritAttrs: false -}; -function render$3(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps({ - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); -} -__name(render$3, "render$3"); -script$4.render = render$3; -var classes$2 = { - root: /* @__PURE__ */ __name(function root2(_ref) { - var instance = _ref.instance; - return ["p-steppanel", { - "p-steppanel-active": instance.isVertical && instance.active - }]; - }, "root"), - content: "p-steppanel-content" -}; -var StepPanelStyle = BaseStyle.extend({ - name: "steppanel", - classes: classes$2 -}); -var script$2$1 = { - name: "StepperSeparator", - hostName: "Stepper", - "extends": script$6 -}; -function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("span", mergeProps({ - "class": _ctx.cx("separator") - }, _ctx.ptm("separator")), null, 16); -} -__name(render$1$1, "render$1$1"); -script$2$1.render = render$1$1; -var script$1$2 = { - name: "BaseStepPanel", - "extends": script$6, - props: { - value: { - type: [String, Number], - "default": void 0 - }, - asChild: { - type: Boolean, - "default": false - }, - as: { - type: [String, Object], - "default": "DIV" - } - }, - style: StepPanelStyle, - provide: /* @__PURE__ */ __name(function provide3() { - return { - $pcStepPanel: this, - $parentInstance: this - }; - }, "provide") -}; -var script$3 = { - name: "StepPanel", - "extends": script$1$2, - inheritAttrs: false, - inject: { - $pcStepper: { - "default": null - }, - $pcStepItem: { - "default": null - }, - $pcStepList: { - "default": null - } - }, - data: /* @__PURE__ */ __name(function data2() { - return { - isSeparatorVisible: false - }; - }, "data"), - mounted: /* @__PURE__ */ __name(function mounted2() { - if (this.$el) { - var _this$$pcStepItem, _this$$pcStepList; - var stepElements = find(this.$pcStepper.$el, '[data-pc-name="step"]'); - var stepPanelEl = findSingle(this.isVertical ? (_this$$pcStepItem = this.$pcStepItem) === null || _this$$pcStepItem === void 0 ? void 0 : _this$$pcStepItem.$el : (_this$$pcStepList = this.$pcStepList) === null || _this$$pcStepList === void 0 ? void 0 : _this$$pcStepList.$el, '[data-pc-name="step"]'); - var stepPanelIndex = findIndexInList(stepPanelEl, stepElements); - this.isSeparatorVisible = this.isVertical && stepPanelIndex !== stepElements.length - 1; - } - }, "mounted"), - methods: { - getPTOptions: /* @__PURE__ */ __name(function getPTOptions2(key) { - var _ptm = key === "root" ? this.ptmi : this.ptm; - return _ptm(key, { - context: { - active: this.active - } - }); - }, "getPTOptions"), - updateValue: /* @__PURE__ */ __name(function updateValue(val) { - this.$pcStepper.updateValue(val); - }, "updateValue") - }, - computed: { - active: /* @__PURE__ */ __name(function active2() { - var _this$$pcStepItem2, _this$$pcStepper; - var activeValue3 = !!this.$pcStepItem ? (_this$$pcStepItem2 = this.$pcStepItem) === null || _this$$pcStepItem2 === void 0 ? void 0 : _this$$pcStepItem2.value : this.value; - return activeValue3 === ((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.d_value); - }, "active"), - isVertical: /* @__PURE__ */ __name(function isVertical() { - return !!this.$pcStepItem; - }, "isVertical"), - activeValue: /* @__PURE__ */ __name(function activeValue2() { - var _this$$pcStepItem3; - return this.isVertical ? (_this$$pcStepItem3 = this.$pcStepItem) === null || _this$$pcStepItem3 === void 0 ? void 0 : _this$$pcStepItem3.value : this.value; - }, "activeValue"), - id: /* @__PURE__ */ __name(function id2() { - var _this$$pcStepper2; - return "".concat((_this$$pcStepper2 = this.$pcStepper) === null || _this$$pcStepper2 === void 0 ? void 0 : _this$$pcStepper2.id, "_steppanel_").concat(this.activeValue); - }, "id"), - ariaControls: /* @__PURE__ */ __name(function ariaControls2() { - var _this$$pcStepper3; - return "".concat((_this$$pcStepper3 = this.$pcStepper) === null || _this$$pcStepper3 === void 0 ? void 0 : _this$$pcStepper3.id, "_step_").concat(this.activeValue); - }, "ariaControls"), - a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs2() { - return { - id: this.id, - role: "tabpanel", - "aria-controls": this.ariaControls, - "data-pc-name": "steppanel", - "data-p-active": this.active - }; - }, "a11yAttrs") - }, - components: { - StepperSeparator: script$2$1 - } -}; -function render$2(_ctx, _cache, $props, $setup, $data, $options) { - var _component_StepperSeparator = resolveComponent("StepperSeparator"); - return $options.isVertical ? (openBlock(), createElementBlock(Fragment, { - key: 0 - }, [!_ctx.asChild ? (openBlock(), createBlock(Transition, mergeProps({ - key: 0, - name: "p-toggleable-content" - }, _ctx.ptm("transition")), { - "default": withCtx(function() { - return [withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ - id: $options.id, - "class": _ctx.cx("root"), - role: "tabpanel", - "aria-controls": $options.ariaControls - }, $options.getPTOptions("root")), { - "default": withCtx(function() { - return [$data.isSeparatorVisible ? (openBlock(), createBlock(_component_StepperSeparator, { - key: 0 - })) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ - "class": _ctx.cx("content") - }, $options.getPTOptions("content")), [renderSlot(_ctx.$slots, "default", { - active: $options.active, - activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { - return $options.updateValue(val); - }, "activateCallback") - })], 16)]; - }), - _: 3 - }, 16, ["id", "class", "aria-controls"])), [[vShow, $options.active]])]; - }), - _: 3 - }, 16)) : renderSlot(_ctx.$slots, "default", { - key: 1, - active: $options.active, - a11yAttrs: $options.a11yAttrs, - activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { - return $options.updateValue(val); - }, "activateCallback") - })], 64)) : (openBlock(), createElementBlock(Fragment, { - key: 1 - }, [!_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ - key: 0, - id: $options.id, - "class": _ctx.cx("root"), - role: "tabpanel", - "aria-controls": $options.ariaControls - }, $options.getPTOptions("root")), { - "default": withCtx(function() { - return [renderSlot(_ctx.$slots, "default", { - active: $options.active, - activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { - return $options.updateValue(val); - }, "activateCallback") - })]; - }), - _: 3 - }, 16, ["id", "class", "aria-controls"])), [[vShow, $options.active]]) : _ctx.asChild && $options.active ? renderSlot(_ctx.$slots, "default", { - key: 1, - active: $options.active, - a11yAttrs: $options.a11yAttrs, - activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { - return $options.updateValue(val); - }, "activateCallback") - }) : createCommentVNode("", true)], 64)); -} -__name(render$2, "render$2"); -script$3.render = render$2; -var classes$1 = { - root: "p-steppanels" -}; -var StepPanelsStyle = BaseStyle.extend({ - name: "steppanels", - classes: classes$1 -}); -var script$1$1 = { - name: "BaseStepPanels", - "extends": script$6, - style: StepPanelsStyle, - provide: /* @__PURE__ */ __name(function provide4() { - return { - $pcStepPanels: this, - $parentInstance: this - }; - }, "provide") -}; -var script$2 = { - name: "StepPanels", - "extends": script$1$1, - inheritAttrs: false -}; -function render$1(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps({ - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); -} -__name(render$1, "render$1"); -script$2.render = render$1; -var theme = /* @__PURE__ */ __name(function theme2(_ref) { - var dt = _ref.dt; - return "\n.p-steplist {\n position: relative;\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow-x: auto;\n}\n\n.p-step {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n gap: ".concat(dt("stepper.step.gap"), ";\n padding: ").concat(dt("stepper.step.padding"), ";\n}\n\n.p-step:last-of-type {\n flex: initial;\n}\n\n.p-step-header {\n border: 0 none;\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n cursor: pointer;\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ";\n border-radius: ").concat(dt("stepper.step.header.border.radius"), ";\n outline-color: transparent;\n background: transparent;\n padding: ").concat(dt("stepper.step.header.padding"), ";\n gap: ").concat(dt("stepper.step.header.gap"), ";\n}\n\n.p-step-header:focus-visible {\n box-shadow: ").concat(dt("stepper.step.header.focus.ring.shadow"), ";\n outline: ").concat(dt("stepper.step.header.focus.ring.width"), " ").concat(dt("stepper.step.header.focus.ring.style"), " ").concat(dt("stepper.step.header.focus.ring.color"), ";\n outline-offset: ").concat(dt("stepper.step.header.focus.ring.offset"), ";\n}\n\n.p-stepper.p-stepper-readonly .p-step {\n cursor: auto;\n}\n\n.p-step-title {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n color: ").concat(dt("stepper.step.title.color"), ";\n font-weight: ").concat(dt("stepper.step.title.font.weight"), ";\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ";\n}\n\n.p-step-number {\n display: flex;\n align-items: center;\n justify-content: center;\n color: ").concat(dt("stepper.step.number.color"), ";\n border: 2px solid ").concat(dt("stepper.step.number.border.color"), ";\n background: ").concat(dt("stepper.step.number.background"), ";\n min-width: ").concat(dt("stepper.step.number.size"), ";\n height: ").concat(dt("stepper.step.number.size"), ";\n line-height: ").concat(dt("stepper.step.number.size"), ";\n font-size: ").concat(dt("stepper.step.number.font.size"), ";\n z-index: 1;\n border-radius: ").concat(dt("stepper.step.number.border.radius"), ";\n position: relative;\n font-weight: ").concat(dt("stepper.step.number.font.weight"), ';\n}\n\n.p-step-number::after {\n content: " ";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ').concat(dt("stepper.step.number.border.radius"), ";\n box-shadow: ").concat(dt("stepper.step.number.shadow"), ";\n}\n\n.p-step-active .p-step-header {\n cursor: default;\n}\n\n.p-step-active .p-step-number {\n background: ").concat(dt("stepper.step.number.active.background"), ";\n border-color: ").concat(dt("stepper.step.number.active.border.color"), ";\n color: ").concat(dt("stepper.step.number.active.color"), ";\n}\n\n.p-step-active .p-step-title {\n color: ").concat(dt("stepper.step.title.active.color"), ";\n}\n\n.p-step:not(.p-disabled):focus-visible {\n outline: ").concat(dt("focus.ring.width"), " ").concat(dt("focus.ring.style"), " ").concat(dt("focus.ring.color"), ";\n outline-offset: ").concat(dt("focus.ring.offset"), ";\n}\n\n.p-step:has(~ .p-step-active) .p-stepper-separator {\n background: ").concat(dt("stepper.separator.active.background"), ";\n}\n\n.p-stepper-separator {\n flex: 1 1 0;\n background: ").concat(dt("stepper.separator.background"), ";\n width: 100%;\n height: ").concat(dt("stepper.separator.size"), ";\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ";\n}\n\n.p-steppanels {\n padding: ").concat(dt("stepper.steppanels.padding"), ";\n}\n\n.p-steppanel {\n background: ").concat(dt("stepper.steppanel.background"), ";\n color: ").concat(dt("stepper.steppanel.color"), ";\n}\n\n.p-stepper:has(.p-stepitem) {\n display: flex;\n flex-direction: column;\n}\n\n.p-stepitem {\n display: flex;\n flex-direction: column;\n flex: initial;\n}\n\n.p-stepitem.p-stepitem-active {\n flex: 1 1 auto;\n}\n\n.p-stepitem .p-step {\n flex: initial;\n}\n\n.p-stepitem .p-steppanel-content {\n width: 100%;\n padding: ").concat(dt("stepper.steppanel.padding"), ";\n}\n\n.p-stepitem .p-steppanel {\n display: flex;\n flex: 1 1 auto;\n}\n\n.p-stepitem .p-stepper-separator {\n flex: 0 0 auto;\n width: ").concat(dt("stepper.separator.size"), ";\n height: auto;\n margin: ").concat(dt("stepper.separator.margin"), ";\n position: relative;\n left: calc(-1 * ").concat(dt("stepper.separator.size"), ");\n}\n\n.p-stepitem:has(~ .p-stepitem-active) .p-stepper-separator {\n background: ").concat(dt("stepper.separator.active.background"), ";\n}\n\n.p-stepitem:last-of-type .p-steppanel {\n padding-inline-start: ").concat(dt("stepper.step.number.size"), ";\n}\n"); -}, "theme"); -var classes = { - root: /* @__PURE__ */ __name(function root3(_ref2) { - var props = _ref2.props; - return ["p-stepper p-component", { - "p-readonly": props.linear - }]; - }, "root"), - separator: "p-stepper-separator" -}; -var StepperStyle = BaseStyle.extend({ - name: "stepper", - theme, - classes -}); -var script$1 = { - name: "BaseStepper", - "extends": script$6, - props: { - value: { - type: [String, Number], - "default": void 0 - }, - linear: { - type: Boolean, - "default": false - } - }, - style: StepperStyle, - provide: /* @__PURE__ */ __name(function provide5() { - return { - $pcStepper: this, - $parentInstance: this - }; - }, "provide") -}; -var script = { - name: "Stepper", - "extends": script$1, - inheritAttrs: false, - emits: ["update:value"], - data: /* @__PURE__ */ __name(function data3() { - return { - id: this.$attrs.id, - d_value: this.value - }; - }, "data"), - watch: { - "$attrs.id": /* @__PURE__ */ __name(function $attrsId(newValue) { - this.id = newValue || UniqueComponentId(); - }, "$attrsId"), - value: /* @__PURE__ */ __name(function value(newValue) { - this.d_value = newValue; - }, "value") - }, - mounted: /* @__PURE__ */ __name(function mounted3() { - this.id = this.id || UniqueComponentId(); - }, "mounted"), - methods: { - updateValue: /* @__PURE__ */ __name(function updateValue2(newValue) { - if (this.d_value !== newValue) { - this.d_value = newValue; - this.$emit("update:value", newValue); - } - }, "updateValue"), - isStepActive: /* @__PURE__ */ __name(function isStepActive(value2) { - return this.d_value === value2; - }, "isStepActive"), - isStepDisabled: /* @__PURE__ */ __name(function isStepDisabled2() { - return this.linear; - }, "isStepDisabled") - } -}; -function render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("div", mergeProps({ - "class": _ctx.cx("root"), - role: "tablist" - }, _ctx.ptmi("root")), [_ctx.$slots.start ? renderSlot(_ctx.$slots, "start", { - key: 0 - }) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default"), _ctx.$slots.end ? renderSlot(_ctx.$slots, "end", { - key: 1 - }) : createCommentVNode("", true)], 16); -} -__name(render, "render"); -script.render = render; -const _hoisted_1$4 = { class: "flex flex-col gap-6 w-[600px]" }; -const _hoisted_2$4 = { class: "flex flex-col gap-4" }; -const _hoisted_3$4 = { class: "text-2xl font-semibold text-neutral-100" }; -const _hoisted_4$4 = { class: "text-neutral-400 my-0" }; -const _hoisted_5$3 = { class: "flex flex-col bg-neutral-800 p-4 rounded-lg" }; -const _hoisted_6$3 = { class: "flex items-center gap-4" }; -const _hoisted_7$3 = { class: "flex-1" }; -const _hoisted_8$3 = { class: "text-lg font-medium text-neutral-100" }; -const _hoisted_9$3 = { class: "text-sm text-neutral-400 mt-1" }; -const _hoisted_10$3 = { class: "flex items-center gap-4" }; -const _hoisted_11$3 = { class: "flex-1" }; -const _hoisted_12$3 = { class: "text-lg font-medium text-neutral-100" }; -const _hoisted_13$2 = { class: "text-sm text-neutral-400 mt-1" }; -const _hoisted_14$2 = { class: "text-neutral-300" }; -const _hoisted_15$2 = { class: "font-medium mb-2" }; -const _hoisted_16$2 = { class: "list-disc pl-6 space-y-1" }; -const _hoisted_17$2 = { class: "font-medium mt-4 mb-2" }; -const _hoisted_18$2 = { class: "list-disc pl-6 space-y-1" }; -const _hoisted_19 = { class: "mt-4" }; -const _hoisted_20 = { - href: "https://comfy.org/privacy", - target: "_blank", - class: "text-blue-400 hover:text-blue-300 underline" -}; -const _sfc_main$4 = /* @__PURE__ */ defineComponent({ - __name: "DesktopSettingsConfiguration", - props: { - "autoUpdate": { required: true }, - "autoUpdateModifiers": {}, - "allowMetrics": { required: true }, - "allowMetricsModifiers": {} - }, - emits: ["update:autoUpdate", "update:allowMetrics"], - setup(__props) { - const showDialog = ref(false); - const autoUpdate = useModel(__props, "autoUpdate"); - const allowMetrics = useModel(__props, "allowMetrics"); - const showMetricsInfo = /* @__PURE__ */ __name(() => { - showDialog.value = true; - }, "showMetricsInfo"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$4, [ - createBaseVNode("div", _hoisted_2$4, [ - createBaseVNode("h2", _hoisted_3$4, toDisplayString(_ctx.$t("install.desktopAppSettings")), 1), - createBaseVNode("p", _hoisted_4$4, toDisplayString(_ctx.$t("install.desktopAppSettingsDescription")), 1) - ]), - createBaseVNode("div", _hoisted_5$3, [ - createBaseVNode("div", _hoisted_6$3, [ - createBaseVNode("div", _hoisted_7$3, [ - createBaseVNode("h3", _hoisted_8$3, toDisplayString(_ctx.$t("install.settings.autoUpdate")), 1), - createBaseVNode("p", _hoisted_9$3, toDisplayString(_ctx.$t("install.settings.autoUpdateDescription")), 1) - ]), - createVNode(unref(script$7), { - modelValue: autoUpdate.value, - "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => autoUpdate.value = $event) - }, null, 8, ["modelValue"]) - ]), - createVNode(unref(script$8)), - createBaseVNode("div", _hoisted_10$3, [ - createBaseVNode("div", _hoisted_11$3, [ - createBaseVNode("h3", _hoisted_12$3, toDisplayString(_ctx.$t("install.settings.allowMetrics")), 1), - createBaseVNode("p", _hoisted_13$2, toDisplayString(_ctx.$t("install.settings.allowMetricsDescription")), 1), - createBaseVNode("a", { - href: "#", - class: "text-sm text-blue-400 hover:text-blue-300 mt-1 inline-block", - onClick: withModifiers(showMetricsInfo, ["prevent"]) - }, toDisplayString(_ctx.$t("install.settings.learnMoreAboutData")), 1) - ]), - createVNode(unref(script$7), { - modelValue: allowMetrics.value, - "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => allowMetrics.value = $event) - }, null, 8, ["modelValue"]) - ]) - ]), - createVNode(unref(script$9), { - visible: showDialog.value, - "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => showDialog.value = $event), - modal: "", - header: _ctx.$t("install.settings.dataCollectionDialog.title") - }, { - default: withCtx(() => [ - createBaseVNode("div", _hoisted_14$2, [ - createBaseVNode("h4", _hoisted_15$2, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.whatWeCollect")), 1), - createBaseVNode("ul", _hoisted_16$2, [ - createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.collect.errorReports")), 1), - createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.collect.systemInfo")), 1), - createBaseVNode("li", null, toDisplayString(_ctx.$t( - "install.settings.dataCollectionDialog.collect.userJourneyEvents" - )), 1) - ]), - createBaseVNode("h4", _hoisted_17$2, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.whatWeDoNotCollect")), 1), - createBaseVNode("ul", _hoisted_18$2, [ - createBaseVNode("li", null, toDisplayString(_ctx.$t( - "install.settings.dataCollectionDialog.doNotCollect.personalInformation" - )), 1), - createBaseVNode("li", null, toDisplayString(_ctx.$t( - "install.settings.dataCollectionDialog.doNotCollect.workflowContents" - )), 1), - createBaseVNode("li", null, toDisplayString(_ctx.$t( - "install.settings.dataCollectionDialog.doNotCollect.fileSystemInformation" - )), 1), - createBaseVNode("li", null, toDisplayString(_ctx.$t( - "install.settings.dataCollectionDialog.doNotCollect.customNodeConfigurations" - )), 1) - ]), - createBaseVNode("div", _hoisted_19, [ - createBaseVNode("a", _hoisted_20, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.viewFullPolicy")), 1) - ]) - ]) - ]), - _: 1 - }, 8, ["visible", "header"]) - ]); - }; - } -}); -const _imports_0 = "" + new URL("images/nvidia-logo.svg", import.meta.url).href; -const _imports_1 = "" + new URL("images/apple-mps-logo.png", import.meta.url).href; -const _imports_2 = "" + new URL("images/manual-configuration.svg", import.meta.url).href; -const _withScopeId$1 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-79125ff6"), n = n(), popScopeId(), n), "_withScopeId$1"); -const _hoisted_1$3 = { class: "flex flex-col gap-6 w-[600px] h-[30rem] select-none" }; -const _hoisted_2$3 = { class: "grow flex flex-col gap-4 text-neutral-300" }; -const _hoisted_3$3 = { class: "text-2xl font-semibold text-neutral-100" }; -const _hoisted_4$3 = { class: "m-1 text-neutral-400" }; -const _hoisted_5$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("img", { - class: "m-12", - alt: "NVIDIA logo", - width: "196", - height: "32", - src: _imports_0 -}, null, -1)); -const _hoisted_6$2 = [ - _hoisted_5$2 -]; -const _hoisted_7$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("img", { - class: "rounded-lg hover-brighten", - alt: "Apple Metal Performance Shaders Logo", - width: "292", - ratio: "", - src: _imports_1 -}, null, -1)); -const _hoisted_8$2 = [ - _hoisted_7$2 -]; -const _hoisted_9$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("img", { - class: "m-12", - alt: "Manual configuration", - width: "196", - src: _imports_2 -}, null, -1)); -const _hoisted_10$2 = [ - _hoisted_9$2 -]; -const _hoisted_11$2 = { - key: 0, - class: "m-1" -}; -const _hoisted_12$2 = { - key: 1, - class: "m-1" -}; -const _hoisted_13$1 = { - key: 2, - class: "text-neutral-300" -}; -const _hoisted_14$1 = { class: "m-1" }; -const _hoisted_15$1 = { key: 3 }; -const _hoisted_16$1 = { class: "m-1" }; -const _hoisted_17$1 = { class: "m-1" }; -const _hoisted_18$1 = { - for: "cpu-mode", - class: "select-none" -}; -const _sfc_main$3 = /* @__PURE__ */ defineComponent({ - __name: "GpuPicker", - props: { - "device": { - required: true - }, - "deviceModifiers": {} - }, - emits: ["update:device"], - setup(__props) { - const { t } = useI18n(); - const cpuMode = computed({ - get: /* @__PURE__ */ __name(() => selected.value === "cpu", "get"), - set: /* @__PURE__ */ __name((value2) => { - selected.value = value2 ? "cpu" : null; - }, "set") - }); - const selected = useModel(__props, "device"); - const electron = electronAPI(); - const platform = electron.getPlatform(); - const pickGpu = /* @__PURE__ */ __name((value2) => { - const newValue = selected.value === value2 ? null : value2; - selected.value = newValue; - }, "pickGpu"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$3, [ - createBaseVNode("div", _hoisted_2$3, [ - createBaseVNode("h2", _hoisted_3$3, toDisplayString(_ctx.$t("install.gpuSelection.selectGpu")), 1), - createBaseVNode("p", _hoisted_4$3, toDisplayString(_ctx.$t("install.gpuSelection.selectGpuDescription")) + ": ", 1), - createBaseVNode("div", { - class: normalizeClass(["flex gap-2 text-center transition-opacity", { selected: selected.value }]) - }, [ - unref(platform) !== "darwin" ? (openBlock(), createElementBlock("div", { - key: 0, - class: normalizeClass(["gpu-button", { selected: selected.value === "nvidia" }]), - role: "button", - onClick: _cache[0] || (_cache[0] = ($event) => pickGpu("nvidia")) - }, _hoisted_6$2, 2)) : createCommentVNode("", true), - unref(platform) === "darwin" ? (openBlock(), createElementBlock("div", { - key: 1, - class: normalizeClass(["gpu-button", { selected: selected.value === "mps" }]), - role: "button", - onClick: _cache[1] || (_cache[1] = ($event) => pickGpu("mps")) - }, _hoisted_8$2, 2)) : createCommentVNode("", true), - createBaseVNode("div", { - class: normalizeClass(["gpu-button", { selected: selected.value === "unsupported" }]), - role: "button", - onClick: _cache[2] || (_cache[2] = ($event) => pickGpu("unsupported")) - }, _hoisted_10$2, 2) - ], 2), - selected.value === "nvidia" ? (openBlock(), createElementBlock("p", _hoisted_11$2, [ - createVNode(unref(script$a), { - icon: "pi pi-check", - severity: "success", - value: "CUDA" - }), - createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.nvidiaDescription")), 1) - ])) : createCommentVNode("", true), - selected.value === "mps" ? (openBlock(), createElementBlock("p", _hoisted_12$2, [ - createVNode(unref(script$a), { - icon: "pi pi-check", - severity: "success", - value: "MPS" - }), - createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.mpsDescription")), 1) - ])) : createCommentVNode("", true), - selected.value === "unsupported" ? (openBlock(), createElementBlock("div", _hoisted_13$1, [ - createBaseVNode("p", _hoisted_14$1, [ - createVNode(unref(script$a), { - icon: "pi pi-exclamation-triangle", - severity: "warn", - value: unref(t)("icon.exclamation-triangle") - }, null, 8, ["value"]), - createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.customSkipsPython")), 1) - ]), - createBaseVNode("ul", null, [ - createBaseVNode("li", null, [ - createBaseVNode("strong", null, toDisplayString(_ctx.$t("install.gpuSelection.customComfyNeedsPython")), 1) - ]), - createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customManualVenv")), 1), - createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customInstallRequirements")), 1), - createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customMayNotWork")), 1) - ]) - ])) : createCommentVNode("", true), - selected.value === "cpu" ? (openBlock(), createElementBlock("div", _hoisted_15$1, [ - createBaseVNode("p", _hoisted_16$1, [ - createVNode(unref(script$a), { - icon: "pi pi-exclamation-triangle", - severity: "warn", - value: unref(t)("icon.exclamation-triangle") - }, null, 8, ["value"]), - createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.cpuModeDescription")), 1) - ]), - createBaseVNode("p", _hoisted_17$1, toDisplayString(_ctx.$t("install.gpuSelection.cpuModeDescription2")), 1) - ])) : createCommentVNode("", true) - ]), - createBaseVNode("div", { - class: normalizeClass(["transition-opacity flex gap-3 h-0", { - "opacity-40": selected.value && selected.value !== "cpu" - }]) - }, [ - createVNode(unref(script$7), { - modelValue: cpuMode.value, - "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => cpuMode.value = $event), - inputId: "cpu-mode", - class: "-translate-y-40" - }, null, 8, ["modelValue"]), - createBaseVNode("label", _hoisted_18$1, toDisplayString(_ctx.$t("install.gpuSelection.enableCpuMode")), 1) - ], 2) - ]); - }; - } -}); -const GpuPicker = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-79125ff6"]]); -const _hoisted_1$2 = { class: "flex flex-col gap-6 w-[600px]" }; -const _hoisted_2$2 = { class: "flex flex-col gap-4" }; -const _hoisted_3$2 = { class: "text-2xl font-semibold text-neutral-100" }; -const _hoisted_4$2 = { class: "text-neutral-400 my-0" }; -const _hoisted_5$1 = { class: "flex gap-2" }; -const _hoisted_6$1 = { class: "bg-neutral-800 p-4 rounded-lg" }; -const _hoisted_7$1 = { class: "text-lg font-medium mt-0 mb-3 text-neutral-100" }; -const _hoisted_8$1 = { class: "flex flex-col gap-2" }; -const _hoisted_9$1 = { class: "flex items-center gap-2" }; -const _hoisted_10$1 = /* @__PURE__ */ createBaseVNode("i", { class: "pi pi-folder text-neutral-400" }, null, -1); -const _hoisted_11$1 = /* @__PURE__ */ createBaseVNode("span", { class: "text-neutral-400" }, "App Data:", -1); -const _hoisted_12$1 = { class: "text-neutral-200" }; -const _hoisted_13 = { class: "pi pi-info-circle" }; -const _hoisted_14 = { class: "flex items-center gap-2" }; -const _hoisted_15 = /* @__PURE__ */ createBaseVNode("i", { class: "pi pi-desktop text-neutral-400" }, null, -1); -const _hoisted_16 = /* @__PURE__ */ createBaseVNode("span", { class: "text-neutral-400" }, "App Path:", -1); -const _hoisted_17 = { class: "text-neutral-200" }; -const _hoisted_18 = { class: "pi pi-info-circle" }; -const _sfc_main$2 = /* @__PURE__ */ defineComponent({ - __name: "InstallLocationPicker", - props: { - "installPath": { required: true }, - "installPathModifiers": {}, - "pathError": { required: true }, - "pathErrorModifiers": {} - }, - emits: ["update:installPath", "update:pathError"], - setup(__props) { - const { t } = useI18n(); - const installPath = useModel(__props, "installPath"); - const pathError = useModel(__props, "pathError"); - const pathExists = ref(false); - const appData = ref(""); - const appPath = ref(""); - const electron = electronAPI(); - onMounted(async () => { - const paths = await electron.getSystemPaths(); - appData.value = paths.appData; - appPath.value = paths.appPath; - installPath.value = paths.defaultInstallPath; - await validatePath(paths.defaultInstallPath); - }); - const validatePath = /* @__PURE__ */ __name(async (path) => { - try { - pathError.value = ""; - pathExists.value = false; - const validation = await electron.validateInstallPath(path); - if (!validation.isValid) { - const errors = []; - if (validation.cannotWrite) errors.push(t("install.cannotWrite")); - if (validation.freeSpace < validation.requiredSpace) { - const requiredGB = validation.requiredSpace / 1024 / 1024 / 1024; - errors.push(`${t("install.insufficientFreeSpace")}: ${requiredGB} GB`); - } - if (validation.parentMissing) errors.push(t("install.parentMissing")); - if (validation.error) - errors.push(`${t("install.unhandledError")}: ${validation.error}`); - pathError.value = errors.join("\n"); - } - if (validation.exists) pathExists.value = true; - } catch (error) { - pathError.value = t("install.pathValidationFailed"); - } - }, "validatePath"); - const browsePath = /* @__PURE__ */ __name(async () => { - try { - const result = await electron.showDirectoryPicker(); - if (result) { - installPath.value = result; - await validatePath(result); - } - } catch (error) { - pathError.value = t("install.failedToSelectDirectory"); - } - }, "browsePath"); - return (_ctx, _cache) => { - const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createElementBlock("div", _hoisted_1$2, [ - createBaseVNode("div", _hoisted_2$2, [ - createBaseVNode("h2", _hoisted_3$2, toDisplayString(_ctx.$t("install.chooseInstallationLocation")), 1), - createBaseVNode("p", _hoisted_4$2, toDisplayString(_ctx.$t("install.installLocationDescription")), 1), - createBaseVNode("div", _hoisted_5$1, [ - createVNode(unref(script$d), { class: "flex-1" }, { - default: withCtx(() => [ - createVNode(unref(script$b), { - modelValue: installPath.value, - "onUpdate:modelValue": [ - _cache[0] || (_cache[0] = ($event) => installPath.value = $event), - validatePath - ], - class: normalizeClass(["w-full", { "p-invalid": pathError.value }]) - }, null, 8, ["modelValue", "class"]), - withDirectives(createVNode(unref(script$c), { class: "pi pi-info-circle" }, null, 512), [ - [_directive_tooltip, _ctx.$t("install.installLocationTooltip")] - ]) - ]), - _: 1 - }), - createVNode(unref(script$e), { - icon: "pi pi-folder", - onClick: browsePath, - class: "w-12" - }) - ]), - pathError.value ? (openBlock(), createBlock(unref(script$f), { - key: 0, - severity: "error", - class: "whitespace-pre-line" - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(pathError.value), 1) - ]), - _: 1 - })) : createCommentVNode("", true), - pathExists.value ? (openBlock(), createBlock(unref(script$f), { - key: 1, - severity: "warn" - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(_ctx.$t("install.pathExists")), 1) - ]), - _: 1 - })) : createCommentVNode("", true) - ]), - createBaseVNode("div", _hoisted_6$1, [ - createBaseVNode("h3", _hoisted_7$1, toDisplayString(_ctx.$t("install.systemLocations")), 1), - createBaseVNode("div", _hoisted_8$1, [ - createBaseVNode("div", _hoisted_9$1, [ - _hoisted_10$1, - _hoisted_11$1, - createBaseVNode("span", _hoisted_12$1, toDisplayString(appData.value), 1), - withDirectives(createBaseVNode("span", _hoisted_13, null, 512), [ - [_directive_tooltip, _ctx.$t("install.appDataLocationTooltip")] - ]) - ]), - createBaseVNode("div", _hoisted_14, [ - _hoisted_15, - _hoisted_16, - createBaseVNode("span", _hoisted_17, toDisplayString(appPath.value), 1), - withDirectives(createBaseVNode("span", _hoisted_18, null, 512), [ - [_directive_tooltip, _ctx.$t("install.appPathLocationTooltip")] - ]) - ]) - ]) - ]) - ]); - }; - } -}); -const _hoisted_1$1 = { class: "flex flex-col gap-6 w-[600px]" }; -const _hoisted_2$1 = { class: "flex flex-col gap-4" }; -const _hoisted_3$1 = { class: "text-2xl font-semibold text-neutral-100" }; -const _hoisted_4$1 = { class: "text-neutral-400 my-0" }; -const _hoisted_5 = { class: "flex gap-2" }; -const _hoisted_6 = { - key: 0, - class: "flex flex-col gap-4 bg-neutral-800 p-4 rounded-lg" -}; -const _hoisted_7 = { class: "text-lg mt-0 font-medium text-neutral-100" }; -const _hoisted_8 = { class: "flex flex-col gap-3" }; -const _hoisted_9 = ["onClick"]; -const _hoisted_10 = ["for"]; -const _hoisted_11 = { class: "text-sm text-neutral-400 my-1" }; -const _hoisted_12 = { - key: 1, - class: "text-neutral-400 italic" -}; -const _sfc_main$1 = /* @__PURE__ */ defineComponent({ - __name: "MigrationPicker", - props: { - "sourcePath": { required: false }, - "sourcePathModifiers": {}, - "migrationItemIds": { - required: false - }, - "migrationItemIdsModifiers": {} - }, - emits: ["update:sourcePath", "update:migrationItemIds"], - setup(__props) { - const { t } = useI18n(); - const electron = electronAPI(); - const sourcePath = useModel(__props, "sourcePath"); - const migrationItemIds = useModel(__props, "migrationItemIds"); - const migrationItems = ref( - MigrationItems.map((item) => ({ - ...item, - selected: true - })) - ); - const pathError = ref(""); - const isValidSource = computed( - () => sourcePath.value !== "" && pathError.value === "" - ); - const validateSource = /* @__PURE__ */ __name(async (sourcePath2) => { - if (!sourcePath2) { - pathError.value = ""; - return; - } - try { - pathError.value = ""; - const validation = await electron.validateComfyUISource(sourcePath2); - if (!validation.isValid) pathError.value = validation.error; - } catch (error) { - console.error(error); - pathError.value = t("install.pathValidationFailed"); - } - }, "validateSource"); - const browsePath = /* @__PURE__ */ __name(async () => { - try { - const result = await electron.showDirectoryPicker(); - if (result) { - sourcePath.value = result; - await validateSource(result); - } - } catch (error) { - console.error(error); - pathError.value = t("install.failedToSelectDirectory"); - } - }, "browsePath"); - watchEffect(() => { - migrationItemIds.value = migrationItems.value.filter((item) => item.selected).map((item) => item.id); - }); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$1, [ - createBaseVNode("div", _hoisted_2$1, [ - createBaseVNode("h2", _hoisted_3$1, toDisplayString(_ctx.$t("install.migrateFromExistingInstallation")), 1), - createBaseVNode("p", _hoisted_4$1, toDisplayString(_ctx.$t("install.migrationSourcePathDescription")), 1), - createBaseVNode("div", _hoisted_5, [ - createVNode(unref(script$b), { - modelValue: sourcePath.value, - "onUpdate:modelValue": [ - _cache[0] || (_cache[0] = ($event) => sourcePath.value = $event), - validateSource - ], - placeholder: "Select existing ComfyUI installation (optional)", - class: normalizeClass(["flex-1", { "p-invalid": pathError.value }]) - }, null, 8, ["modelValue", "class"]), - createVNode(unref(script$e), { - icon: "pi pi-folder", - onClick: browsePath, - class: "w-12" - }) - ]), - pathError.value ? (openBlock(), createBlock(unref(script$f), { - key: 0, - severity: "error" - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(pathError.value), 1) - ]), - _: 1 - })) : createCommentVNode("", true) - ]), - isValidSource.value ? (openBlock(), createElementBlock("div", _hoisted_6, [ - createBaseVNode("h3", _hoisted_7, toDisplayString(_ctx.$t("install.selectItemsToMigrate")), 1), - createBaseVNode("div", _hoisted_8, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(migrationItems.value, (item) => { - return openBlock(), createElementBlock("div", { - key: item.id, - class: "flex items-center gap-3 p-2 hover:bg-neutral-700 rounded", - onClick: /* @__PURE__ */ __name(($event) => item.selected = !item.selected, "onClick") - }, [ - createVNode(unref(script$g), { - modelValue: item.selected, - "onUpdate:modelValue": /* @__PURE__ */ __name(($event) => item.selected = $event, "onUpdate:modelValue"), - inputId: item.id, - binary: true, - onClick: _cache[1] || (_cache[1] = withModifiers(() => { - }, ["stop"])) - }, null, 8, ["modelValue", "onUpdate:modelValue", "inputId"]), - createBaseVNode("div", null, [ - createBaseVNode("label", { - for: item.id, - class: "text-neutral-200 font-medium" - }, toDisplayString(item.label), 9, _hoisted_10), - createBaseVNode("p", _hoisted_11, toDisplayString(item.description), 1) - ]) - ], 8, _hoisted_9); - }), 128)) - ]) - ])) : (openBlock(), createElementBlock("div", _hoisted_12, toDisplayString(_ctx.$t("install.migrationOptional")), 1)) - ]); - }; - } -}); -const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-0a97b0ae"), n = n(), popScopeId(), n), "_withScopeId"); -const _hoisted_1 = { class: "flex pt-6 justify-end" }; -const _hoisted_2 = { class: "flex pt-6 justify-between" }; -const _hoisted_3 = { class: "flex pt-6 justify-between" }; -const _hoisted_4 = { class: "flex pt-6 justify-between" }; -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "InstallView", - setup(__props) { - const device = ref(null); - const installPath = ref(""); - const pathError = ref(""); - const migrationSourcePath = ref(""); - const migrationItemIds = ref([]); - const autoUpdate = ref(true); - const allowMetrics = ref(true); - const highestStep = ref(0); - const handleStepChange = /* @__PURE__ */ __name((value2) => { - setHighestStep(value2); - electronAPI().Events.trackEvent("install_stepper_change", { - step: value2 - }); - }, "handleStepChange"); - const setHighestStep = /* @__PURE__ */ __name((value2) => { - const int = typeof value2 === "number" ? value2 : parseInt(value2, 10); - if (!isNaN(int) && int > highestStep.value) highestStep.value = int; - }, "setHighestStep"); - const hasError = computed(() => pathError.value !== ""); - const noGpu = computed(() => typeof device.value !== "string"); - const electron = electronAPI(); - const router = useRouter(); - const install = /* @__PURE__ */ __name(() => { - const options = { - installPath: installPath.value, - autoUpdate: autoUpdate.value, - allowMetrics: allowMetrics.value, - migrationSourcePath: migrationSourcePath.value, - migrationItemIds: toRaw(migrationItemIds.value), - device: device.value - }; - electron.installComfyUI(options); - const nextPage = options.device === "unsupported" ? "/manual-configuration" : "/server-start"; - router.push(nextPage); - }, "install"); - onMounted(async () => { - if (!electron) return; - const detectedGpu = await electron.Config.getDetectedGpu(); - if (detectedGpu === "mps" || detectedGpu === "nvidia") { - device.value = detectedGpu; - } - electronAPI().Events.trackEvent("install_stepper_change", { - step: "0", - gpu: detectedGpu - }); - }); - return (_ctx, _cache) => { - return openBlock(), createBlock(_sfc_main$5, { dark: "" }, { - default: withCtx(() => [ - createVNode(unref(script), { - class: "h-full p-8 2xl:p-16", - value: "0", - "onUpdate:value": handleStepChange - }, { - default: withCtx(() => [ - createVNode(unref(script$4), { class: "select-none" }, { - default: withCtx(() => [ - createVNode(unref(script$5), { value: "0" }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(_ctx.$t("install.gpu")), 1) - ]), - _: 1 - }), - createVNode(unref(script$5), { - value: "1", - disabled: noGpu.value - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(_ctx.$t("install.installLocation")), 1) - ]), - _: 1 - }, 8, ["disabled"]), - createVNode(unref(script$5), { - value: "2", - disabled: noGpu.value || hasError.value || highestStep.value < 1 - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(_ctx.$t("install.migration")), 1) - ]), - _: 1 - }, 8, ["disabled"]), - createVNode(unref(script$5), { - value: "3", - disabled: noGpu.value || hasError.value || highestStep.value < 2 - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(_ctx.$t("install.desktopSettings")), 1) - ]), - _: 1 - }, 8, ["disabled"]) - ]), - _: 1 - }), - createVNode(unref(script$2), null, { - default: withCtx(() => [ - createVNode(unref(script$3), { value: "0" }, { - default: withCtx(({ activateCallback }) => [ - createVNode(GpuPicker, { - device: device.value, - "onUpdate:device": _cache[0] || (_cache[0] = ($event) => device.value = $event) - }, null, 8, ["device"]), - createBaseVNode("div", _hoisted_1, [ - createVNode(unref(script$e), { - label: _ctx.$t("g.next"), - icon: "pi pi-arrow-right", - iconPos: "right", - onClick: /* @__PURE__ */ __name(($event) => activateCallback("1"), "onClick"), - disabled: typeof device.value !== "string" - }, null, 8, ["label", "onClick", "disabled"]) - ]) - ]), - _: 1 - }), - createVNode(unref(script$3), { value: "1" }, { - default: withCtx(({ activateCallback }) => [ - createVNode(_sfc_main$2, { - installPath: installPath.value, - "onUpdate:installPath": _cache[1] || (_cache[1] = ($event) => installPath.value = $event), - pathError: pathError.value, - "onUpdate:pathError": _cache[2] || (_cache[2] = ($event) => pathError.value = $event) - }, null, 8, ["installPath", "pathError"]), - createBaseVNode("div", _hoisted_2, [ - createVNode(unref(script$e), { - label: _ctx.$t("g.back"), - severity: "secondary", - icon: "pi pi-arrow-left", - onClick: /* @__PURE__ */ __name(($event) => activateCallback("0"), "onClick") - }, null, 8, ["label", "onClick"]), - createVNode(unref(script$e), { - label: _ctx.$t("g.next"), - icon: "pi pi-arrow-right", - iconPos: "right", - onClick: /* @__PURE__ */ __name(($event) => activateCallback("2"), "onClick"), - disabled: pathError.value !== "" - }, null, 8, ["label", "onClick", "disabled"]) - ]) - ]), - _: 1 - }), - createVNode(unref(script$3), { value: "2" }, { - default: withCtx(({ activateCallback }) => [ - createVNode(_sfc_main$1, { - sourcePath: migrationSourcePath.value, - "onUpdate:sourcePath": _cache[3] || (_cache[3] = ($event) => migrationSourcePath.value = $event), - migrationItemIds: migrationItemIds.value, - "onUpdate:migrationItemIds": _cache[4] || (_cache[4] = ($event) => migrationItemIds.value = $event) - }, null, 8, ["sourcePath", "migrationItemIds"]), - createBaseVNode("div", _hoisted_3, [ - createVNode(unref(script$e), { - label: _ctx.$t("g.back"), - severity: "secondary", - icon: "pi pi-arrow-left", - onClick: /* @__PURE__ */ __name(($event) => activateCallback("1"), "onClick") - }, null, 8, ["label", "onClick"]), - createVNode(unref(script$e), { - label: _ctx.$t("g.next"), - icon: "pi pi-arrow-right", - iconPos: "right", - onClick: /* @__PURE__ */ __name(($event) => activateCallback("3"), "onClick") - }, null, 8, ["label", "onClick"]) - ]) - ]), - _: 1 - }), - createVNode(unref(script$3), { value: "3" }, { - default: withCtx(({ activateCallback }) => [ - createVNode(_sfc_main$4, { - autoUpdate: autoUpdate.value, - "onUpdate:autoUpdate": _cache[5] || (_cache[5] = ($event) => autoUpdate.value = $event), - allowMetrics: allowMetrics.value, - "onUpdate:allowMetrics": _cache[6] || (_cache[6] = ($event) => allowMetrics.value = $event) - }, null, 8, ["autoUpdate", "allowMetrics"]), - createBaseVNode("div", _hoisted_4, [ - createVNode(unref(script$e), { - label: _ctx.$t("g.back"), - severity: "secondary", - icon: "pi pi-arrow-left", - onClick: /* @__PURE__ */ __name(($event) => activateCallback("2"), "onClick") - }, null, 8, ["label", "onClick"]), - createVNode(unref(script$e), { - label: _ctx.$t("g.install"), - icon: "pi pi-check", - iconPos: "right", - disabled: hasError.value, - onClick: _cache[7] || (_cache[7] = ($event) => install()) - }, null, 8, ["label", "disabled"]) - ]) - ]), - _: 1 - }) - ]), - _: 1 - }) - ]), - _: 1 - }) - ]), - _: 1 - }); - }; - } -}); -const InstallView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0a97b0ae"]]); -export { - InstallView as default -}; -//# sourceMappingURL=InstallView-By3hC1fC.js.map diff --git a/web/assets/InstallView-C6tMsokB.js b/web/assets/InstallView-C6tMsokB.js new file mode 100644 index 000000000..461781854 --- /dev/null +++ b/web/assets/InstallView-C6tMsokB.js @@ -0,0 +1,945 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, U as ref, bm as useModel, o as openBlock, f as createElementBlock, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, bn as script, bh as script$1, ar as withModifiers, z as withCtx, ab as script$2, K as useI18n, c as computed, ai as normalizeClass, B as createCommentVNode, a4 as script$3, a7 as createTextVNode, b5 as electronAPI, _ as _export_sfc, p as onMounted, r as resolveDirective, bg as script$4, i as withDirectives, bo as script$5, bp as script$6, l as script$7, y as createBlock, bj as script$8, bq as MigrationItems, w as watchEffect, F as Fragment, D as renderList, br as script$9, bs as mergeModels, bt as ValidationState, Y as normalizeI18nKey, O as watch, bu as checkMirrorReachable, bv as _sfc_main$7, bw as mergeValidationStates, bc as t, a$ as script$a, bx as CUDA_TORCH_URL, by as NIGHTLY_CPU_TORCH_URL, be as useRouter, ag as toRaw } from "./index-CmVtQCAR.js"; +import { s as script$b, a as script$c, b as script$d, c as script$e, d as script$f } from "./index-Bm1HvJhs.js"; +import { P as PYTHON_MIRROR, a as PYPI_MIRROR } from "./uvMirrors-B-HKMf6X.js"; +import { _ as _sfc_main$8 } from "./BaseViewTemplate-Cof5Ihf_.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" }; +const _hoisted_4$5 = { class: "text-neutral-400 my-0" }; +const _hoisted_5$3 = { class: "flex flex-col bg-neutral-800 p-4 rounded-lg" }; +const _hoisted_6$3 = { class: "flex items-center gap-4" }; +const _hoisted_7$3 = { class: "flex-1" }; +const _hoisted_8$3 = { class: "text-lg font-medium text-neutral-100" }; +const _hoisted_9$3 = { class: "text-sm text-neutral-400 mt-1" }; +const _hoisted_10$3 = { class: "flex items-center gap-4" }; +const _hoisted_11$3 = { class: "flex-1" }; +const _hoisted_12$3 = { class: "text-lg font-medium text-neutral-100" }; +const _hoisted_13$1 = { class: "text-sm text-neutral-400 mt-1" }; +const _hoisted_14$1 = { class: "text-neutral-300" }; +const _hoisted_15 = { class: "font-medium mb-2" }; +const _hoisted_16 = { class: "list-disc pl-6 space-y-1" }; +const _hoisted_17 = { class: "font-medium mt-4 mb-2" }; +const _hoisted_18 = { class: "list-disc pl-6 space-y-1" }; +const _hoisted_19 = { class: "mt-4" }; +const _hoisted_20 = { + href: "https://comfy.org/privacy", + target: "_blank", + class: "text-blue-400 hover:text-blue-300 underline" +}; +const _sfc_main$6 = /* @__PURE__ */ defineComponent({ + __name: "DesktopSettingsConfiguration", + props: { + "autoUpdate": { type: Boolean, ...{ required: true } }, + "autoUpdateModifiers": {}, + "allowMetrics": { type: Boolean, ...{ required: true } }, + "allowMetricsModifiers": {} + }, + emits: ["update:autoUpdate", "update:allowMetrics"], + setup(__props) { + const showDialog = ref(false); + const autoUpdate = useModel(__props, "autoUpdate"); + const allowMetrics = useModel(__props, "allowMetrics"); + const showMetricsInfo = /* @__PURE__ */ __name(() => { + showDialog.value = true; + }, "showMetricsInfo"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$5, [ + createBaseVNode("div", _hoisted_2$5, [ + createBaseVNode("h2", _hoisted_3$5, toDisplayString(_ctx.$t("install.desktopAppSettings")), 1), + createBaseVNode("p", _hoisted_4$5, toDisplayString(_ctx.$t("install.desktopAppSettingsDescription")), 1) + ]), + createBaseVNode("div", _hoisted_5$3, [ + createBaseVNode("div", _hoisted_6$3, [ + createBaseVNode("div", _hoisted_7$3, [ + createBaseVNode("h3", _hoisted_8$3, toDisplayString(_ctx.$t("install.settings.autoUpdate")), 1), + createBaseVNode("p", _hoisted_9$3, toDisplayString(_ctx.$t("install.settings.autoUpdateDescription")), 1) + ]), + createVNode(unref(script), { + modelValue: autoUpdate.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => autoUpdate.value = $event) + }, null, 8, ["modelValue"]) + ]), + createVNode(unref(script$1)), + createBaseVNode("div", _hoisted_10$3, [ + createBaseVNode("div", _hoisted_11$3, [ + createBaseVNode("h3", _hoisted_12$3, toDisplayString(_ctx.$t("install.settings.allowMetrics")), 1), + createBaseVNode("p", _hoisted_13$1, toDisplayString(_ctx.$t("install.settings.allowMetricsDescription")), 1), + createBaseVNode("a", { + href: "#", + class: "text-sm text-blue-400 hover:text-blue-300 mt-1 inline-block", + onClick: withModifiers(showMetricsInfo, ["prevent"]) + }, toDisplayString(_ctx.$t("install.settings.learnMoreAboutData")), 1) + ]), + createVNode(unref(script), { + modelValue: allowMetrics.value, + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => allowMetrics.value = $event) + }, null, 8, ["modelValue"]) + ]) + ]), + createVNode(unref(script$2), { + visible: showDialog.value, + "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => showDialog.value = $event), + modal: "", + header: _ctx.$t("install.settings.dataCollectionDialog.title") + }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_14$1, [ + createBaseVNode("h4", _hoisted_15, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.whatWeCollect")), 1), + createBaseVNode("ul", _hoisted_16, [ + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.collect.errorReports")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.collect.systemInfo")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.collect.userJourneyEvents" + )), 1) + ]), + createBaseVNode("h4", _hoisted_17, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.whatWeDoNotCollect")), 1), + createBaseVNode("ul", _hoisted_18, [ + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.doNotCollect.personalInformation" + )), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.doNotCollect.workflowContents" + )), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.doNotCollect.fileSystemInformation" + )), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.doNotCollect.customNodeConfigurations" + )), 1) + ]), + createBaseVNode("div", _hoisted_19, [ + createBaseVNode("a", _hoisted_20, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.viewFullPolicy")), 1) + ]) + ]) + ]), + _: 1 + }, 8, ["visible", "header"]) + ]); + }; + } +}); +const _imports_0 = "" + new URL("images/nvidia-logo.svg", import.meta.url).href; +const _imports_1 = "" + new URL("images/apple-mps-logo.png", import.meta.url).href; +const _imports_2 = "" + new URL("images/manual-configuration.svg", import.meta.url).href; +const _hoisted_1$4 = { class: "flex flex-col gap-6 w-[600px] h-[30rem] select-none" }; +const _hoisted_2$4 = { class: "grow flex flex-col gap-4 text-neutral-300" }; +const _hoisted_3$4 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$4 = { class: "m-1 text-neutral-400" }; +const _hoisted_5$2 = { + key: 0, + class: "m-1" +}; +const _hoisted_6$2 = { + key: 1, + class: "m-1" +}; +const _hoisted_7$2 = { + key: 2, + class: "text-neutral-300" +}; +const _hoisted_8$2 = { class: "m-1" }; +const _hoisted_9$2 = { key: 3 }; +const _hoisted_10$2 = { class: "m-1" }; +const _hoisted_11$2 = { class: "m-1" }; +const _hoisted_12$2 = { + for: "cpu-mode", + class: "select-none" +}; +const _sfc_main$5 = /* @__PURE__ */ defineComponent({ + __name: "GpuPicker", + props: { + "device": { + required: true + }, + "deviceModifiers": {} + }, + emits: ["update:device"], + setup(__props) { + const { t: t2 } = useI18n(); + const cpuMode = computed({ + get: /* @__PURE__ */ __name(() => selected.value === "cpu", "get"), + set: /* @__PURE__ */ __name((value) => { + selected.value = value ? "cpu" : null; + }, "set") + }); + const selected = useModel(__props, "device"); + const electron = electronAPI(); + const platform = electron.getPlatform(); + const pickGpu = /* @__PURE__ */ __name((value) => { + const newValue = selected.value === value ? null : value; + selected.value = newValue; + }, "pickGpu"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$4, [ + createBaseVNode("div", _hoisted_2$4, [ + createBaseVNode("h2", _hoisted_3$4, toDisplayString(_ctx.$t("install.gpuSelection.selectGpu")), 1), + createBaseVNode("p", _hoisted_4$4, toDisplayString(_ctx.$t("install.gpuSelection.selectGpuDescription")) + ": ", 1), + createBaseVNode("div", { + class: normalizeClass(["flex gap-2 text-center transition-opacity", { selected: selected.value }]) + }, [ + unref(platform) !== "darwin" ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(["gpu-button", { selected: selected.value === "nvidia" }]), + role: "button", + onClick: _cache[0] || (_cache[0] = ($event) => pickGpu("nvidia")) + }, _cache[4] || (_cache[4] = [ + createBaseVNode("img", { + class: "m-12", + alt: "NVIDIA logo", + width: "196", + height: "32", + src: _imports_0 + }, null, -1) + ]), 2)) : createCommentVNode("", true), + unref(platform) === "darwin" ? (openBlock(), createElementBlock("div", { + key: 1, + class: normalizeClass(["gpu-button", { selected: selected.value === "mps" }]), + role: "button", + onClick: _cache[1] || (_cache[1] = ($event) => pickGpu("mps")) + }, _cache[5] || (_cache[5] = [ + createBaseVNode("img", { + class: "rounded-lg hover-brighten", + alt: "Apple Metal Performance Shaders Logo", + width: "292", + ratio: "", + src: _imports_1 + }, null, -1) + ]), 2)) : createCommentVNode("", true), + createBaseVNode("div", { + class: normalizeClass(["gpu-button", { selected: selected.value === "unsupported" }]), + role: "button", + onClick: _cache[2] || (_cache[2] = ($event) => pickGpu("unsupported")) + }, _cache[6] || (_cache[6] = [ + createBaseVNode("img", { + class: "m-12", + alt: "Manual configuration", + width: "196", + src: _imports_2 + }, null, -1) + ]), 2) + ], 2), + selected.value === "nvidia" ? (openBlock(), createElementBlock("p", _hoisted_5$2, [ + createVNode(unref(script$3), { + icon: "pi pi-check", + severity: "success", + value: "CUDA" + }), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.nvidiaDescription")), 1) + ])) : createCommentVNode("", true), + selected.value === "mps" ? (openBlock(), createElementBlock("p", _hoisted_6$2, [ + createVNode(unref(script$3), { + icon: "pi pi-check", + severity: "success", + value: "MPS" + }), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.mpsDescription")), 1) + ])) : createCommentVNode("", true), + selected.value === "unsupported" ? (openBlock(), createElementBlock("div", _hoisted_7$2, [ + createBaseVNode("p", _hoisted_8$2, [ + createVNode(unref(script$3), { + icon: "pi pi-exclamation-triangle", + severity: "warn", + value: unref(t2)("icon.exclamation-triangle") + }, null, 8, ["value"]), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.customSkipsPython")), 1) + ]), + createBaseVNode("ul", null, [ + createBaseVNode("li", null, [ + createBaseVNode("strong", null, toDisplayString(_ctx.$t("install.gpuSelection.customComfyNeedsPython")), 1) + ]), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customManualVenv")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customInstallRequirements")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customMayNotWork")), 1) + ]) + ])) : createCommentVNode("", true), + selected.value === "cpu" ? (openBlock(), createElementBlock("div", _hoisted_9$2, [ + createBaseVNode("p", _hoisted_10$2, [ + createVNode(unref(script$3), { + icon: "pi pi-exclamation-triangle", + severity: "warn", + value: unref(t2)("icon.exclamation-triangle") + }, null, 8, ["value"]), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.cpuModeDescription")), 1) + ]), + createBaseVNode("p", _hoisted_11$2, toDisplayString(_ctx.$t("install.gpuSelection.cpuModeDescription2")), 1) + ])) : createCommentVNode("", true) + ]), + createBaseVNode("div", { + class: normalizeClass(["transition-opacity flex gap-3 h-0", { + "opacity-40": selected.value && selected.value !== "cpu" + }]) + }, [ + createVNode(unref(script), { + modelValue: cpuMode.value, + "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => cpuMode.value = $event), + inputId: "cpu-mode", + class: "-translate-y-40" + }, null, 8, ["modelValue"]), + createBaseVNode("label", _hoisted_12$2, toDisplayString(_ctx.$t("install.gpuSelection.enableCpuMode")), 1) + ], 2) + ]); + }; + } +}); +const GpuPicker = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-79125ff6"]]); +const _hoisted_1$3 = { class: "flex flex-col gap-6 w-[600px]" }; +const _hoisted_2$3 = { class: "flex flex-col gap-4" }; +const _hoisted_3$3 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$3 = { class: "text-neutral-400 my-0" }; +const _hoisted_5$1 = { class: "flex gap-2" }; +const _hoisted_6$1 = { class: "bg-neutral-800 p-4 rounded-lg" }; +const _hoisted_7$1 = { class: "text-lg font-medium mt-0 mb-3 text-neutral-100" }; +const _hoisted_8$1 = { class: "flex flex-col gap-2" }; +const _hoisted_9$1 = { class: "flex items-center gap-2" }; +const _hoisted_10$1 = { class: "text-neutral-200" }; +const _hoisted_11$1 = { class: "pi pi-info-circle" }; +const _hoisted_12$1 = { class: "flex items-center gap-2" }; +const _hoisted_13 = { class: "text-neutral-200" }; +const _hoisted_14 = { class: "pi pi-info-circle" }; +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + __name: "InstallLocationPicker", + props: { + "installPath": { required: true }, + "installPathModifiers": {}, + "pathError": { required: true }, + "pathErrorModifiers": {} + }, + emits: ["update:installPath", "update:pathError"], + setup(__props) { + const { t: t2 } = useI18n(); + const installPath = useModel(__props, "installPath"); + const pathError = useModel(__props, "pathError"); + const pathExists = ref(false); + const appData = ref(""); + const appPath = ref(""); + const electron = electronAPI(); + onMounted(async () => { + const paths = await electron.getSystemPaths(); + appData.value = paths.appData; + appPath.value = paths.appPath; + installPath.value = paths.defaultInstallPath; + await validatePath(paths.defaultInstallPath); + }); + const validatePath = /* @__PURE__ */ __name(async (path) => { + try { + pathError.value = ""; + pathExists.value = false; + const validation = await electron.validateInstallPath(path); + if (!validation.isValid) { + const errors = []; + if (validation.cannotWrite) errors.push(t2("install.cannotWrite")); + if (validation.freeSpace < validation.requiredSpace) { + const requiredGB = validation.requiredSpace / 1024 / 1024 / 1024; + errors.push(`${t2("install.insufficientFreeSpace")}: ${requiredGB} GB`); + } + if (validation.parentMissing) errors.push(t2("install.parentMissing")); + if (validation.error) + errors.push(`${t2("install.unhandledError")}: ${validation.error}`); + pathError.value = errors.join("\n"); + } + if (validation.exists) pathExists.value = true; + } catch (error) { + pathError.value = t2("install.pathValidationFailed"); + } + }, "validatePath"); + const browsePath = /* @__PURE__ */ __name(async () => { + try { + const result = await electron.showDirectoryPicker(); + if (result) { + installPath.value = result; + await validatePath(result); + } + } catch (error) { + pathError.value = t2("install.failedToSelectDirectory"); + } + }, "browsePath"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", _hoisted_1$3, [ + createBaseVNode("div", _hoisted_2$3, [ + createBaseVNode("h2", _hoisted_3$3, toDisplayString(_ctx.$t("install.chooseInstallationLocation")), 1), + createBaseVNode("p", _hoisted_4$3, toDisplayString(_ctx.$t("install.installLocationDescription")), 1), + createBaseVNode("div", _hoisted_5$1, [ + createVNode(unref(script$6), { class: "flex-1" }, { + default: withCtx(() => [ + createVNode(unref(script$4), { + modelValue: installPath.value, + "onUpdate:modelValue": [ + _cache[0] || (_cache[0] = ($event) => installPath.value = $event), + validatePath + ], + class: normalizeClass(["w-full", { "p-invalid": pathError.value }]) + }, null, 8, ["modelValue", "class"]), + withDirectives(createVNode(unref(script$5), { class: "pi pi-info-circle" }, null, 512), [ + [_directive_tooltip, _ctx.$t("install.installLocationTooltip")] + ]) + ]), + _: 1 + }), + createVNode(unref(script$7), { + icon: "pi pi-folder", + onClick: browsePath, + class: "w-12" + }) + ]), + pathError.value ? (openBlock(), createBlock(unref(script$8), { + key: 0, + severity: "error", + class: "whitespace-pre-line" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(pathError.value), 1) + ]), + _: 1 + })) : createCommentVNode("", true), + pathExists.value ? (openBlock(), createBlock(unref(script$8), { + key: 1, + severity: "warn" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.pathExists")), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + createBaseVNode("div", _hoisted_6$1, [ + createBaseVNode("h3", _hoisted_7$1, toDisplayString(_ctx.$t("install.systemLocations")), 1), + createBaseVNode("div", _hoisted_8$1, [ + createBaseVNode("div", _hoisted_9$1, [ + _cache[1] || (_cache[1] = createBaseVNode("i", { class: "pi pi-folder text-neutral-400" }, null, -1)), + _cache[2] || (_cache[2] = createBaseVNode("span", { class: "text-neutral-400" }, "App Data:", -1)), + createBaseVNode("span", _hoisted_10$1, toDisplayString(appData.value), 1), + withDirectives(createBaseVNode("span", _hoisted_11$1, null, 512), [ + [_directive_tooltip, _ctx.$t("install.appDataLocationTooltip")] + ]) + ]), + createBaseVNode("div", _hoisted_12$1, [ + _cache[3] || (_cache[3] = createBaseVNode("i", { class: "pi pi-desktop text-neutral-400" }, null, -1)), + _cache[4] || (_cache[4] = createBaseVNode("span", { class: "text-neutral-400" }, "App Path:", -1)), + createBaseVNode("span", _hoisted_13, toDisplayString(appPath.value), 1), + withDirectives(createBaseVNode("span", _hoisted_14, null, 512), [ + [_directive_tooltip, _ctx.$t("install.appPathLocationTooltip")] + ]) + ]) + ]) + ]) + ]); + }; + } +}); +const _hoisted_1$2 = { class: "flex flex-col gap-6 w-[600px]" }; +const _hoisted_2$2 = { class: "flex flex-col gap-4" }; +const _hoisted_3$2 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$2 = { class: "text-neutral-400 my-0" }; +const _hoisted_5 = { class: "flex gap-2" }; +const _hoisted_6 = { + key: 0, + class: "flex flex-col gap-4 bg-neutral-800 p-4 rounded-lg" +}; +const _hoisted_7 = { class: "text-lg mt-0 font-medium text-neutral-100" }; +const _hoisted_8 = { class: "flex flex-col gap-3" }; +const _hoisted_9 = ["onClick"]; +const _hoisted_10 = ["for"]; +const _hoisted_11 = { class: "text-sm text-neutral-400 my-1" }; +const _hoisted_12 = { + key: 1, + class: "text-neutral-400 italic" +}; +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + __name: "MigrationPicker", + props: { + "sourcePath": { required: false }, + "sourcePathModifiers": {}, + "migrationItemIds": { + required: false + }, + "migrationItemIdsModifiers": {} + }, + emits: ["update:sourcePath", "update:migrationItemIds"], + setup(__props) { + const { t: t2 } = useI18n(); + const electron = electronAPI(); + const sourcePath = useModel(__props, "sourcePath"); + const migrationItemIds = useModel(__props, "migrationItemIds"); + const migrationItems = ref( + MigrationItems.map((item) => ({ + ...item, + selected: true + })) + ); + const pathError = ref(""); + const isValidSource = computed( + () => sourcePath.value !== "" && pathError.value === "" + ); + const validateSource = /* @__PURE__ */ __name(async (sourcePath2) => { + if (!sourcePath2) { + pathError.value = ""; + return; + } + try { + pathError.value = ""; + const validation = await electron.validateComfyUISource(sourcePath2); + if (!validation.isValid) pathError.value = validation.error; + } catch (error) { + console.error(error); + pathError.value = t2("install.pathValidationFailed"); + } + }, "validateSource"); + const browsePath = /* @__PURE__ */ __name(async () => { + try { + const result = await electron.showDirectoryPicker(); + if (result) { + sourcePath.value = result; + await validateSource(result); + } + } catch (error) { + console.error(error); + pathError.value = t2("install.failedToSelectDirectory"); + } + }, "browsePath"); + watchEffect(() => { + migrationItemIds.value = migrationItems.value.filter((item) => item.selected).map((item) => item.id); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$2, [ + createBaseVNode("div", _hoisted_2$2, [ + createBaseVNode("h2", _hoisted_3$2, toDisplayString(_ctx.$t("install.migrateFromExistingInstallation")), 1), + createBaseVNode("p", _hoisted_4$2, toDisplayString(_ctx.$t("install.migrationSourcePathDescription")), 1), + createBaseVNode("div", _hoisted_5, [ + createVNode(unref(script$4), { + modelValue: sourcePath.value, + "onUpdate:modelValue": [ + _cache[0] || (_cache[0] = ($event) => sourcePath.value = $event), + validateSource + ], + placeholder: "Select existing ComfyUI installation (optional)", + class: normalizeClass(["flex-1", { "p-invalid": pathError.value }]) + }, null, 8, ["modelValue", "class"]), + createVNode(unref(script$7), { + icon: "pi pi-folder", + onClick: browsePath, + class: "w-12" + }) + ]), + pathError.value ? (openBlock(), createBlock(unref(script$8), { + key: 0, + severity: "error" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(pathError.value), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + isValidSource.value ? (openBlock(), createElementBlock("div", _hoisted_6, [ + createBaseVNode("h3", _hoisted_7, toDisplayString(_ctx.$t("install.selectItemsToMigrate")), 1), + createBaseVNode("div", _hoisted_8, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(migrationItems.value, (item) => { + return openBlock(), createElementBlock("div", { + key: item.id, + class: "flex items-center gap-3 p-2 hover:bg-neutral-700 rounded", + onClick: /* @__PURE__ */ __name(($event) => item.selected = !item.selected, "onClick") + }, [ + createVNode(unref(script$9), { + modelValue: item.selected, + "onUpdate:modelValue": /* @__PURE__ */ __name(($event) => item.selected = $event, "onUpdate:modelValue"), + inputId: item.id, + binary: true, + onClick: _cache[1] || (_cache[1] = withModifiers(() => { + }, ["stop"])) + }, null, 8, ["modelValue", "onUpdate:modelValue", "inputId"]), + createBaseVNode("div", null, [ + createBaseVNode("label", { + for: item.id, + class: "text-neutral-200 font-medium" + }, toDisplayString(item.label), 9, _hoisted_10), + createBaseVNode("p", _hoisted_11, toDisplayString(item.description), 1) + ]) + ], 8, _hoisted_9); + }), 128)) + ]) + ])) : (openBlock(), createElementBlock("div", _hoisted_12, toDisplayString(_ctx.$t("install.migrationOptional")), 1)) + ]); + }; + } +}); +const _hoisted_1$1 = { class: "flex flex-col items-center gap-4" }; +const _hoisted_2$1 = { class: "w-full" }; +const _hoisted_3$1 = { class: "text-lg font-medium text-neutral-100" }; +const _hoisted_4$1 = { class: "text-sm text-neutral-400 mt-1" }; +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + __name: "MirrorItem", + props: /* @__PURE__ */ mergeModels({ + item: {} + }, { + "modelValue": { required: true }, + "modelModifiers": {} + }), + emits: /* @__PURE__ */ mergeModels(["state-change"], ["update:modelValue"]), + setup(__props, { emit: __emit }) { + const emit = __emit; + const modelValue = useModel(__props, "modelValue"); + const validationState = ref(ValidationState.IDLE); + const normalizedSettingId = computed(() => { + return normalizeI18nKey(__props.item.settingId); + }); + onMounted(() => { + modelValue.value = __props.item.mirror; + }); + watch(validationState, (newState) => { + emit("state-change", newState); + if (newState === ValidationState.INVALID && modelValue.value === __props.item.mirror) { + modelValue.value = __props.item.fallbackMirror; + } + }); + return (_ctx, _cache) => { + const _component_UrlInput = _sfc_main$7; + return openBlock(), createElementBlock("div", _hoisted_1$1, [ + createBaseVNode("div", _hoisted_2$1, [ + createBaseVNode("h3", _hoisted_3$1, toDisplayString(_ctx.$t(`settings.${normalizedSettingId.value}.name`)), 1), + createBaseVNode("p", _hoisted_4$1, toDisplayString(_ctx.$t(`settings.${normalizedSettingId.value}.tooltip`)), 1) + ]), + createVNode(_component_UrlInput, { + modelValue: modelValue.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event), + "validate-url-fn": /* @__PURE__ */ __name((mirror) => unref(checkMirrorReachable)(mirror + (_ctx.item.validationPathSuffix ?? "")), "validate-url-fn"), + onStateChange: _cache[1] || (_cache[1] = ($event) => validationState.value = $event) + }, null, 8, ["modelValue", "validate-url-fn"]) + ]); + }; + } +}); +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "MirrorsConfiguration", + props: /* @__PURE__ */ mergeModels({ + device: {} + }, { + "pythonMirror": { required: true }, + "pythonMirrorModifiers": {}, + "pypiMirror": { required: true }, + "pypiMirrorModifiers": {}, + "torchMirror": { required: true }, + "torchMirrorModifiers": {} + }), + emits: ["update:pythonMirror", "update:pypiMirror", "update:torchMirror"], + setup(__props) { + const showMirrorInputs = ref(false); + const pythonMirror = useModel(__props, "pythonMirror"); + const pypiMirror = useModel(__props, "pypiMirror"); + const torchMirror = useModel(__props, "torchMirror"); + const getTorchMirrorItem = /* @__PURE__ */ __name((device) => { + const settingId = "Comfy-Desktop.UV.TorchInstallMirror"; + switch (device) { + case "mps": + return { + settingId, + mirror: NIGHTLY_CPU_TORCH_URL, + fallbackMirror: NIGHTLY_CPU_TORCH_URL + }; + case "nvidia": + return { + settingId, + mirror: CUDA_TORCH_URL, + fallbackMirror: CUDA_TORCH_URL + }; + case "cpu": + default: + return { + settingId, + mirror: PYPI_MIRROR.mirror, + fallbackMirror: PYPI_MIRROR.fallbackMirror + }; + } + }, "getTorchMirrorItem"); + const mirrors = computed(() => [ + [PYTHON_MIRROR, pythonMirror], + [PYPI_MIRROR, pypiMirror], + [getTorchMirrorItem(__props.device), torchMirror] + ]); + const validationStates = ref( + mirrors.value.map(() => ValidationState.IDLE) + ); + const validationState = computed(() => { + return mergeValidationStates(validationStates.value); + }); + const validationStateTooltip = computed(() => { + switch (validationState.value) { + case ValidationState.INVALID: + return t("install.settings.mirrorsUnreachable"); + case ValidationState.VALID: + return t("install.settings.mirrorsReachable"); + default: + return t("install.settings.checkingMirrors"); + } + }); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createBlock(unref(script$a), { + header: _ctx.$t("install.settings.mirrorSettings"), + toggleable: "", + collapsed: !showMirrorInputs.value, + "pt:root": "bg-neutral-800 border-none w-[600px]" + }, { + icons: withCtx(() => [ + withDirectives(createBaseVNode("i", { + class: normalizeClass({ + "pi pi-spin pi-spinner text-neutral-400": validationState.value === unref(ValidationState).LOADING, + "pi pi-check text-green-500": validationState.value === unref(ValidationState).VALID, + "pi pi-times text-red-500": validationState.value === unref(ValidationState).INVALID + }) + }, null, 2), [ + [_directive_tooltip, validationStateTooltip.value] + ]) + ]), + default: withCtx(() => [ + (openBlock(true), createElementBlock(Fragment, null, renderList(mirrors.value, ([item, modelValue], index) => { + return openBlock(), createElementBlock(Fragment, { + key: item.settingId + item.mirror + }, [ + index > 0 ? (openBlock(), createBlock(unref(script$1), { key: 0 })) : createCommentVNode("", true), + createVNode(_sfc_main$2, { + item, + modelValue: modelValue.value, + "onUpdate:modelValue": /* @__PURE__ */ __name(($event) => modelValue.value = $event, "onUpdate:modelValue"), + onStateChange: /* @__PURE__ */ __name(($event) => validationStates.value[index] = $event, "onStateChange") + }, null, 8, ["item", "modelValue", "onUpdate:modelValue", "onStateChange"]) + ], 64); + }), 128)) + ]), + _: 1 + }, 8, ["header", "collapsed"]); + }; + } +}); +const _hoisted_1 = { class: "flex pt-6 justify-end" }; +const _hoisted_2 = { class: "flex pt-6 justify-between" }; +const _hoisted_3 = { class: "flex pt-6 justify-between" }; +const _hoisted_4 = { class: "flex mt-6 justify-between" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "InstallView", + setup(__props) { + const device = ref(null); + const installPath = ref(""); + const pathError = ref(""); + const migrationSourcePath = ref(""); + const migrationItemIds = ref([]); + const autoUpdate = ref(true); + const allowMetrics = ref(true); + const pythonMirror = ref(""); + const pypiMirror = ref(""); + const torchMirror = ref(""); + const highestStep = ref(0); + const handleStepChange = /* @__PURE__ */ __name((value) => { + setHighestStep(value); + electronAPI().Events.trackEvent("install_stepper_change", { + step: value + }); + }, "handleStepChange"); + const setHighestStep = /* @__PURE__ */ __name((value) => { + const int = typeof value === "number" ? value : parseInt(value, 10); + if (!isNaN(int) && int > highestStep.value) highestStep.value = int; + }, "setHighestStep"); + const hasError = computed(() => pathError.value !== ""); + const noGpu = computed(() => typeof device.value !== "string"); + const electron = electronAPI(); + const router = useRouter(); + const install = /* @__PURE__ */ __name(() => { + const options = { + installPath: installPath.value, + autoUpdate: autoUpdate.value, + allowMetrics: allowMetrics.value, + migrationSourcePath: migrationSourcePath.value, + migrationItemIds: toRaw(migrationItemIds.value), + pythonMirror: pythonMirror.value, + pypiMirror: pypiMirror.value, + torchMirror: torchMirror.value, + device: device.value + }; + electron.installComfyUI(options); + const nextPage = options.device === "unsupported" ? "/manual-configuration" : "/server-start"; + router.push(nextPage); + }, "install"); + onMounted(async () => { + if (!electron) return; + const detectedGpu = await electron.Config.getDetectedGpu(); + if (detectedGpu === "mps" || detectedGpu === "nvidia") { + device.value = detectedGpu; + } + electronAPI().Events.trackEvent("install_stepper_change", { + step: "0", + gpu: detectedGpu + }); + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$8, { dark: "" }, { + default: withCtx(() => [ + createVNode(unref(script$f), { + class: "h-full p-8 2xl:p-16", + value: "0", + "onUpdate:value": handleStepChange + }, { + default: withCtx(() => [ + createVNode(unref(script$b), { class: "select-none" }, { + default: withCtx(() => [ + createVNode(unref(script$c), { value: "0" }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.gpu")), 1) + ]), + _: 1 + }), + createVNode(unref(script$c), { + value: "1", + disabled: noGpu.value + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.installLocation")), 1) + ]), + _: 1 + }, 8, ["disabled"]), + createVNode(unref(script$c), { + value: "2", + disabled: noGpu.value || hasError.value || highestStep.value < 1 + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.migration")), 1) + ]), + _: 1 + }, 8, ["disabled"]), + createVNode(unref(script$c), { + value: "3", + disabled: noGpu.value || hasError.value || highestStep.value < 2 + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.desktopSettings")), 1) + ]), + _: 1 + }, 8, ["disabled"]) + ]), + _: 1 + }), + createVNode(unref(script$d), null, { + default: withCtx(() => [ + createVNode(unref(script$e), { value: "0" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(GpuPicker, { + device: device.value, + "onUpdate:device": _cache[0] || (_cache[0] = ($event) => device.value = $event) + }, null, 8, ["device"]), + createBaseVNode("div", _hoisted_1, [ + createVNode(unref(script$7), { + label: _ctx.$t("g.next"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("1"), "onClick"), + disabled: typeof device.value !== "string" + }, null, 8, ["label", "onClick", "disabled"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$e), { value: "1" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(_sfc_main$4, { + installPath: installPath.value, + "onUpdate:installPath": _cache[1] || (_cache[1] = ($event) => installPath.value = $event), + pathError: pathError.value, + "onUpdate:pathError": _cache[2] || (_cache[2] = ($event) => pathError.value = $event) + }, null, 8, ["installPath", "pathError"]), + createBaseVNode("div", _hoisted_2, [ + createVNode(unref(script$7), { + label: _ctx.$t("g.back"), + severity: "secondary", + icon: "pi pi-arrow-left", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("0"), "onClick") + }, null, 8, ["label", "onClick"]), + createVNode(unref(script$7), { + label: _ctx.$t("g.next"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("2"), "onClick"), + disabled: pathError.value !== "" + }, null, 8, ["label", "onClick", "disabled"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$e), { value: "2" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(_sfc_main$3, { + sourcePath: migrationSourcePath.value, + "onUpdate:sourcePath": _cache[3] || (_cache[3] = ($event) => migrationSourcePath.value = $event), + migrationItemIds: migrationItemIds.value, + "onUpdate:migrationItemIds": _cache[4] || (_cache[4] = ($event) => migrationItemIds.value = $event) + }, null, 8, ["sourcePath", "migrationItemIds"]), + createBaseVNode("div", _hoisted_3, [ + createVNode(unref(script$7), { + label: _ctx.$t("g.back"), + severity: "secondary", + icon: "pi pi-arrow-left", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("1"), "onClick") + }, null, 8, ["label", "onClick"]), + createVNode(unref(script$7), { + label: _ctx.$t("g.next"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("3"), "onClick") + }, null, 8, ["label", "onClick"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$e), { value: "3" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(_sfc_main$6, { + autoUpdate: autoUpdate.value, + "onUpdate:autoUpdate": _cache[5] || (_cache[5] = ($event) => autoUpdate.value = $event), + allowMetrics: allowMetrics.value, + "onUpdate:allowMetrics": _cache[6] || (_cache[6] = ($event) => allowMetrics.value = $event) + }, null, 8, ["autoUpdate", "allowMetrics"]), + createVNode(_sfc_main$1, { + device: device.value, + pythonMirror: pythonMirror.value, + "onUpdate:pythonMirror": _cache[7] || (_cache[7] = ($event) => pythonMirror.value = $event), + pypiMirror: pypiMirror.value, + "onUpdate:pypiMirror": _cache[8] || (_cache[8] = ($event) => pypiMirror.value = $event), + torchMirror: torchMirror.value, + "onUpdate:torchMirror": _cache[9] || (_cache[9] = ($event) => torchMirror.value = $event), + class: "mt-6" + }, null, 8, ["device", "pythonMirror", "pypiMirror", "torchMirror"]), + createBaseVNode("div", _hoisted_4, [ + createVNode(unref(script$7), { + label: _ctx.$t("g.back"), + severity: "secondary", + icon: "pi pi-arrow-left", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("2"), "onClick") + }, null, 8, ["label", "onClick"]), + createVNode(unref(script$7), { + label: _ctx.$t("g.install"), + icon: "pi pi-check", + iconPos: "right", + disabled: hasError.value, + onClick: _cache[10] || (_cache[10] = ($event) => install()) + }, null, 8, ["label", "disabled"]) + ]) + ]), + _: 1 + }) + ]), + _: 1 + }) + ]), + _: 1 + }) + ]), + _: 1 + }); + }; + } +}); +const InstallView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-cd6731d2"]]); +export { + InstallView as default +}; +//# sourceMappingURL=InstallView-C6tMsokB.js.map diff --git a/web/assets/InstallView-CxhfFC8Y.css b/web/assets/InstallView-DbJ2cGfL.css similarity index 93% rename from web/assets/InstallView-CxhfFC8Y.css rename to web/assets/InstallView-DbJ2cGfL.css index a406c8695..5bbebb809 100644 --- a/web/assets/InstallView-CxhfFC8Y.css +++ b/web/assets/InstallView-DbJ2cGfL.css @@ -2,11 +2,13 @@ .p-tag[data-v-79125ff6] { --p-tag-gap: 0.5rem; } -.hover-brighten[data-v-79125ff6] { +.hover-brighten { +&[data-v-79125ff6] { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; transition-property: filter, box-shadow; + } &[data-v-79125ff6]:hover { filter: brightness(107%) contrast(105%); box-shadow: 0 0 0.25rem #ffffff79; @@ -20,7 +22,7 @@ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } -div.selected[data-v-79125ff6] { +div.selected { .gpu-button[data-v-79125ff6]:not(.selected) { opacity: 0.5; } @@ -46,7 +48,7 @@ div.selected[data-v-79125ff6] { .gpu-button[data-v-79125ff6]:hover { --tw-bg-opacity: 0.75; } -.gpu-button[data-v-79125ff6] { +.gpu-button { &.selected[data-v-79125ff6] { --tw-bg-opacity: 1; background-color: rgb(64 64 64 / var(--tw-bg-opacity)); @@ -74,6 +76,6 @@ div.selected[data-v-79125ff6] { text-align: center; } -[data-v-0a97b0ae] .p-steppanel { +[data-v-cd6731d2] .p-steppanel { background-color: transparent } diff --git a/web/assets/KeybindingPanel-D6O16W_1.js b/web/assets/KeybindingPanel-BbfXtVg1.js similarity index 91% rename from web/assets/KeybindingPanel-D6O16W_1.js rename to web/assets/KeybindingPanel-BbfXtVg1.js index b0fbfd845..1cff94939 100644 --- a/web/assets/KeybindingPanel-D6O16W_1.js +++ b/web/assets/KeybindingPanel-BbfXtVg1.js @@ -1,9 +1,9 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, c as computed, o as openBlock, f as createElementBlock, H as Fragment, I as renderList, k as createVNode, P as withCtx, aG as createTextVNode, Z as toDisplayString, j as unref, aK as script, L as createCommentVNode, ad as ref, cu as FilterMatchMode, a$ as useKeybindingStore, a4 as useCommandStore, a3 as useI18n, ah as normalizeI18nKey, w as watchEffect, bz as useToast, r as resolveDirective, J as createBlock, cv as SearchBox, m as createBaseVNode, l as script$2, ax as script$4, b3 as withModifiers, c6 as script$5, aP as script$6, i as withDirectives, cw as _sfc_main$2, p as pushScopeId, q as popScopeId, cx as KeyComboImpl, cy as KeybindingImpl, _ as _export_sfc } from "./index-QvfM__ze.js"; -import { s as script$1, a as script$3 } from "./index-DpF-ptbJ.js"; -import { u as useKeybindingService } from "./keybindingService-Cak1En5n.js"; -import "./index-Q1cQr26V.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, dl 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, dm 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, dn as _sfc_main$2, dp as KeyComboImpl, dq as KeybindingImpl, _ as _export_sfc } from "./index-CmVtQCAR.js"; +import { g as script$1, h as script$3 } from "./index-CdHVC5qq.js"; +import { u as useKeybindingService } from "./keybindingService-CqSjCYw-.js"; +import "./index-I0brO37W.js"; const _hoisted_1$1 = { key: 0, class: "px-2" @@ -36,7 +36,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ }; } }); -const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-2554ab36"), n = n(), popScopeId(), n), "_withScopeId"); const _hoisted_1 = { class: "actions invisible flex flex-row" }; const _hoisted_2 = ["title"]; const _hoisted_3 = { key: 1 }; @@ -247,7 +246,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ severity: "error" }, { default: withCtx(() => [ - createTextVNode(" Keybinding already exists on "), + _cache[3] || (_cache[3] = createTextVNode(" Keybinding already exists on ")), createVNode(unref(script), { severity: "secondary", value: existingKeybindingOnCombo.value.commandId @@ -280,4 +279,4 @@ const KeybindingPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { KeybindingPanel as default }; -//# sourceMappingURL=KeybindingPanel-D6O16W_1.js.map +//# sourceMappingURL=KeybindingPanel-BbfXtVg1.js.map diff --git a/web/assets/MaintenanceView-Bj5_Vr6o.css b/web/assets/MaintenanceView-Bj5_Vr6o.css new file mode 100644 index 000000000..22e37c41d --- /dev/null +++ b/web/assets/MaintenanceView-Bj5_Vr6o.css @@ -0,0 +1,87 @@ + +.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-74b78f7d] .p-tag { + --p-tag-gap: 0.375rem; +} +.backspan[data-v-74b78f7d]::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; +} diff --git a/web/assets/MaintenanceView-D3drnrFc.js b/web/assets/MaintenanceView-D3drnrFc.js new file mode 100644 index 000000000..e54bc0276 --- /dev/null +++ b/web/assets/MaintenanceView-D3drnrFc.js @@ -0,0 +1,26033 @@ +var __defProp = Object.defineProperty; +var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); +import { bA as BaseStyle, bB as script$1d, bC as ZIndex, bD as addClass, bE as focus, bF as blockBodyScroll, bG as unblockBodyScroll, bH as FocusTrap, l as script$1e, bI as script$1f, bJ as script$1g, bK as resolveComponent, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, f as createElementBlock, as as mergeProps, k as createVNode, bL as Transition, i as withDirectives, A as renderSlot, F as Fragment, m as createBaseVNode, ai as normalizeClass, E as toDisplayString, B as createCommentVNode, C as resolveDynamicComponent, d as defineComponent, bs as mergeModels, bm as useModel, v as vShow, j as unref, bM as script$1h, c as computed, bN as PrimeIcons, bc as t, a4 as script$1i, aZ as inject, bO as findSingle, bP as getAttribute, bQ as script$1j, bR as script$1k, bS as Ripple, bT as UniqueComponentId, bU as script$1l, D as renderList, bV as BaseDirective, bW as removeClass, bX as createElement, bY as hasClass, bZ as script$1m, b_ as script$1n, b$ as addStyle, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, c2 as relativePosition, c3 as getOuterWidth, c4 as absolutePosition, c5 as find, c6 as getIndex, c7 as getFocusableElements, c8 as OverlayEventBus, c9 as setAttribute, ca as localeComparator, bg as script$1o, cb as script$1p, n as normalizeStyle, a7 as createTextVNode, bf as withKeys, cc as resolveFieldData, cd as isNotEmpty, ce as equals, cf as script$1q, cg as isString, ch as isPrintableCharacter, ci as isEmpty, cj as findLastIndex, ck as script$1r, cl as script$1s, cm as uuid, a8 as script$1t, cn as sort, co as createSlots, cp as EventBus, H as markRaw, cq as resolve, cr as Tooltip, bi as script$1v, ab as script$1w, cs as script$1x, ct as script$1y, cu as script$1z, bz as script$1A, bj as script$1B, cv as normalizeProps, cw as isAttributeEquals, cx as guardReactiveProps, cy as setCSSProperty, cz as $dt, cA as script$1D, cB as script$1F, cC as getUserAgent, bn as script$1G, cD as script$1H, cE as getFirstFocusableElement, cF as getLastFocusableElement, cG as FilterService, br as script$1J, cH as script$1K, bp as script$1L, bo as script$1M, cI as script$1N, cJ as findIndexInList, cK as scrollInView, cL as script$1O, cM as script$1P, cN as script$1Q, cO as findLast, cP as getWindowScrollTop, cQ as getWidth, cR as getOffset, cS as vModelText, cT as script$1U, ar as withModifiers, cU as getVNodeProp, cV as getNextElementSibling, cW as getPreviousElementSibling, cX as isClickable, cY as _default, cZ as clearSelection, c_ as isRTL, b5 as electronAPI, I as defineStore, U as ref, c$ as useTimeout, O as watch, d0 as script$1Y, _ as _export_sfc, aR as useToast, d1 as useConfirm, bh as script$1Z, d2 as script$1_, p as onMounted, d3 as onUnmounted, av as script$1$, af as isRef, bl as BaseTerminal } from "./index-CmVtQCAR.js"; +import { j as script$1C, k as script$1E, g as script$20 } from "./index-BWow9lpT.js"; +import { s as script$1u, a as script$1R, b as script$1S, c as script$1T, d as script$1V, e as script$1W, f as script$1X } from "./index-CdHVC5qq.js"; +import { s as script$1I } from "./index-I0brO37W.js"; +import "./index-Bm1HvJhs.js"; +import { _ as _sfc_main$7 } from "./BaseViewTemplate-Cof5Ihf_.js"; +var theme$D = /* @__PURE__ */ __name(function theme(_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$9 = { + 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$M = { + mask: /* @__PURE__ */ __name(function mask2(_ref3) { + var instance = _ref3.instance, props = _ref3.props; + var positions = ["left", "right", "top", "bottom"]; + var pos = positions.find(function(item8) { + return item8 === 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: theme$D, + classes: classes$M, + inlineStyles: inlineStyles$9 +}); +var script$1$O = { + name: "BaseDrawer", + "extends": script$1d, + 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 _default2() { + 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$1c = { + name: "Drawer", + "extends": script$1$O, + 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(event2) { + if (this.dismissable && this.modal && this.mask === event2.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(event2) { + if (event2.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(event2) { + if (_this.isOutsideClicked(event2)) { + _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(event2) { + return this.container && !this.container.contains(event2.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$1e, + Portal: script$1f, + TimesIcon: script$1g + } +}; +var _hoisted_1$v = ["aria-modal"]; +function render$13(_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$v)), [[_directive_focustrap]]) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"])], 16)) : createCommentVNode("", true)]; + }), + _: 3 + }); +} +__name(render$13, "render$13"); +script$1c.render = render$13; +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 active3 = useModel(__props, "modelValue"); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$1e), { + class: "relative p-button-icon-only", + outlined: props.outlined, + severity: props.severity, + disabled: active3.value || props.disabled, + onClick: _cache[0] || (_cache[0] = (event2) => _ctx.$emit("refresh", event2)) + }, { + default: withCtx(() => [ + createBaseVNode("span", { + class: normalizeClass(["p-button-icon pi pi-refresh transition-all", { "opacity-0": active3.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$1h), { class: "absolute w-1/2 h-1/2" }, null, 512), [ + [vShow, active3.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 icon2 = 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 value2 = 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$1i), { + icon: icon2.value, + severity: severity.value, + value: value2.value + }, null, 8, ["icon", "severity", "value"]); + }; + } +}); +var PrimeVueDialogSymbol = Symbol(); +function useDialog() { + var PrimeVueDialog = inject(PrimeVueDialogSymbol); + if (!PrimeVueDialog) { + throw new Error("No PrimeVue Dialog provided!"); + } + return PrimeVueDialog; +} +__name(useDialog, "useDialog"); +var classes$L = { + root: "p-accordioncontent", + content: "p-accordioncontent-content" +}; +var AccordionContentStyle = BaseStyle.extend({ + name: "accordioncontent", + classes: classes$L +}); +var script$1$N = { + name: "BaseAccordionContent", + "extends": script$1d, + props: { + as: { + type: [String, Object], + "default": "DIV" + }, + asChild: { + type: Boolean, + "default": false + } + }, + style: AccordionContentStyle, + provide: /* @__PURE__ */ __name(function provide2() { + return { + $pcAccordionContent: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1b = { + name: "AccordionContent", + "extends": script$1$N, + inheritAttrs: false, + inject: ["$pcAccordion", "$pcAccordionPanel"], + computed: { + id: /* @__PURE__ */ __name(function id() { + return "".concat(this.$pcAccordion.id, "_accordioncontent_").concat(this.$pcAccordionPanel.value); + }, "id"), + ariaLabelledby: /* @__PURE__ */ __name(function ariaLabelledby() { + return "".concat(this.$pcAccordion.id, "_accordionheader_").concat(this.$pcAccordionPanel.value); + }, "ariaLabelledby"), + attrs: /* @__PURE__ */ __name(function attrs() { + return mergeProps(this.a11yAttrs, this.ptmi("root", this.ptParams)); + }, "attrs"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs() { + return { + id: this.id, + role: "region", + "aria-labelledby": this.ariaLabelledby, + "data-pc-name": "accordioncontent", + "data-p-active": this.$pcAccordionPanel.active + }; + }, "a11yAttrs"), + ptParams: /* @__PURE__ */ __name(function ptParams() { + return { + context: { + active: this.$pcAccordionPanel.active + } + }; + }, "ptParams") + } +}; +function render$12(_ctx, _cache, $props, $setup, $data, $options) { + return !_ctx.asChild ? (openBlock(), createBlock(Transition, mergeProps({ + key: 0, + name: "p-toggleable-content" + }, _ctx.ptm("transition", $options.ptParams)), { + "default": withCtx(function() { + return [($options.$pcAccordion.lazy ? $options.$pcAccordionPanel.active : true) ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + "class": _ctx.cx("root") + }, $options.attrs), { + "default": withCtx(function() { + return [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("content") + }, _ctx.ptm("content", $options.ptParams)), [renderSlot(_ctx.$slots, "default")], 16)]; + }), + _: 3 + }, 16, ["class"])), [[vShow, $options.$pcAccordion.lazy ? true : $options.$pcAccordionPanel.active]]) : createCommentVNode("", true)]; + }), + _: 3 + }, 16)) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + active: $options.$pcAccordionPanel.active, + a11yAttrs: $options.a11yAttrs + }); +} +__name(render$12, "render$12"); +script$1b.render = render$12; +var classes$K = { + root: "p-accordionheader", + toggleicon: "p-accordionheader-toggle-icon" +}; +var AccordionHeaderStyle = BaseStyle.extend({ + name: "accordionheader", + classes: classes$K +}); +var script$1$M = { + name: "BaseAccordionHeader", + "extends": script$1d, + props: { + as: { + type: [String, Object], + "default": "BUTTON" + }, + asChild: { + type: Boolean, + "default": false + } + }, + style: AccordionHeaderStyle, + provide: /* @__PURE__ */ __name(function provide3() { + return { + $pcAccordionHeader: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1a = { + name: "AccordionHeader", + "extends": script$1$M, + inheritAttrs: false, + inject: ["$pcAccordion", "$pcAccordionPanel"], + methods: { + onFocus: /* @__PURE__ */ __name(function onFocus() { + this.$pcAccordion.selectOnFocus && this.changeActiveValue(); + }, "onFocus"), + onClick: /* @__PURE__ */ __name(function onClick() { + this.changeActiveValue(); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown2(event2) { + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "ArrowUp": + this.onArrowUpKey(event2); + break; + case "Home": + this.onHomeKey(event2); + break; + case "End": + this.onEndKey(event2); + break; + case "Enter": + case "NumpadEnter": + case "Space": + this.onEnterKey(event2); + break; + } + }, "onKeydown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey(event2) { + var nextPanel = this.findNextPanel(this.findPanel(event2.currentTarget)); + nextPanel ? this.changeFocusedPanel(event2, nextPanel) : this.onHomeKey(event2); + event2.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey(event2) { + var prevPanel = this.findPrevPanel(this.findPanel(event2.currentTarget)); + prevPanel ? this.changeFocusedPanel(event2, prevPanel) : this.onEndKey(event2); + event2.preventDefault(); + }, "onArrowUpKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey(event2) { + var firstPanel = this.findFirstPanel(); + this.changeFocusedPanel(event2, firstPanel); + event2.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey(event2) { + var lastPanel = this.findLastPanel(); + this.changeFocusedPanel(event2, lastPanel); + event2.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey(event2) { + this.changeActiveValue(); + event2.preventDefault(); + }, "onEnterKey"), + findPanel: /* @__PURE__ */ __name(function findPanel(headerElement) { + return headerElement === null || headerElement === void 0 ? void 0 : headerElement.closest('[data-pc-name="accordionpanel"]'); + }, "findPanel"), + findHeader: /* @__PURE__ */ __name(function findHeader(panelElement) { + return findSingle(panelElement, '[data-pc-name="accordionheader"]'); + }, "findHeader"), + findNextPanel: /* @__PURE__ */ __name(function findNextPanel(panelElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var element = selfCheck ? panelElement : panelElement.nextElementSibling; + return element ? getAttribute(element, "data-p-disabled") ? this.findNextPanel(element) : this.findHeader(element) : null; + }, "findNextPanel"), + findPrevPanel: /* @__PURE__ */ __name(function findPrevPanel(panelElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var element = selfCheck ? panelElement : panelElement.previousElementSibling; + return element ? getAttribute(element, "data-p-disabled") ? this.findPrevPanel(element) : this.findHeader(element) : null; + }, "findPrevPanel"), + findFirstPanel: /* @__PURE__ */ __name(function findFirstPanel() { + return this.findNextPanel(this.$pcAccordion.$el.firstElementChild, true); + }, "findFirstPanel"), + findLastPanel: /* @__PURE__ */ __name(function findLastPanel() { + return this.findPrevPanel(this.$pcAccordion.$el.lastElementChild, true); + }, "findLastPanel"), + changeActiveValue: /* @__PURE__ */ __name(function changeActiveValue() { + this.$pcAccordion.updateValue(this.$pcAccordionPanel.value); + }, "changeActiveValue"), + changeFocusedPanel: /* @__PURE__ */ __name(function changeFocusedPanel(event2, element) { + focus(this.findHeader(element)); + }, "changeFocusedPanel") + }, + computed: { + id: /* @__PURE__ */ __name(function id2() { + return "".concat(this.$pcAccordion.id, "_accordionheader_").concat(this.$pcAccordionPanel.value); + }, "id"), + ariaControls: /* @__PURE__ */ __name(function ariaControls() { + return "".concat(this.$pcAccordion.id, "_accordioncontent_").concat(this.$pcAccordionPanel.value); + }, "ariaControls"), + attrs: /* @__PURE__ */ __name(function attrs2() { + return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi("root", this.ptParams)); + }, "attrs"), + asAttrs: /* @__PURE__ */ __name(function asAttrs() { + return this.as === "BUTTON" ? { + type: "button", + disabled: this.$pcAccordionPanel.disabled + } : void 0; + }, "asAttrs"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs2() { + return { + id: this.id, + tabindex: this.$pcAccordion.tabindex, + "aria-expanded": this.$pcAccordionPanel.active, + "aria-controls": this.ariaControls, + "data-pc-name": "accordionheader", + "data-p-disabled": this.$pcAccordionPanel.disabled, + "data-p-active": this.$pcAccordionPanel.active, + onFocus: this.onFocus, + onKeydown: this.onKeydown + }; + }, "a11yAttrs"), + ptParams: /* @__PURE__ */ __name(function ptParams2() { + return { + context: { + active: this.$pcAccordionPanel.active + } + }; + }, "ptParams") + }, + components: { + ChevronUpIcon: script$1j, + ChevronDownIcon: script$1k + }, + directives: { + ripple: Ripple + } +}; +function render$11(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + "class": _ctx.cx("root"), + onClick: $options.onClick + }, $options.attrs), { + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default", { + active: $options.$pcAccordionPanel.active + }), renderSlot(_ctx.$slots, "toggleicon", { + active: $options.$pcAccordionPanel.active, + "class": normalizeClass(_ctx.cx("toggleicon")) + }, function() { + return [$options.$pcAccordionPanel.active ? (openBlock(), createBlock(resolveDynamicComponent($options.$pcAccordion.$slots.collapseicon ? $options.$pcAccordion.$slots.collapseicon : $options.$pcAccordion.collapseIcon ? "span" : "ChevronDownIcon"), mergeProps({ + key: 0, + "class": [$options.$pcAccordion.collapseIcon, _ctx.cx("toggleicon")], + "aria-hidden": "true" + }, _ctx.ptm("toggleicon", $options.ptParams)), null, 16, ["class"])) : (openBlock(), createBlock(resolveDynamicComponent($options.$pcAccordion.$slots.expandicon ? $options.$pcAccordion.$slots.expandicon : $options.$pcAccordion.expandIcon ? "span" : "ChevronUpIcon"), mergeProps({ + key: 1, + "class": [$options.$pcAccordion.expandIcon, _ctx.cx("toggleicon")], + "aria-hidden": "true" + }, _ctx.ptm("toggleicon", $options.ptParams)), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "onClick"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + active: $options.$pcAccordionPanel.active, + a11yAttrs: $options.a11yAttrs, + onClick: $options.onClick + }); +} +__name(render$11, "render$11"); +script$1a.render = render$11; +var classes$J = { + root: /* @__PURE__ */ __name(function root2(_ref) { + var instance = _ref.instance, props = _ref.props; + return ["p-accordionpanel", { + "p-accordionpanel-active": instance.active, + "p-disabled": props.disabled + }]; + }, "root") +}; +var AccordionPanelStyle = BaseStyle.extend({ + name: "accordionpanel", + classes: classes$J +}); +var script$1$L = { + name: "BaseAccordionPanel", + "extends": script$1d, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + disabled: { + type: Boolean, + "default": false + }, + as: { + type: [String, Object], + "default": "DIV" + }, + asChild: { + type: Boolean, + "default": false + } + }, + style: AccordionPanelStyle, + provide: /* @__PURE__ */ __name(function provide4() { + return { + $pcAccordionPanel: this, + $parentInstance: this + }; + }, "provide") +}; +var script$19 = { + name: "AccordionPanel", + "extends": script$1$L, + inheritAttrs: false, + inject: ["$pcAccordion"], + computed: { + active: /* @__PURE__ */ __name(function active() { + return this.$pcAccordion.isItemActive(this.value); + }, "active"), + attrs: /* @__PURE__ */ __name(function attrs3() { + return mergeProps(this.a11yAttrs, this.ptmi("root", this.ptParams)); + }, "attrs"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs3() { + return { + "data-pc-name": "accordionpanel", + "data-p-disabled": this.disabled, + "data-p-active": this.active + }; + }, "a11yAttrs"), + ptParams: /* @__PURE__ */ __name(function ptParams3() { + return { + context: { + active: this.active + } + }; + }, "ptParams") + } +}; +function render$10(_ctx, _cache, $props, $setup, $data, $options) { + return !_ctx.asChild ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + "class": _ctx.cx("root") + }, $options.attrs), { + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default")]; + }), + _: 3 + }, 16, ["class"])) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + active: $options.active, + a11yAttrs: $options.a11yAttrs + }); +} +__name(render$10, "render$10"); +script$19.render = render$10; +var theme$C = /* @__PURE__ */ __name(function theme2(_ref) { + var dt = _ref.dt; + return "\n.p-accordionpanel {\n display: flex;\n flex-direction: column;\n border-style: solid;\n border-width: ".concat(dt("accordion.panel.border.width"), ";\n border-color: ").concat(dt("accordion.panel.border.color"), ";\n}\n\n.p-accordionheader {\n all: unset;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ").concat(dt("accordion.header.padding"), ";\n color: ").concat(dt("accordion.header.color"), ";\n background: ").concat(dt("accordion.header.background"), ";\n border-style: solid;\n border-width: ").concat(dt("accordion.header.border.width"), ";\n border-color: ").concat(dt("accordion.header.border.color"), ";\n font-weight: ").concat(dt("accordion.header.font.weight"), ";\n border-radius: ").concat(dt("accordion.header.border.radius"), ";\n transition: background ").concat(dt("accordion.transition.duration"), "; color ").concat(dt("accordion.transition.duration"), "color ").concat(dt("accordion.transition.duration"), ", outline-color ").concat(dt("accordion.transition.duration"), ", box-shadow ").concat(dt("accordion.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-accordionpanel:first-child > .p-accordionheader {\n border-width: ").concat(dt("accordion.header.first.border.width"), ";\n border-start-start-radius: ").concat(dt("accordion.header.first.top.border.radius"), ";\n border-start-end-radius: ").concat(dt("accordion.header.first.top.border.radius"), ";\n}\n\n.p-accordionpanel:last-child > .p-accordionheader {\n border-end-start-radius: ").concat(dt("accordion.header.last.bottom.border.radius"), ";\n border-end-end-radius: ").concat(dt("accordion.header.last.bottom.border.radius"), ";\n}\n\n.p-accordionpanel:last-child.p-accordionpanel-active > .p-accordionheader {\n border-end-start-radius: ").concat(dt("accordion.header.last.active.bottom.border.radius"), ";\n border-end-end-radius: ").concat(dt("accordion.header.last.active.bottom.border.radius"), ";\n}\n\n.p-accordionheader-toggle-icon {\n color: ").concat(dt("accordion.header.toggle.icon.color"), ";\n}\n\n.p-accordionpanel:not(.p-disabled) .p-accordionheader:focus-visible {\n box-shadow: ").concat(dt("accordion.header.focus.ring.shadow"), ";\n outline: ").concat(dt("accordion.header.focus.ring.width"), " ").concat(dt("accordion.header.focus.ring.style"), " ").concat(dt("accordion.header.focus.ring.color"), ";\n outline-offset: ").concat(dt("accordion.header.focus.ring.offset"), ";\n}\n\n.p-accordionpanel:not(.p-accordionpanel-active):not(.p-disabled) > .p-accordionheader:hover {\n background: ").concat(dt("accordion.header.hover.background"), ";\n color: ").concat(dt("accordion.header.hover.color"), ";\n}\n\n.p-accordionpanel:not(.p-accordionpanel-active):not(.p-disabled) .p-accordionheader:hover .p-accordionheader-toggle-icon {\n color: ").concat(dt("accordion.header.toggle.icon.hover.color"), ";\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader {\n background: ").concat(dt("accordion.header.active.background"), ";\n color: ").concat(dt("accordion.header.active.color"), ";\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader .p-accordionheader-toggle-icon {\n color: ").concat(dt("accordion.header.toggle.icon.active.color"), ";\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader:hover {\n background: ").concat(dt("accordion.header.active.hover.background"), ";\n color: ").concat(dt("accordion.header.active.hover.color"), ";\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader:hover .p-accordionheader-toggle-icon {\n color: ").concat(dt("accordion.header.toggle.icon.active.hover.color"), ";\n}\n\n.p-accordioncontent-content {\n border-style: solid;\n border-width: ").concat(dt("accordion.content.border.width"), ";\n border-color: ").concat(dt("accordion.content.border.color"), ";\n background-color: ").concat(dt("accordion.content.background"), ";\n color: ").concat(dt("accordion.content.color"), ";\n padding: ").concat(dt("accordion.content.padding"), ";\n}\n"); +}, "theme"); +var classes$I = { + root: "p-accordion p-component" +}; +var AccordionStyle = BaseStyle.extend({ + name: "accordion", + theme: theme$C, + classes: classes$I +}); +var script$1$K = { + name: "BaseAccordion", + "extends": script$1d, + props: { + value: { + type: [String, Number, Array], + "default": void 0 + }, + multiple: { + type: Boolean, + "default": false + }, + lazy: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": 0 + }, + selectOnFocus: { + type: Boolean, + "default": false + }, + expandIcon: { + type: String, + "default": void 0 + }, + collapseIcon: { + type: String, + "default": void 0 + }, + // @deprecated since v4. + activeIndex: { + type: [Number, Array], + "default": null + } + }, + style: AccordionStyle, + provide: /* @__PURE__ */ __name(function provide5() { + return { + $pcAccordion: this, + $parentInstance: this + }; + }, "provide") +}; +var script$18 = { + name: "Accordion", + "extends": script$1$K, + inheritAttrs: false, + emits: ["update:value", "update:activeIndex", "tab-open", "tab-close", "tab-click"], + data: /* @__PURE__ */ __name(function data2() { + return { + id: this.$attrs.id, + d_value: this.value + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + value: /* @__PURE__ */ __name(function value(newValue) { + this.d_value = newValue; + }, "value"), + activeIndex: { + immediate: true, + handler: /* @__PURE__ */ __name(function handler(newValue) { + if (this.hasAccordionTab) { + this.d_value = this.multiple ? newValue === null || newValue === void 0 ? void 0 : newValue.map(String) : newValue === null || newValue === void 0 ? void 0 : newValue.toString(); + } + }, "handler") + } + }, + mounted: /* @__PURE__ */ __name(function mounted() { + this.id = this.id || UniqueComponentId(); + }, "mounted"), + methods: { + isItemActive: /* @__PURE__ */ __name(function isItemActive(value2) { + var _this$d_value; + return this.multiple ? (_this$d_value = this.d_value) === null || _this$d_value === void 0 ? void 0 : _this$d_value.includes(value2) : this.d_value === value2; + }, "isItemActive"), + updateValue: /* @__PURE__ */ __name(function updateValue(newValue) { + var _this$d_value2; + var active3 = this.isItemActive(newValue); + if (this.multiple) { + if (active3) { + this.d_value = this.d_value.filter(function(v) { + return v !== newValue; + }); + } else { + if (this.d_value) this.d_value.push(newValue); + else this.d_value = [newValue]; + } + } else { + this.d_value = active3 ? null : newValue; + } + this.$emit("update:value", this.d_value); + this.$emit("update:activeIndex", this.multiple ? (_this$d_value2 = this.d_value) === null || _this$d_value2 === void 0 ? void 0 : _this$d_value2.map(Number) : Number(this.d_value)); + this.$emit(active3 ? "tab-close" : "tab-open", { + originalEvent: void 0, + index: Number(newValue) + }); + }, "updateValue"), + // @deprecated since v4. Use new structure instead. + isAccordionTab: /* @__PURE__ */ __name(function isAccordionTab(child) { + return child.type.name === "AccordionTab"; + }, "isAccordionTab"), + getTabProp: /* @__PURE__ */ __name(function getTabProp(tab, name4) { + return tab.props ? tab.props[name4] : void 0; + }, "getTabProp"), + getKey: /* @__PURE__ */ __name(function getKey(tab, index) { + return this.getTabProp(tab, "header") || index; + }, "getKey"), + getHeaderPT: /* @__PURE__ */ __name(function getHeaderPT(tab, index) { + var _this = this; + return { + root: mergeProps({ + onClick: /* @__PURE__ */ __name(function onClick11(event2) { + return _this.onTabClick(event2, index); + }, "onClick") + }, this.getTabProp(tab, "headerProps"), this.getTabPT(tab, "header", index)), + toggleicon: mergeProps(this.getTabProp(tab, "headeractionprops"), this.getTabPT(tab, "headeraction", index)) + }; + }, "getHeaderPT"), + getContentPT: /* @__PURE__ */ __name(function getContentPT(tab, index) { + return { + root: mergeProps(this.getTabProp(tab, "contentProps"), this.getTabPT(tab, "toggleablecontent", index)), + transition: this.getTabPT(tab, "transition", index), + content: this.getTabPT(tab, "content", index) + }; + }, "getContentPT"), + getTabPT: /* @__PURE__ */ __name(function getTabPT(tab, key, index) { + var count = this.tabs.length; + var tabMetaData = { + props: tab.props || {}, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index, + count, + first: index === 0, + last: index === count - 1, + active: this.isItemActive("".concat(index)) + } + }; + return mergeProps(this.ptm("accordiontab.".concat(key), tabMetaData), this.ptmo(this.getTabProp(tab, "pt"), key, tabMetaData)); + }, "getTabPT"), + onTabClick: /* @__PURE__ */ __name(function onTabClick(event2, index) { + this.$emit("tab-click", { + originalEvent: event2, + index + }); + }, "onTabClick") + }, + computed: { + // @deprecated since v4. + tabs: /* @__PURE__ */ __name(function tabs() { + var _this2 = this; + return this.$slots["default"]().reduce(function(tabs2, child) { + if (_this2.isAccordionTab(child)) { + tabs2.push(child); + } else if (child.children && child.children instanceof Array) { + child.children.forEach(function(nestedChild) { + if (_this2.isAccordionTab(nestedChild)) { + tabs2.push(nestedChild); + } + }); + } + return tabs2; + }, []); + }, "tabs"), + hasAccordionTab: /* @__PURE__ */ __name(function hasAccordionTab() { + return this.tabs.length; + }, "hasAccordionTab") + }, + components: { + AccordionPanel: script$19, + AccordionHeader: script$1a, + AccordionContent: script$1b, + ChevronUpIcon: script$1j, + ChevronRightIcon: script$1l + } +}; +function render$$(_ctx, _cache, $props, $setup, $data, $options) { + var _component_AccordionHeader = resolveComponent("AccordionHeader"); + var _component_AccordionContent = resolveComponent("AccordionContent"); + var _component_AccordionPanel = resolveComponent("AccordionPanel"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [$options.hasAccordionTab ? (openBlock(true), createElementBlock(Fragment, { + key: 0 + }, renderList($options.tabs, function(tab, i) { + return openBlock(), createBlock(_component_AccordionPanel, { + key: $options.getKey(tab, i), + value: "".concat(i), + pt: { + root: $options.getTabPT(tab, "root", i) + }, + disabled: $options.getTabProp(tab, "disabled") + }, { + "default": withCtx(function() { + return [createVNode(_component_AccordionHeader, { + "class": normalizeClass($options.getTabProp(tab, "headerClass")), + pt: $options.getHeaderPT(tab, i) + }, { + toggleicon: withCtx(function(slotProps) { + return [slotProps.active ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.collapseicon ? _ctx.$slots.collapseicon : _ctx.collapseIcon ? "span" : "ChevronDownIcon"), mergeProps({ + key: 0, + "class": [_ctx.collapseIcon, slotProps["class"]], + "aria-hidden": "true", + ref_for: true + }, $options.getTabPT(tab, "headericon", i)), null, 16, ["class"])) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.expandicon ? _ctx.$slots.expandicon : _ctx.expandIcon ? "span" : "ChevronUpIcon"), mergeProps({ + key: 1, + "class": [_ctx.expandIcon, slotProps["class"]], + "aria-hidden": "true", + ref_for: true + }, $options.getTabPT(tab, "headericon", i)), null, 16, ["class"]))]; + }), + "default": withCtx(function() { + return [tab.children && tab.children.headericon ? (openBlock(), createBlock(resolveDynamicComponent(tab.children.headericon), { + key: 0, + isTabActive: $options.isItemActive("".concat(i)), + active: $options.isItemActive("".concat(i)), + index: i + }, null, 8, ["isTabActive", "active", "index"])) : createCommentVNode("", true), tab.props && tab.props.header ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + ref_for: true + }, $options.getTabPT(tab, "headertitle", i)), toDisplayString(tab.props.header), 17)) : createCommentVNode("", true), tab.children && tab.children.header ? (openBlock(), createBlock(resolveDynamicComponent(tab.children.header), { + key: 2 + })) : createCommentVNode("", true)]; + }), + _: 2 + }, 1032, ["class", "pt"]), createVNode(_component_AccordionContent, { + pt: $options.getContentPT(tab, i) + }, { + "default": withCtx(function() { + return [(openBlock(), createBlock(resolveDynamicComponent(tab)))]; + }), + _: 2 + }, 1032, ["pt"])]; + }), + _: 2 + }, 1032, ["value", "pt", "disabled"]); + }), 128)) : renderSlot(_ctx.$slots, "default", { + key: 1 + })], 16); +} +__name(render$$, "render$$"); +script$18.render = render$$; +var AccordionTabStyle = BaseStyle.extend({ + name: "accordiontab" +}); +var script$1$J = { + name: "BaseAccordionTab", + "extends": script$1d, + props: { + header: null, + headerStyle: null, + headerClass: null, + headerProps: null, + headerActionProps: null, + contentStyle: null, + contentClass: null, + contentProps: null, + disabled: Boolean + }, + style: AccordionTabStyle, + provide: /* @__PURE__ */ __name(function provide6() { + return { + $pcAccordionTab: this, + $parentInstance: this + }; + }, "provide") +}; +var script$17 = { + name: "AccordionTab", + "extends": script$1$J, + inheritAttrs: false, + mounted: /* @__PURE__ */ __name(function mounted2() { + console.warn("Deprecated since v4. Use the new structure of Accordion instead."); + }, "mounted") +}; +function render$_(_ctx, _cache, $props, $setup, $data, $options) { + return renderSlot(_ctx.$slots, "default"); +} +__name(render$_, "render$_"); +script$17.render = render$_; +var AnimateOnScrollStyle = BaseStyle.extend({ + name: "animateonscroll-directive" +}); +var BaseAnimateOnScroll = BaseDirective.extend({ + style: AnimateOnScrollStyle +}); +function _typeof$n(o) { + "@babel/helpers - typeof"; + return _typeof$n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$n(o); +} +__name(_typeof$n, "_typeof$n"); +function ownKeys$k(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$k, "ownKeys$k"); +function _objectSpread$k(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$k(Object(t2), true).forEach(function(r2) { + _defineProperty$l(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$k(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$k, "_objectSpread$k"); +function _defineProperty$l(e, r, t2) { + return (r = _toPropertyKey$l(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$l, "_defineProperty$l"); +function _toPropertyKey$l(t2) { + var i = _toPrimitive$l(t2, "string"); + return "symbol" == _typeof$n(i) ? i : i + ""; +} +__name(_toPropertyKey$l, "_toPropertyKey$l"); +function _toPrimitive$l(t2, r) { + if ("object" != _typeof$n(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$n(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$l, "_toPrimitive$l"); +function _slicedToArray$1(r, e) { + return _arrayWithHoles$1(r) || _iterableToArrayLimit$1(r, e) || _unsupportedIterableToArray$f(r, e) || _nonIterableRest$1(); +} +__name(_slicedToArray$1, "_slicedToArray$1"); +function _nonIterableRest$1() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableRest$1, "_nonIterableRest$1"); +function _unsupportedIterableToArray$f(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$f(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$f(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$f, "_unsupportedIterableToArray$f"); +function _arrayLikeToArray$f(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$f, "_arrayLikeToArray$f"); +function _iterableToArrayLimit$1(r, l) { + var t2 = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t2) { + var e, n, i, u, a = [], f = true, o = false; + try { + if (i = (t2 = t2.call(r)).next, 0 === l) ; + else for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) ; + } catch (r2) { + o = true, n = r2; + } finally { + try { + if (!f && null != t2["return"] && (u = t2["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} +__name(_iterableToArrayLimit$1, "_iterableToArrayLimit$1"); +function _arrayWithHoles$1(r) { + if (Array.isArray(r)) return r; +} +__name(_arrayWithHoles$1, "_arrayWithHoles$1"); +var AnimateOnScroll = BaseAnimateOnScroll.extend("animateonscroll", { + created: /* @__PURE__ */ __name(function created() { + this.$value = this.$value || {}; + this.$el.style.opacity = this.$value.enterClass ? "0" : ""; + }, "created"), + mounted: /* @__PURE__ */ __name(function mounted3() { + this.$el.setAttribute("data-pd-animateonscroll", true); + this.bindIntersectionObserver(); + }, "mounted"), + unmounted: /* @__PURE__ */ __name(function unmounted() { + this.unbindAnimationEvents(); + this.unbindIntersectionObserver(); + }, "unmounted"), + observer: void 0, + resetObserver: void 0, + isObserverActive: false, + animationState: void 0, + animationEndListener: void 0, + methods: { + bindAnimationEvents: /* @__PURE__ */ __name(function bindAnimationEvents() { + var _this = this; + if (!this.animationEndListener) { + this.animationEndListener = function() { + removeClass(_this.$el, [_this.$value.enterClass, _this.$value.leaveClass]); + !_this.$modifiers.once && _this.resetObserver.observe(_this.$el); + _this.unbindAnimationEvents(); + }; + this.$el.addEventListener("animationend", this.animationEndListener); + } + }, "bindAnimationEvents"), + bindIntersectionObserver: /* @__PURE__ */ __name(function bindIntersectionObserver() { + var _this2 = this; + var _this$$value = this.$value, root35 = _this$$value.root, rootMargin = _this$$value.rootMargin, _this$$value$threshol = _this$$value.threshold, threshold = _this$$value$threshol === void 0 ? 0.5 : _this$$value$threshol; + var options4 = { + root: root35, + rootMargin, + threshold + }; + this.observer = new IntersectionObserver(function(_ref) { + var _ref2 = _slicedToArray$1(_ref, 1), entry = _ref2[0]; + if (_this2.isObserverActive) { + if (entry.boundingClientRect.top > 0) { + entry.isIntersecting ? _this2.enter() : _this2.leave(); + } + } else if (entry.isIntersecting) { + _this2.enter(); + } + _this2.isObserverActive = true; + }, options4); + setTimeout(function() { + return _this2.observer.observe(_this2.$el); + }, 0); + this.resetObserver = new IntersectionObserver(function(_ref3) { + var _ref4 = _slicedToArray$1(_ref3, 1), entry = _ref4[0]; + if (entry.boundingClientRect.top > 0 && !entry.isIntersecting) { + _this2.$el.style.opacity = _this2.$value.enterClass ? "0" : ""; + removeClass(_this2.$el, [_this2.$value.enterClass, _this2.$value.leaveClass]); + _this2.resetObserver.unobserve(_this2.$el); + } + _this2.animationState = void 0; + }, _objectSpread$k(_objectSpread$k({}, options4), {}, { + threshold: 0 + })); + }, "bindIntersectionObserver"), + enter: /* @__PURE__ */ __name(function enter() { + if (this.animationState !== "enter" && this.$value.enterClass) { + this.$el.style.opacity = ""; + removeClass(this.$el, this.$value.leaveClass); + addClass(this.$el, this.$value.enterClass); + this.$modifiers.once && this.unbindIntersectionObserver(this.$el); + this.bindAnimationEvents(); + this.animationState = "enter"; + } + }, "enter"), + leave: /* @__PURE__ */ __name(function leave() { + if (this.animationState !== "leave" && this.$value.leaveClass) { + this.$el.style.opacity = this.$value.enterClass ? "0" : ""; + removeClass(this.$el, this.$value.enterClass); + addClass(this.$el, this.$value.leaveClass); + this.bindAnimationEvents(); + this.animationState = "leave"; + } + }, "leave"), + unbindAnimationEvents: /* @__PURE__ */ __name(function unbindAnimationEvents() { + if (this.animationEndListener) { + this.$el.removeEventListener("animationend", this.animationEndListener); + this.animationEndListener = void 0; + } + }, "unbindAnimationEvents"), + unbindIntersectionObserver: /* @__PURE__ */ __name(function unbindIntersectionObserver() { + var _this$observer, _this$resetObserver; + (_this$observer = this.observer) === null || _this$observer === void 0 || _this$observer.unobserve(this.$el); + (_this$resetObserver = this.resetObserver) === null || _this$resetObserver === void 0 || _this$resetObserver.unobserve(this.$el); + this.isObserverActive = false; + }, "unbindIntersectionObserver") + } +}); +var theme$B = /* @__PURE__ */ __name(function theme3(_ref) { + var dt = _ref.dt; + return "\n.p-avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ".concat(dt("avatar.width"), ";\n height: ").concat(dt("avatar.height"), ";\n font-size: ").concat(dt("avatar.font.size"), ";\n background: ").concat(dt("avatar.background"), ";\n color: ").concat(dt("avatar.color"), ";\n border-radius: ").concat(dt("avatar.border.radius"), ";\n}\n\n.p-avatar-image {\n background: transparent;\n}\n\n.p-avatar-circle {\n border-radius: 50%;\n}\n\n.p-avatar-circle img {\n border-radius: 50%;\n}\n\n.p-avatar-icon {\n font-size: ").concat(dt("avatar.icon.size"), ";\n width: ").concat(dt("avatar.icon.size"), ";\n height: ").concat(dt("avatar.icon.size"), ";\n}\n\n.p-avatar img {\n width: 100%;\n height: 100%;\n}\n\n.p-avatar-lg {\n width: ").concat(dt("avatar.lg.width"), ";\n height: ").concat(dt("avatar.lg.width"), ";\n font-size: ").concat(dt("avatar.lg.font.size"), ";\n}\n\n.p-avatar-lg .p-avatar-icon {\n font-size: ").concat(dt("avatar.lg.icon.size"), ";\n width: ").concat(dt("avatar.lg.icon.size"), ";\n height: ").concat(dt("avatar.lg.icon.size"), ";\n}\n\n.p-avatar-xl {\n width: ").concat(dt("avatar.xl.width"), ";\n height: ").concat(dt("avatar.xl.width"), ";\n font-size: ").concat(dt("avatar.xl.font.size"), ";\n}\n\n.p-avatar-xl .p-avatar-icon {\n font-size: ").concat(dt("avatar.xl.icon.size"), ";\n width: ").concat(dt("avatar.xl.icon.size"), ";\n height: ").concat(dt("avatar.xl.icon.size"), ";\n}\n\n.p-avatar-group {\n display: flex;\n align-items: center;\n}\n\n.p-avatar-group .p-avatar + .p-avatar {\n margin-inline-start: ").concat(dt("avatar.group.offset"), ";\n}\n\n.p-avatar-group .p-avatar {\n border: 2px solid ").concat(dt("avatar.group.border.color"), ";\n}\n\n.p-avatar-group .p-avatar-lg + .p-avatar-lg {\n margin-inline-start: ").concat(dt("avatar.lg.group.offset"), ";\n}\n\n.p-avatar-group .p-avatar-xl + .p-avatar-xl {\n margin-inline-start: ").concat(dt("avatar.xl.group.offset"), ";\n}\n"); +}, "theme"); +var classes$H = { + root: /* @__PURE__ */ __name(function root3(_ref2) { + var props = _ref2.props; + return ["p-avatar p-component", { + "p-avatar-image": props.image != null, + "p-avatar-circle": props.shape === "circle", + "p-avatar-lg": props.size === "large", + "p-avatar-xl": props.size === "xlarge" + }]; + }, "root"), + label: "p-avatar-label", + icon: "p-avatar-icon" +}; +var AvatarStyle = BaseStyle.extend({ + name: "avatar", + theme: theme$B, + classes: classes$H +}); +var script$1$I = { + name: "BaseAvatar", + "extends": script$1d, + props: { + label: { + type: String, + "default": null + }, + icon: { + type: String, + "default": null + }, + image: { + type: String, + "default": null + }, + size: { + type: String, + "default": "normal" + }, + shape: { + type: String, + "default": "square" + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: AvatarStyle, + provide: /* @__PURE__ */ __name(function provide7() { + return { + $pcAvatar: this, + $parentInstance: this + }; + }, "provide") +}; +var script$16 = { + name: "Avatar", + "extends": script$1$I, + inheritAttrs: false, + emits: ["error"], + methods: { + onError: /* @__PURE__ */ __name(function onError(event2) { + this.$emit("error", event2); + }, "onError") + } +}; +var _hoisted_1$u = ["aria-labelledby", "aria-label"]; +var _hoisted_2$m = ["src", "alt"]; +function render$Z(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default", {}, function() { + return [_ctx.label ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": _ctx.cx("label") + }, _ctx.ptm("label")), toDisplayString(_ctx.label), 17)) : _ctx.$slots.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.icon), { + key: 1, + "class": normalizeClass(_ctx.cx("icon")) + }, null, 8, ["class"])) : _ctx.icon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 2, + "class": [_ctx.cx("icon"), _ctx.icon] + }, _ctx.ptm("icon")), null, 16)) : _ctx.image ? (openBlock(), createElementBlock("img", mergeProps({ + key: 3, + src: _ctx.image, + alt: _ctx.ariaLabel, + onError: _cache[0] || (_cache[0] = function() { + return $options.onError && $options.onError.apply($options, arguments); + }) + }, _ctx.ptm("image")), null, 16, _hoisted_2$m)) : createCommentVNode("", true)]; + })], 16, _hoisted_1$u); +} +__name(render$Z, "render$Z"); +script$16.render = render$Z; +var classes$G = { + root: "p-avatar-group p-component" +}; +var AvatarGroupStyle = BaseStyle.extend({ + name: "avatargroup", + classes: classes$G +}); +var script$1$H = { + name: "BaseAvatarGroup", + "extends": script$1d, + style: AvatarGroupStyle, + provide: /* @__PURE__ */ __name(function provide8() { + return { + $pcAvatarGroup: this, + $parentInstance: this + }; + }, "provide") +}; +var script$15 = { + name: "AvatarGroup", + "extends": script$1$H, + inheritAttrs: false +}; +function render$Y(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$Y, "render$Y"); +script$15.render = render$Y; +var classes$F = { + root: "p-badge p-component" +}; +var BadgeDirectiveStyle = BaseStyle.extend({ + name: "badge-directive", + classes: classes$F +}); +var BaseBadgeDirective = BaseDirective.extend({ + style: BadgeDirectiveStyle +}); +function _typeof$m(o) { + "@babel/helpers - typeof"; + return _typeof$m = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$m(o); +} +__name(_typeof$m, "_typeof$m"); +function ownKeys$j(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$j, "ownKeys$j"); +function _objectSpread$j(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$j(Object(t2), true).forEach(function(r2) { + _defineProperty$k(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$j(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$j, "_objectSpread$j"); +function _defineProperty$k(e, r, t2) { + return (r = _toPropertyKey$k(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$k, "_defineProperty$k"); +function _toPropertyKey$k(t2) { + var i = _toPrimitive$k(t2, "string"); + return "symbol" == _typeof$m(i) ? i : i + ""; +} +__name(_toPropertyKey$k, "_toPropertyKey$k"); +function _toPrimitive$k(t2, r) { + if ("object" != _typeof$m(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$m(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$k, "_toPrimitive$k"); +var BadgeDirective = BaseBadgeDirective.extend("badge", { + mounted: /* @__PURE__ */ __name(function mounted4(el, binding) { + console.warn("Deprecated since v4. Use OverlayBadge component instead."); + var id4 = UniqueComponentId() + "_badge"; + var badge = createElement("span", _defineProperty$k(_defineProperty$k({ + id: id4, + "class": !this.isUnstyled() && this.cx("root") + }, this.$attrSelector, ""), "p-bind", this.ptm("root", { + context: _objectSpread$j(_objectSpread$j({}, binding.modifiers), {}, { + nogutter: String(binding.value).length === 1, + dot: binding.value == null + }) + }))); + el.$_pbadgeId = badge.getAttribute("id"); + for (var modifier in binding.modifiers) { + !this.isUnstyled() && addClass(badge, "p-badge-" + modifier); + } + if (binding.value != null) { + if (_typeof$m(binding.value) === "object") el.$_badgeValue = binding.value.value; + else el.$_badgeValue = binding.value; + badge.appendChild(document.createTextNode(el.$_badgeValue)); + if (String(el.$_badgeValue).length === 1 && !this.isUnstyled()) { + !this.isUnstyled() && addClass(badge, "p-badge-circle"); + } + } else { + !this.isUnstyled() && addClass(badge, "p-badge-dot"); + } + el.setAttribute("data-pd-badge", true); + !this.isUnstyled() && addClass(el, "p-overlay-badge"); + el.setAttribute("data-p-overlay-badge", "true"); + el.appendChild(badge); + this.$el = badge; + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated2(el, binding) { + !this.isUnstyled() && addClass(el, "p-overlay-badge"); + el.setAttribute("data-p-overlay-badge", "true"); + if (binding.oldValue !== binding.value) { + var badge = document.getElementById(el.$_pbadgeId); + if (_typeof$m(binding.value) === "object") el.$_badgeValue = binding.value.value; + else el.$_badgeValue = binding.value; + if (!this.isUnstyled()) { + if (el.$_badgeValue) { + if (hasClass(badge, "p-badge-dot")) removeClass(badge, "p-badge-dot"); + if (el.$_badgeValue.length === 1) addClass(badge, "p-badge-circle"); + else removeClass(badge, "p-badge-circle"); + } else if (!el.$_badgeValue && !hasClass(badge, "p-badge-dot")) { + addClass(badge, "p-badge-dot"); + } + } + badge.innerHTML = ""; + badge.appendChild(document.createTextNode(el.$_badgeValue)); + } + }, "updated") +}); +var theme$A = /* @__PURE__ */ __name(function theme4(_ref) { + var dt = _ref.dt; + return "\n.p-breadcrumb {\n background: ".concat(dt("breadcrumb.background"), ";\n padding: ").concat(dt("breadcrumb.padding"), ";\n overflow-x: auto;\n}\n\n.p-breadcrumb-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: ").concat(dt("breadcrumb.gap"), ";\n}\n\n.p-breadcrumb-separator {\n display: flex;\n align-items: center;\n color: ").concat(dt("breadcrumb.separator.color"), ";\n}\n\n.p-breadcrumb-separator-icon:dir(rtl) {\n transform: rotate(180deg);\n}\n\n.p-breadcrumb::-webkit-scrollbar {\n display: none;\n}\n\n.p-breadcrumb-item-link {\n text-decoration: none;\n display: flex;\n align-items: center;\n gap: ").concat(dt("breadcrumb.item.gap"), ";\n transition: background ").concat(dt("breadcrumb.transition.duration"), ", color ").concat(dt("breadcrumb.transition.duration"), ", outline-color ").concat(dt("breadcrumb.transition.duration"), ", box-shadow ").concat(dt("breadcrumb.transition.duration"), ";\n border-radius: ").concat(dt("breadcrumb.item.border.radius"), ";\n outline-color: transparent;\n color: ").concat(dt("breadcrumb.item.color"), ";\n}\n\n.p-breadcrumb-item-link:focus-visible {\n box-shadow: ").concat(dt("breadcrumb.item.focus.ring.shadow"), ";\n outline: ").concat(dt("breadcrumb.item.focus.ring.width"), " ").concat(dt("breadcrumb.item.focus.ring.style"), " ").concat(dt("breadcrumb.item.focus.ring.color"), ";\n outline-offset: ").concat(dt("breadcrumb.item.focus.ring.offset"), ";\n}\n\n.p-breadcrumb-item-link:hover .p-breadcrumb-item-label {\n color: ").concat(dt("breadcrumb.item.hover.color"), ";\n}\n\n.p-breadcrumb-item-label {\n transition: inherit;\n}\n\n.p-breadcrumb-item-icon {\n color: ").concat(dt("breadcrumb.item.icon.color"), ";\n transition: inherit;\n}\n\n.p-breadcrumb-item-link:hover .p-breadcrumb-item-icon {\n color: ").concat(dt("breadcrumb.item.icon.hover.color"), ";\n}\n"); +}, "theme"); +var classes$E = { + root: "p-breadcrumb p-component", + list: "p-breadcrumb-list", + homeItem: "p-breadcrumb-home-item", + separator: "p-breadcrumb-separator", + separatorIcon: "p-breadcrumb-separator-icon", + item: /* @__PURE__ */ __name(function item(_ref2) { + var instance = _ref2.instance; + return ["p-breadcrumb-item", { + "p-disabled": instance.disabled() + }]; + }, "item"), + itemLink: "p-breadcrumb-item-link", + itemIcon: "p-breadcrumb-item-icon", + itemLabel: "p-breadcrumb-item-label" +}; +var BreadcrumbStyle = BaseStyle.extend({ + name: "breadcrumb", + theme: theme$A, + classes: classes$E +}); +var script$2$9 = { + name: "BaseBreadcrumb", + "extends": script$1d, + props: { + model: { + type: Array, + "default": null + }, + home: { + type: null, + "default": null + } + }, + style: BreadcrumbStyle, + provide: /* @__PURE__ */ __name(function provide9() { + return { + $pcBreadcrumb: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$G = { + name: "BreadcrumbItem", + hostName: "Breadcrumb", + "extends": script$1d, + props: { + item: null, + templates: null, + index: null + }, + methods: { + onClick: /* @__PURE__ */ __name(function onClick2(event2) { + if (this.item.command) { + this.item.command({ + originalEvent: event2, + item: this.item + }); + } + }, "onClick"), + visible: /* @__PURE__ */ __name(function visible() { + return typeof this.item.visible === "function" ? this.item.visible() : this.item.visible !== false; + }, "visible"), + disabled: /* @__PURE__ */ __name(function disabled() { + return typeof this.item.disabled === "function" ? this.item.disabled() : this.item.disabled; + }, "disabled"), + label: /* @__PURE__ */ __name(function label() { + return typeof this.item.label === "function" ? this.item.label() : this.item.label; + }, "label"), + isCurrentUrl: /* @__PURE__ */ __name(function isCurrentUrl() { + var _this$item = this.item, to = _this$item.to, url = _this$item.url; + var lastPath = typeof window !== "undefined" ? window.location.pathname : ""; + return to === lastPath || url === lastPath ? "page" : void 0; + }, "isCurrentUrl") + }, + computed: { + ptmOptions: /* @__PURE__ */ __name(function ptmOptions() { + return { + context: { + item: this.item, + index: this.index + } + }; + }, "ptmOptions"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps() { + var _this = this; + return { + action: mergeProps({ + "class": this.cx("itemLink"), + "aria-current": this.isCurrentUrl(), + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return _this.onClick($event); + }, "onClick") + }, this.ptm("itemLink", this.ptmOptions)), + icon: mergeProps({ + "class": [this.cx("icon"), this.item.icon] + }, this.ptm("icon", this.ptmOptions)), + label: mergeProps({ + "class": this.cx("label") + }, this.ptm("label", this.ptmOptions)) + }; + }, "getMenuItemProps") + } +}; +var _hoisted_1$t = ["href", "target", "aria-current"]; +function render$1$9(_ctx, _cache, $props, $setup, $data, $options) { + return $options.visible() ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + "class": [_ctx.cx("item"), $props.item["class"]] + }, _ctx.ptm("item", $options.ptmOptions)), [!$props.templates.item ? (openBlock(), createElementBlock("a", mergeProps({ + key: 0, + href: $props.item.url || "#", + "class": _ctx.cx("itemLink"), + target: $props.item.target, + "aria-current": $options.isCurrentUrl(), + onClick: _cache[0] || (_cache[0] = function() { + return $options.onClick && $options.onClick.apply($options, arguments); + }) + }, _ctx.ptm("itemLink", $options.ptmOptions)), [$props.templates && $props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), { + key: 0, + item: $props.item, + "class": normalizeClass(_ctx.cx("itemIcon", $options.ptmOptions)) + }, null, 8, ["item", "class"])) : $props.item.icon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": [_ctx.cx("itemIcon"), $props.item.icon] + }, _ctx.ptm("itemIcon", $options.ptmOptions)), null, 16)) : createCommentVNode("", true), $props.item.label ? (openBlock(), createElementBlock("span", mergeProps({ + key: 2, + "class": _ctx.cx("itemLabel") + }, _ctx.ptm("itemLabel", $options.ptmOptions)), toDisplayString($options.label()), 17)) : createCommentVNode("", true)], 16, _hoisted_1$t)) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { + key: 1, + item: $props.item, + label: $options.label(), + props: $options.getMenuItemProps + }, null, 8, ["item", "label", "props"]))], 16)) : createCommentVNode("", true); +} +__name(render$1$9, "render$1$9"); +script$1$G.render = render$1$9; +var script$14 = { + name: "Breadcrumb", + "extends": script$2$9, + inheritAttrs: false, + components: { + BreadcrumbItem: script$1$G, + ChevronRightIcon: script$1l + } +}; +function render$X(_ctx, _cache, $props, $setup, $data, $options) { + var _component_BreadcrumbItem = resolveComponent("BreadcrumbItem"); + var _component_ChevronRightIcon = resolveComponent("ChevronRightIcon"); + return openBlock(), createElementBlock("nav", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [createBaseVNode("ol", mergeProps({ + "class": _ctx.cx("list") + }, _ctx.ptm("list")), [_ctx.home ? (openBlock(), createBlock(_component_BreadcrumbItem, mergeProps({ + key: 0, + item: _ctx.home, + "class": _ctx.cx("homeItem"), + templates: _ctx.$slots, + pt: _ctx.pt, + unstyled: _ctx.unstyled + }, _ctx.ptm("homeItem")), null, 16, ["item", "class", "templates", "pt", "unstyled"])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.model, function(item8, i) { + return openBlock(), createElementBlock(Fragment, { + key: item8.label + "_" + i + }, [_ctx.home || i !== 0 ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + "class": _ctx.cx("separator"), + ref_for: true + }, _ctx.ptm("separator")), [renderSlot(_ctx.$slots, "separator", {}, function() { + return [createVNode(_component_ChevronRightIcon, mergeProps({ + "aria-hidden": "true", + "class": _ctx.cx("separatorIcon"), + ref_for: true + }, _ctx.ptm("separatorIcon")), null, 16, ["class"])]; + })], 16)) : createCommentVNode("", true), createVNode(_component_BreadcrumbItem, { + item: item8, + index: i, + templates: _ctx.$slots, + pt: _ctx.pt, + unstyled: _ctx.unstyled + }, null, 8, ["item", "index", "templates", "pt", "unstyled"])], 64); + }), 128))], 16)], 16); +} +__name(render$X, "render$X"); +script$14.render = render$X; +var script$13 = { + name: "CalendarIcon", + "extends": script$1m +}; +function render$W(_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", { + d: "M10.7838 1.51351H9.83783V0.567568C9.83783 0.417039 9.77804 0.272676 9.6716 0.166237C9.56516 0.0597971 9.42079 0 9.27027 0C9.11974 0 8.97538 0.0597971 8.86894 0.166237C8.7625 0.272676 8.7027 0.417039 8.7027 0.567568V1.51351H5.29729V0.567568C5.29729 0.417039 5.2375 0.272676 5.13106 0.166237C5.02462 0.0597971 4.88025 0 4.72973 0C4.5792 0 4.43484 0.0597971 4.3284 0.166237C4.22196 0.272676 4.16216 0.417039 4.16216 0.567568V1.51351H3.21621C2.66428 1.51351 2.13494 1.73277 1.74467 2.12305C1.35439 2.51333 1.13513 3.04266 1.13513 3.59459V11.9189C1.13513 12.4709 1.35439 13.0002 1.74467 13.3905C2.13494 13.7807 2.66428 14 3.21621 14H10.7838C11.3357 14 11.865 13.7807 12.2553 13.3905C12.6456 13.0002 12.8649 12.4709 12.8649 11.9189V3.59459C12.8649 3.04266 12.6456 2.51333 12.2553 2.12305C11.865 1.73277 11.3357 1.51351 10.7838 1.51351ZM3.21621 2.64865H4.16216V3.59459C4.16216 3.74512 4.22196 3.88949 4.3284 3.99593C4.43484 4.10237 4.5792 4.16216 4.72973 4.16216C4.88025 4.16216 5.02462 4.10237 5.13106 3.99593C5.2375 3.88949 5.29729 3.74512 5.29729 3.59459V2.64865H8.7027V3.59459C8.7027 3.74512 8.7625 3.88949 8.86894 3.99593C8.97538 4.10237 9.11974 4.16216 9.27027 4.16216C9.42079 4.16216 9.56516 4.10237 9.6716 3.99593C9.77804 3.88949 9.83783 3.74512 9.83783 3.59459V2.64865H10.7838C11.0347 2.64865 11.2753 2.74831 11.4527 2.92571C11.6301 3.10311 11.7297 3.34371 11.7297 3.59459V5.67568H2.27027V3.59459C2.27027 3.34371 2.36993 3.10311 2.54733 2.92571C2.72473 2.74831 2.96533 2.64865 3.21621 2.64865ZM10.7838 12.8649H3.21621C2.96533 12.8649 2.72473 12.7652 2.54733 12.5878C2.36993 12.4104 2.27027 12.1698 2.27027 11.9189V6.81081H11.7297V11.9189C11.7297 12.1698 11.6301 12.4104 11.4527 12.5878C11.2753 12.7652 11.0347 12.8649 10.7838 12.8649Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$W, "render$W"); +script$13.render = render$W; +var theme$z = /* @__PURE__ */ __name(function theme5(_ref) { + var dt = _ref.dt; + return "\n.p-datepicker {\n display: inline-flex;\n max-width: 100%;\n}\n\n.p-datepicker-input {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-datepicker:has(.p-datepicker-dropdown) .p-datepicker-input {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n}\n\n.p-datepicker-dropdown {\n cursor: pointer;\n display: inline-flex;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ".concat(dt("datepicker.dropdown.width"), ";\n border-start-end-radius: ").concat(dt("datepicker.dropdown.border.radius"), ";\n border-end-end-radius: ").concat(dt("datepicker.dropdown.border.radius"), ";\n background: ").concat(dt("datepicker.dropdown.background"), ";\n border: 1px solid ").concat(dt("datepicker.dropdown.border.color"), ";\n border-inline-start: 0 none;\n color: ").concat(dt("datepicker.dropdown.color"), ";\n transition: background ").concat(dt("datepicker.transition.duration"), ", color ").concat(dt("datepicker.transition.duration"), ", border-color ").concat(dt("datepicker.transition.duration"), ", outline-color ").concat(dt("datepicker.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-datepicker-dropdown:not(:disabled):hover {\n background: ").concat(dt("datepicker.dropdown.hover.background"), ";\n border-color: ").concat(dt("datepicker.dropdown.hover.border.color"), ";\n color: ").concat(dt("datepicker.dropdown.hover.color"), ";\n}\n\n.p-datepicker-dropdown:not(:disabled):active {\n background: ").concat(dt("datepicker.dropdown.active.background"), ";\n border-color: ").concat(dt("datepicker.dropdown.active.border.color"), ";\n color: ").concat(dt("datepicker.dropdown.active.color"), ";\n}\n\n.p-datepicker-dropdown:focus-visible {\n box-shadow: ").concat(dt("datepicker.dropdown.focus.ring.shadow"), ";\n outline: ").concat(dt("datepicker.dropdown.focus.ring.width"), " ").concat(dt("datepicker.dropdown.focus.ring.style"), " ").concat(dt("datepicker.dropdown.focus.ring.color"), ";\n outline-offset: ").concat(dt("datepicker.dropdown.focus.ring.offset"), ";\n}\n\n.p-datepicker:has(.p-datepicker-input-icon-container) {\n position: relative;\n}\n\n.p-datepicker:has(.p-datepicker-input-icon-container) .p-datepicker-input {\n padding-inline-end: calc((").concat(dt("form.field.padding.x"), " * 2) + ").concat(dt("icon.size"), ");\n}\n\n.p-datepicker-input-icon-container {\n cursor: pointer;\n position: absolute;\n top: 50%;\n inset-inline-end: ").concat(dt("form.field.padding.x"), ";\n margin-block-start: calc(-1 * (").concat(dt("icon.size"), " / 2));\n color: ").concat(dt("datepicker.input.icon.color"), ";\n line-height: 1;\n}\n\n.p-datepicker-fluid {\n display: flex;\n}\n\n.p-datepicker-fluid .p-datepicker-input {\n width: 1%;\n}\n\n.p-datepicker .p-datepicker-panel {\n min-width: 100%;\n}\n\n.p-datepicker-panel {\n width: auto;\n padding: ").concat(dt("datepicker.panel.padding"), ";\n background: ").concat(dt("datepicker.panel.background"), ";\n color: ").concat(dt("datepicker.panel.color"), ";\n border: 1px solid ").concat(dt("datepicker.panel.border.color"), ";\n border-radius: ").concat(dt("datepicker.panel.border.radius"), ";\n box-shadow: ").concat(dt("datepicker.panel.shadow"), ";\n}\n\n.p-datepicker-panel-inline {\n display: inline-block;\n overflow-x: auto;\n box-shadow: none;\n}\n\n.p-datepicker-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ").concat(dt("datepicker.header.padding"), ";\n background: ").concat(dt("datepicker.header.background"), ";\n color: ").concat(dt("datepicker.header.color"), ";\n border-block-end: 1px solid ").concat(dt("datepicker.header.border.color"), ";\n}\n\n.p-datepicker-next-button:dir(rtl) {\n order: -1;\n}\n\n.p-datepicker-prev-button:dir(rtl) {\n order: 1;\n}\n\n.p-datepicker-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ").concat(dt("datepicker.title.gap"), ";\n font-weight: ").concat(dt("datepicker.title.font.weight"), ";\n}\n\n.p-datepicker-select-year,\n.p-datepicker-select-month {\n border: none;\n background: transparent;\n margin: 0;\n cursor: pointer;\n font-weight: inherit;\n transition: background ").concat(dt("datepicker.transition.duration"), ", color ").concat(dt("datepicker.transition.duration"), ", border-color ").concat(dt("datepicker.transition.duration"), ", outline-color ").concat(dt("datepicker.transition.duration"), ", box-shadow ").concat(dt("datepicker.transition.duration"), ";\n}\n\n.p-datepicker-select-month {\n padding: ").concat(dt("datepicker.select.month.padding"), ";\n color: ").concat(dt("datepicker.select.month.color"), ";\n border-radius: ").concat(dt("datepicker.select.month.border.radius"), ";\n}\n\n.p-datepicker-select-year {\n padding: ").concat(dt("datepicker.select.year.padding"), ";\n color: ").concat(dt("datepicker.select.year.color"), ";\n border-radius: ").concat(dt("datepicker.select.year.border.radius"), ";\n}\n\n.p-datepicker-select-month:enabled:hover {\n background: ").concat(dt("datepicker.select.month.hover.background"), ";\n color: ").concat(dt("datepicker.select.month.hover.color"), ";\n}\n\n.p-datepicker-select-year:enabled:hover {\n background: ").concat(dt("datepicker.select.year.hover.background"), ";\n color: ").concat(dt("datepicker.select.year.hover.color"), ";\n}\n\n.p-datepicker-select-month:focus-visible,\n.p-datepicker-select-year:focus-visible {\n box-shadow: ").concat(dt("datepicker.date.focus.ring.shadow"), ";\n outline: ").concat(dt("datepicker.date.focus.ring.width"), " ").concat(dt("datepicker.date.focus.ring.style"), " ").concat(dt("datepicker.date.focus.ring.color"), ";\n outline-offset: ").concat(dt("datepicker.date.focus.ring.offset"), ";\n}\n\n.p-datepicker-calendar-container {\n display: flex;\n}\n\n.p-datepicker-calendar-container .p-datepicker-calendar {\n flex: 1 1 auto;\n border-inline-start: 1px solid ").concat(dt("datepicker.group.border.color"), ";\n padding-inline-end: ").concat(dt("datepicker.group.gap"), ";\n padding-inline-start: ").concat(dt("datepicker.group.gap"), ";\n}\n\n.p-datepicker-calendar-container .p-datepicker-calendar:first-child {\n padding-inline-start: 0;\n border-inline-start: 0 none;\n}\n\n.p-datepicker-calendar-container .p-datepicker-calendar:last-child {\n padding-inline-end: 0;\n}\n\n.p-datepicker-day-view {\n width: 100%;\n border-collapse: collapse;\n font-size: 1rem;\n margin: ").concat(dt("datepicker.day.view.margin"), ";\n}\n\n.p-datepicker-weekday-cell {\n padding: ").concat(dt("datepicker.week.day.padding"), ";\n}\n\n.p-datepicker-weekday {\n font-weight: ").concat(dt("datepicker.week.day.font.weight"), ";\n color: ").concat(dt("datepicker.week.day.color"), ";\n}\n\n.p-datepicker-day-cell {\n padding: ").concat(dt("datepicker.date.padding"), ";\n}\n\n.p-datepicker-day {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n margin: 0 auto;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("datepicker.date.width"), ";\n height: ").concat(dt("datepicker.date.height"), ";\n border-radius: ").concat(dt("datepicker.date.border.radius"), ";\n transition: background ").concat(dt("datepicker.transition.duration"), ", color ").concat(dt("datepicker.transition.duration"), ", border-color ").concat(dt("datepicker.transition.duration"), ", box-shadow ").concat(dt("datepicker.transition.duration"), ", outline-color ").concat(dt("datepicker.transition.duration"), ";\n border: 1px solid transparent;\n outline-color: transparent;\n color: ").concat(dt("datepicker.date.color"), ";\n}\n\n.p-datepicker-day:not(.p-datepicker-day-selected):not(.p-disabled):hover {\n background: ").concat(dt("datepicker.date.hover.background"), ";\n color: ").concat(dt("datepicker.date.hover.color"), ";\n}\n\n.p-datepicker-day:focus-visible {\n box-shadow: ").concat(dt("datepicker.date.focus.ring.shadow"), ";\n outline: ").concat(dt("datepicker.date.focus.ring.width"), " ").concat(dt("datepicker.date.focus.ring.style"), " ").concat(dt("datepicker.date.focus.ring.color"), ";\n outline-offset: ").concat(dt("datepicker.date.focus.ring.offset"), ";\n}\n\n.p-datepicker-day-selected {\n background: ").concat(dt("datepicker.date.selected.background"), ";\n color: ").concat(dt("datepicker.date.selected.color"), ";\n}\n\n.p-datepicker-day-selected-range {\n background: ").concat(dt("datepicker.date.range.selected.background"), ";\n color: ").concat(dt("datepicker.date.range.selected.color"), ";\n}\n\n.p-datepicker-today > .p-datepicker-day {\n background: ").concat(dt("datepicker.today.background"), ";\n color: ").concat(dt("datepicker.today.color"), ";\n}\n\n.p-datepicker-today > .p-datepicker-day-selected {\n background: ").concat(dt("datepicker.date.selected.background"), ";\n color: ").concat(dt("datepicker.date.selected.color"), ";\n}\n\n.p-datepicker-today > .p-datepicker-day-selected-range {\n background: ").concat(dt("datepicker.date.range.selected.background"), ";\n color: ").concat(dt("datepicker.date.range.selected.color"), ";\n}\n\n.p-datepicker-weeknumber {\n text-align: center;\n}\n\n.p-datepicker-month-view {\n margin: ").concat(dt("datepicker.month.view.margin"), ";\n}\n\n.p-datepicker-month {\n width: 33.3%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n padding: ").concat(dt("datepicker.month.padding"), ";\n transition: background ").concat(dt("datepicker.transition.duration"), ", color ").concat(dt("datepicker.transition.duration"), ", border-color ").concat(dt("datepicker.transition.duration"), ", box-shadow ").concat(dt("datepicker.transition.duration"), ", outline-color ").concat(dt("datepicker.transition.duration"), ";\n border-radius: ").concat(dt("datepicker.month.border.radius"), ";\n outline-color: transparent;\n color: ").concat(dt("datepicker.date.color"), ";\n}\n\n.p-datepicker-month:not(.p-disabled):not(.p-datepicker-month-selected):hover {\n color: ").concat(dt("datepicker.date.hover.color"), ";\n background: ").concat(dt("datepicker.date.hover.background"), ";\n}\n\n.p-datepicker-month-selected {\n color: ").concat(dt("datepicker.date.selected.color"), ";\n background: ").concat(dt("datepicker.date.selected.background"), ";\n}\n\n.p-datepicker-month:not(.p-disabled):focus-visible {\n box-shadow: ").concat(dt("datepicker.date.focus.ring.shadow"), ";\n outline: ").concat(dt("datepicker.date.focus.ring.width"), " ").concat(dt("datepicker.date.focus.ring.style"), " ").concat(dt("datepicker.date.focus.ring.color"), ";\n outline-offset: ").concat(dt("datepicker.date.focus.ring.offset"), ";\n}\n\n.p-datepicker-year-view {\n margin: ").concat(dt("datepicker.year.view.margin"), ";\n}\n\n.p-datepicker-year {\n width: 50%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n padding: ").concat(dt("datepicker.year.padding"), ";\n transition: background ").concat(dt("datepicker.transition.duration"), ", color ").concat(dt("datepicker.transition.duration"), ", border-color ").concat(dt("datepicker.transition.duration"), ", box-shadow ").concat(dt("datepicker.transition.duration"), ", outline-color ").concat(dt("datepicker.transition.duration"), ";\n border-radius: ").concat(dt("datepicker.year.border.radius"), ";\n outline-color: transparent;\n color: ").concat(dt("datepicker.date.color"), ";\n}\n\n.p-datepicker-year:not(.p-disabled):not(.p-datepicker-year-selected):hover {\n color: ").concat(dt("datepicker.date.hover.color"), ";\n background: ").concat(dt("datepicker.date.hover.background"), ";\n}\n\n.p-datepicker-year-selected {\n color: ").concat(dt("datepicker.date.selected.color"), ";\n background: ").concat(dt("datepicker.date.selected.background"), ";\n}\n\n.p-datepicker-year:not(.p-disabled):focus-visible {\n box-shadow: ").concat(dt("datepicker.date.focus.ring.shadow"), ";\n outline: ").concat(dt("datepicker.date.focus.ring.width"), " ").concat(dt("datepicker.date.focus.ring.style"), " ").concat(dt("datepicker.date.focus.ring.color"), ";\n outline-offset: ").concat(dt("datepicker.date.focus.ring.offset"), ";\n}\n\n.p-datepicker-buttonbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ").concat(dt("datepicker.buttonbar.padding"), ";\n border-block-start: 1px solid ").concat(dt("datepicker.buttonbar.border.color"), ";\n}\n\n.p-datepicker-buttonbar .p-button {\n width: auto;\n}\n\n.p-datepicker-time-picker {\n display: flex;\n justify-content: center;\n align-items: center;\n border-block-start: 1px solid ").concat(dt("datepicker.time.picker.border.color"), ";\n padding: 0;\n gap: ").concat(dt("datepicker.time.picker.gap"), ";\n}\n\n.p-datepicker-calendar-container + .p-datepicker-time-picker {\n padding: ").concat(dt("datepicker.time.picker.padding"), ";\n}\n\n.p-datepicker-time-picker > div {\n display: flex;\n align-items: center;\n flex-direction: column;\n gap: ").concat(dt("datepicker.time.picker.button.gap"), ";\n}\n\n.p-datepicker-time-picker span {\n font-size: 1rem;\n}\n\n.p-datepicker-timeonly .p-datepicker-time-picker {\n border-block-start: 0 none;\n}\n\n.p-datepicker:has(.p-inputtext-sm) .p-datepicker-dropdown {\n width: ").concat(dt("datepicker.dropdown.sm.width"), ";\n}\n\n.p-datepicker:has(.p-inputtext-sm) .p-datepicker-dropdown .p-icon,\n.p-datepicker:has(.p-inputtext-sm) .p-datepicker-input-icon {\n font-size: ").concat(dt("form.field.sm.font.size"), ";\n width: ").concat(dt("form.field.sm.font.size"), ";\n height: ").concat(dt("form.field.sm.font.size"), ";\n}\n\n.p-datepicker:has(.p-inputtext-lg) .p-datepicker-dropdown {\n width: ").concat(dt("datepicker.dropdown.lg.width"), ";\n}\n\n.p-datepicker:has(.p-inputtext-lg) .p-datepicker-dropdown .p-icon,\n.p-datepicker:has(.p-inputtext-lg) .p-datepicker-input-icon {\n font-size: ").concat(dt("form.field.lg.font.size"), ";\n width: ").concat(dt("form.field.lg.font.size"), ";\n height: ").concat(dt("form.field.lg.font.size"), ";\n}\n"); +}, "theme"); +var inlineStyles$8 = { + root: /* @__PURE__ */ __name(function root4(_ref2) { + var props = _ref2.props; + return { + position: props.appendTo === "self" ? "relative" : void 0 + }; + }, "root") +}; +var classes$D = { + root: /* @__PURE__ */ __name(function root5(_ref3) { + var instance = _ref3.instance, state = _ref3.state; + return ["p-datepicker p-component p-inputwrapper", { + "p-invalid": instance.$invalid, + "p-inputwrapper-filled": instance.$filled, + "p-inputwrapper-focus": state.focused || state.overlayVisible, + "p-focus": state.focused || state.overlayVisible, + "p-datepicker-fluid": instance.$fluid + }]; + }, "root"), + pcInputText: "p-datepicker-input", + dropdown: "p-datepicker-dropdown", + inputIconContainer: "p-datepicker-input-icon-container", + inputIcon: "p-datepicker-input-icon", + panel: /* @__PURE__ */ __name(function panel(_ref4) { + var props = _ref4.props; + return ["p-datepicker-panel p-component", { + "p-datepicker-panel-inline": props.inline, + "p-disabled": props.disabled, + "p-datepicker-timeonly": props.timeOnly + }]; + }, "panel"), + calendarContainer: "p-datepicker-calendar-container", + calendar: "p-datepicker-calendar", + header: "p-datepicker-header", + pcPrevButton: "p-datepicker-prev-button", + title: "p-datepicker-title", + selectMonth: "p-datepicker-select-month", + selectYear: "p-datepicker-select-year", + decade: "p-datepicker-decade", + pcNextButton: "p-datepicker-next-button", + dayView: "p-datepicker-day-view", + weekHeader: "p-datepicker-weekheader p-disabled", + weekNumber: "p-datepicker-weeknumber", + weekLabelContainer: "p-datepicker-weeklabel-container p-disabled", + weekDayCell: "p-datepicker-weekday-cell", + weekDay: "p-datepicker-weekday", + dayCell: /* @__PURE__ */ __name(function dayCell(_ref5) { + var date = _ref5.date; + return ["p-datepicker-day-cell", { + "p-datepicker-other-month": date.otherMonth, + "p-datepicker-today": date.today + }]; + }, "dayCell"), + day: /* @__PURE__ */ __name(function day(_ref6) { + var instance = _ref6.instance, props = _ref6.props, date = _ref6.date; + var selectedDayClass = ""; + if (instance.isRangeSelection() && instance.isSelected(date) && date.selectable) { + selectedDayClass = instance.isDateEquals(props.modelValue[0], date) || instance.isDateEquals(props.modelValue[1], date) ? "p-datepicker-day-selected" : "p-datepicker-day-selected-range"; + } + return ["p-datepicker-day", { + "p-datepicker-day-selected": !instance.isRangeSelection() && instance.isSelected(date) && date.selectable, + "p-disabled": props.disabled || !date.selectable + }, selectedDayClass]; + }, "day"), + monthView: "p-datepicker-month-view", + month: /* @__PURE__ */ __name(function month(_ref7) { + var instance = _ref7.instance, props = _ref7.props, _month = _ref7.month, index = _ref7.index; + return ["p-datepicker-month", { + "p-datepicker-month-selected": instance.isMonthSelected(index), + "p-disabled": props.disabled || !_month.selectable + }]; + }, "month"), + yearView: "p-datepicker-year-view", + year: /* @__PURE__ */ __name(function year(_ref8) { + var instance = _ref8.instance, props = _ref8.props, _year = _ref8.year; + return ["p-datepicker-year", { + "p-datepicker-year-selected": instance.isYearSelected(_year.value), + "p-disabled": props.disabled || !_year.selectable + }]; + }, "year"), + timePicker: "p-datepicker-time-picker", + hourPicker: "p-datepicker-hour-picker", + pcIncrementButton: "p-datepicker-increment-button", + pcDecrementButton: "p-datepicker-decrement-button", + separator: "p-datepicker-separator", + minutePicker: "p-datepicker-minute-picker", + secondPicker: "p-datepicker-second-picker", + ampmPicker: "p-datepicker-ampm-picker", + buttonbar: "p-datepicker-buttonbar", + pcTodayButton: "p-datepicker-today-button", + pcClearButton: "p-datepicker-clear-button" +}; +var DatePickerStyle = BaseStyle.extend({ + name: "datepicker", + theme: theme$z, + classes: classes$D, + inlineStyles: inlineStyles$8 +}); +var script$1$F = { + name: "BaseDatePicker", + "extends": script$1n, + props: { + selectionMode: { + type: String, + "default": "single" + }, + dateFormat: { + type: String, + "default": null + }, + inline: { + type: Boolean, + "default": false + }, + showOtherMonths: { + type: Boolean, + "default": true + }, + selectOtherMonths: { + type: Boolean, + "default": false + }, + showIcon: { + type: Boolean, + "default": false + }, + iconDisplay: { + type: String, + "default": "button" + }, + icon: { + type: String, + "default": void 0 + }, + prevIcon: { + type: String, + "default": void 0 + }, + nextIcon: { + type: String, + "default": void 0 + }, + incrementIcon: { + type: String, + "default": void 0 + }, + decrementIcon: { + type: String, + "default": void 0 + }, + numberOfMonths: { + type: Number, + "default": 1 + }, + responsiveOptions: Array, + breakpoint: { + type: String, + "default": "769px" + }, + view: { + type: String, + "default": "date" + }, + minDate: { + type: Date, + value: null + }, + maxDate: { + type: Date, + value: null + }, + disabledDates: { + type: Array, + value: null + }, + disabledDays: { + type: Array, + value: null + }, + maxDateCount: { + type: Number, + value: null + }, + showOnFocus: { + type: Boolean, + "default": true + }, + autoZIndex: { + type: Boolean, + "default": true + }, + baseZIndex: { + type: Number, + "default": 0 + }, + showButtonBar: { + type: Boolean, + "default": false + }, + shortYearCutoff: { + type: String, + "default": "+10" + }, + showTime: { + type: Boolean, + "default": false + }, + timeOnly: { + type: Boolean, + "default": false + }, + hourFormat: { + type: String, + "default": "24" + }, + stepHour: { + type: Number, + "default": 1 + }, + stepMinute: { + type: Number, + "default": 1 + }, + stepSecond: { + type: Number, + "default": 1 + }, + showSeconds: { + type: Boolean, + "default": false + }, + hideOnDateTimeSelect: { + type: Boolean, + "default": false + }, + hideOnRangeSelection: { + type: Boolean, + "default": false + }, + timeSeparator: { + type: String, + "default": ":" + }, + showWeek: { + type: Boolean, + "default": false + }, + manualInput: { + type: Boolean, + "default": true + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + readonly: { + type: Boolean, + "default": false + }, + placeholder: { + type: String, + "default": null + }, + id: { + type: String, + "default": null + }, + inputId: { + type: String, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + panelClass: { + type: [String, Object], + "default": null + }, + panelStyle: { + type: Object, + "default": null + }, + todayButtonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default3() { + return { + severity: "secondary", + text: true, + size: "small" + }; + }, "_default") + }, + clearButtonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default4() { + return { + severity: "secondary", + text: true, + size: "small" + }; + }, "_default") + }, + navigatorButtonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default5() { + return { + severity: "secondary", + text: true, + rounded: true + }; + }, "_default") + }, + timepickerButtonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default6() { + return { + severity: "secondary", + text: true, + rounded: true + }; + }, "_default") + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: DatePickerStyle, + provide: /* @__PURE__ */ __name(function provide10() { + return { + $pcDatePicker: this, + $parentInstance: this + }; + }, "provide") +}; +function _typeof$l(o) { + "@babel/helpers - typeof"; + return _typeof$l = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$l(o); +} +__name(_typeof$l, "_typeof$l"); +function _toConsumableArray$d(r) { + return _arrayWithoutHoles$d(r) || _iterableToArray$d(r) || _unsupportedIterableToArray$e(r) || _nonIterableSpread$d(); +} +__name(_toConsumableArray$d, "_toConsumableArray$d"); +function _nonIterableSpread$d() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$d, "_nonIterableSpread$d"); +function _iterableToArray$d(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$d, "_iterableToArray$d"); +function _arrayWithoutHoles$d(r) { + if (Array.isArray(r)) return _arrayLikeToArray$e(r); +} +__name(_arrayWithoutHoles$d, "_arrayWithoutHoles$d"); +function _createForOfIteratorHelper$4(r, e) { + var t2 = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t2) { + if (Array.isArray(r) || (t2 = _unsupportedIterableToArray$e(r)) || e) { + t2 && (r = t2); + var _n = 0, F = /* @__PURE__ */ __name(function F2() { + }, "F"); + return { s: F, n: /* @__PURE__ */ __name(function n() { + return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + throw r2; + }, "e"), f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, a = true, u = false; + return { s: /* @__PURE__ */ __name(function s() { + t2 = t2.call(r); + }, "s"), n: /* @__PURE__ */ __name(function n() { + var r2 = t2.next(); + return a = r2.done, r2; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + u = true, o = r2; + }, "e"), f: /* @__PURE__ */ __name(function f() { + try { + a || null == t2["return"] || t2["return"](); + } finally { + if (u) throw o; + } + }, "f") }; +} +__name(_createForOfIteratorHelper$4, "_createForOfIteratorHelper$4"); +function _unsupportedIterableToArray$e(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$e(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$e(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$e, "_unsupportedIterableToArray$e"); +function _arrayLikeToArray$e(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$e, "_arrayLikeToArray$e"); +var script$12 = { + name: "DatePicker", + "extends": script$1$F, + inheritAttrs: false, + emits: ["show", "hide", "input", "month-change", "year-change", "date-select", "today-click", "clear-click", "focus", "blur", "keydown"], + inject: { + $pcFluid: { + "default": null + } + }, + navigationState: null, + timePickerChange: false, + scrollHandler: null, + outsideClickListener: null, + resizeListener: null, + matchMediaListener: null, + overlay: null, + input: null, + previousButton: null, + nextButton: null, + timePickerTimer: null, + preventFocus: false, + typeUpdate: false, + data: /* @__PURE__ */ __name(function data3() { + return { + d_id: this.id, + currentMonth: null, + currentYear: null, + currentHour: null, + currentMinute: null, + currentSecond: null, + pm: null, + focused: false, + overlayVisible: false, + currentView: this.view, + query: null, + queryMatches: false + }; + }, "data"), + watch: { + id: /* @__PURE__ */ __name(function id3(newValue) { + this.d_id = newValue || UniqueComponentId(); + }, "id"), + modelValue: /* @__PURE__ */ __name(function modelValue(newValue) { + this.updateCurrentMetaData(); + if (!this.typeUpdate && !this.inline && this.input) { + this.input.value = this.inputFieldValue; + } + this.typeUpdate = false; + }, "modelValue"), + showTime: /* @__PURE__ */ __name(function showTime() { + this.updateCurrentMetaData(); + }, "showTime"), + minDate: /* @__PURE__ */ __name(function minDate() { + this.updateCurrentMetaData(); + }, "minDate"), + maxDate: /* @__PURE__ */ __name(function maxDate() { + this.updateCurrentMetaData(); + }, "maxDate"), + months: /* @__PURE__ */ __name(function months() { + if (this.overlay) { + if (!this.focused) { + if (this.inline) { + this.preventFocus = true; + } + setTimeout(this.updateFocus, 0); + } + } + }, "months"), + numberOfMonths: /* @__PURE__ */ __name(function numberOfMonths() { + this.destroyResponsiveStyleElement(); + this.createResponsiveStyle(); + }, "numberOfMonths"), + responsiveOptions: /* @__PURE__ */ __name(function responsiveOptions() { + this.destroyResponsiveStyleElement(); + this.createResponsiveStyle(); + }, "responsiveOptions"), + currentView: /* @__PURE__ */ __name(function currentView() { + var _this = this; + Promise.resolve(null).then(function() { + return _this.alignOverlay(); + }); + }, "currentView"), + view: /* @__PURE__ */ __name(function view(newValue) { + this.currentView = newValue; + }, "view") + }, + created: /* @__PURE__ */ __name(function created2() { + this.updateCurrentMetaData(); + }, "created"), + mounted: /* @__PURE__ */ __name(function mounted5() { + this.d_id = this.d_id || UniqueComponentId(); + this.createResponsiveStyle(); + this.bindMatchMediaListener(); + if (this.inline) { + if (!this.disabled) { + this.preventFocus = true; + this.initFocusableCell(); + } + } else { + this.input.value = this.inputFieldValue; + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated3() { + if (this.overlay) { + this.preventFocus = true; + setTimeout(this.updateFocus, 0); + } + if (this.input && this.selectionStart != null && this.selectionEnd != null) { + this.input.selectionStart = this.selectionStart; + this.input.selectionEnd = this.selectionEnd; + this.selectionStart = null; + this.selectionEnd = null; + } + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { + if (this.timePickerTimer) { + clearTimeout(this.timePickerTimer); + } + this.destroyResponsiveStyleElement(); + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + this.unbindMatchMediaListener(); + if (this.scrollHandler) { + this.scrollHandler.destroy(); + this.scrollHandler = null; + } + if (this.overlay && this.autoZIndex) { + ZIndex.clear(this.overlay); + } + this.overlay = null; + }, "beforeUnmount"), + methods: { + isComparable: /* @__PURE__ */ __name(function isComparable() { + return this.d_value != null && typeof this.d_value !== "string"; + }, "isComparable"), + isSelected: /* @__PURE__ */ __name(function isSelected(dateMeta) { + if (!this.isComparable()) { + return false; + } + if (this.d_value) { + if (this.isSingleSelection()) { + return this.isDateEquals(this.d_value, dateMeta); + } else if (this.isMultipleSelection()) { + var selected3 = false; + var _iterator = _createForOfIteratorHelper$4(this.d_value), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var date = _step.value; + selected3 = this.isDateEquals(date, dateMeta); + if (selected3) { + break; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return selected3; + } else if (this.isRangeSelection()) { + if (this.d_value[1]) return this.isDateEquals(this.d_value[0], dateMeta) || this.isDateEquals(this.d_value[1], dateMeta) || this.isDateBetween(this.d_value[0], this.d_value[1], dateMeta); + else { + return this.isDateEquals(this.d_value[0], dateMeta); + } + } + } + return false; + }, "isSelected"), + isMonthSelected: /* @__PURE__ */ __name(function isMonthSelected(month2) { + var _this2 = this; + if (!this.isComparable()) return false; + if (this.isMultipleSelection()) { + return this.d_value.some(function(currentValue) { + return currentValue.getMonth() === month2 && currentValue.getFullYear() === _this2.currentYear; + }); + } else if (this.isRangeSelection()) { + if (!this.d_value[1]) { + var _this$d_value$, _this$d_value$2; + return ((_this$d_value$ = this.d_value[0]) === null || _this$d_value$ === void 0 ? void 0 : _this$d_value$.getFullYear()) === this.currentYear && ((_this$d_value$2 = this.d_value[0]) === null || _this$d_value$2 === void 0 ? void 0 : _this$d_value$2.getMonth()) === month2; + } else { + var currentDate = new Date(this.currentYear, month2, 1); + var startDate = new Date(this.d_value[0].getFullYear(), this.d_value[0].getMonth(), 1); + var endDate = new Date(this.d_value[1].getFullYear(), this.d_value[1].getMonth(), 1); + return currentDate >= startDate && currentDate <= endDate; + } + } else { + return this.d_value.getMonth() === month2 && this.d_value.getFullYear() === this.currentYear; + } + }, "isMonthSelected"), + isYearSelected: /* @__PURE__ */ __name(function isYearSelected(year2) { + if (!this.isComparable()) return false; + if (this.isMultipleSelection()) { + return this.d_value.some(function(currentValue) { + return currentValue.getFullYear() === year2; + }); + } else if (this.isRangeSelection()) { + var start = this.d_value[0] ? this.d_value[0].getFullYear() : null; + var end = this.d_value[1] ? this.d_value[1].getFullYear() : null; + return start === year2 || end === year2 || start < year2 && end > year2; + } else { + return this.d_value.getFullYear() === year2; + } + }, "isYearSelected"), + isDateEquals: /* @__PURE__ */ __name(function isDateEquals(value2, dateMeta) { + if (value2) return value2.getDate() === dateMeta.day && value2.getMonth() === dateMeta.month && value2.getFullYear() === dateMeta.year; + else return false; + }, "isDateEquals"), + isDateBetween: /* @__PURE__ */ __name(function isDateBetween(start, end, dateMeta) { + var between = false; + if (start && end) { + var date = new Date(dateMeta.year, dateMeta.month, dateMeta.day); + return start.getTime() <= date.getTime() && end.getTime() >= date.getTime(); + } + return between; + }, "isDateBetween"), + getFirstDayOfMonthIndex: /* @__PURE__ */ __name(function getFirstDayOfMonthIndex(month2, year2) { + var day2 = /* @__PURE__ */ new Date(); + day2.setDate(1); + day2.setMonth(month2); + day2.setFullYear(year2); + var dayIndex = day2.getDay() + this.sundayIndex; + return dayIndex >= 7 ? dayIndex - 7 : dayIndex; + }, "getFirstDayOfMonthIndex"), + getDaysCountInMonth: /* @__PURE__ */ __name(function getDaysCountInMonth(month2, year2) { + return 32 - this.daylightSavingAdjust(new Date(year2, month2, 32)).getDate(); + }, "getDaysCountInMonth"), + getDaysCountInPrevMonth: /* @__PURE__ */ __name(function getDaysCountInPrevMonth(month2, year2) { + var prev = this.getPreviousMonthAndYear(month2, year2); + return this.getDaysCountInMonth(prev.month, prev.year); + }, "getDaysCountInPrevMonth"), + getPreviousMonthAndYear: /* @__PURE__ */ __name(function getPreviousMonthAndYear(month2, year2) { + var m, y; + if (month2 === 0) { + m = 11; + y = year2 - 1; + } else { + m = month2 - 1; + y = year2; + } + return { + month: m, + year: y + }; + }, "getPreviousMonthAndYear"), + getNextMonthAndYear: /* @__PURE__ */ __name(function getNextMonthAndYear(month2, year2) { + var m, y; + if (month2 === 11) { + m = 0; + y = year2 + 1; + } else { + m = month2 + 1; + y = year2; + } + return { + month: m, + year: y + }; + }, "getNextMonthAndYear"), + daylightSavingAdjust: /* @__PURE__ */ __name(function daylightSavingAdjust(date) { + if (!date) { + return null; + } + date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0); + return date; + }, "daylightSavingAdjust"), + isToday: /* @__PURE__ */ __name(function isToday(today, day2, month2, year2) { + return today.getDate() === day2 && today.getMonth() === month2 && today.getFullYear() === year2; + }, "isToday"), + isSelectable: /* @__PURE__ */ __name(function isSelectable(day2, month2, year2, otherMonth) { + var validMin = true; + var validMax = true; + var validDate = true; + var validDay = true; + if (otherMonth && !this.selectOtherMonths) { + return false; + } + if (this.minDate) { + if (this.minDate.getFullYear() > year2) { + validMin = false; + } else if (this.minDate.getFullYear() === year2) { + if (this.minDate.getMonth() > month2) { + validMin = false; + } else if (this.minDate.getMonth() === month2) { + if (this.minDate.getDate() > day2) { + validMin = false; + } + } + } + } + if (this.maxDate) { + if (this.maxDate.getFullYear() < year2) { + validMax = false; + } else if (this.maxDate.getFullYear() === year2) { + if (this.maxDate.getMonth() < month2) { + validMax = false; + } else if (this.maxDate.getMonth() === month2) { + if (this.maxDate.getDate() < day2) { + validMax = false; + } + } + } + } + if (this.disabledDates) { + validDate = !this.isDateDisabled(day2, month2, year2); + } + if (this.disabledDays) { + validDay = !this.isDayDisabled(day2, month2, year2); + } + return validMin && validMax && validDate && validDay; + }, "isSelectable"), + onOverlayEnter: /* @__PURE__ */ __name(function onOverlayEnter(el) { + var styles = !this.inline ? { + position: "absolute", + top: "0", + left: "0" + } : void 0; + addStyle(el, styles); + if (this.autoZIndex) { + ZIndex.set("overlay", el, this.baseZIndex || this.$primevue.config.zIndex.overlay); + } + this.alignOverlay(); + this.$emit("show"); + }, "onOverlayEnter"), + onOverlayEnterComplete: /* @__PURE__ */ __name(function onOverlayEnterComplete() { + this.bindOutsideClickListener(); + this.bindScrollListener(); + this.bindResizeListener(); + }, "onOverlayEnterComplete"), + onOverlayAfterLeave: /* @__PURE__ */ __name(function onOverlayAfterLeave(el) { + if (this.autoZIndex) { + ZIndex.clear(el); + } + }, "onOverlayAfterLeave"), + onOverlayLeave: /* @__PURE__ */ __name(function onOverlayLeave() { + this.currentView = this.view; + this.unbindOutsideClickListener(); + this.unbindScrollListener(); + this.unbindResizeListener(); + this.$emit("hide"); + this.overlay = null; + }, "onOverlayLeave"), + onPrevButtonClick: /* @__PURE__ */ __name(function onPrevButtonClick(event2) { + this.navigationState = { + backward: true, + button: true + }; + this.navBackward(event2); + }, "onPrevButtonClick"), + onNextButtonClick: /* @__PURE__ */ __name(function onNextButtonClick(event2) { + this.navigationState = { + backward: false, + button: true + }; + this.navForward(event2); + }, "onNextButtonClick"), + navBackward: /* @__PURE__ */ __name(function navBackward(event2) { + event2.preventDefault(); + if (!this.isEnabled()) { + return; + } + if (this.currentView === "month") { + this.decrementYear(); + this.$emit("year-change", { + month: this.currentMonth, + year: this.currentYear + }); + } else if (this.currentView === "year") { + this.decrementDecade(); + } else { + if (event2.shiftKey) { + this.decrementYear(); + } else { + if (this.currentMonth === 0) { + this.currentMonth = 11; + this.decrementYear(); + } else { + this.currentMonth--; + } + this.$emit("month-change", { + month: this.currentMonth + 1, + year: this.currentYear + }); + } + } + }, "navBackward"), + navForward: /* @__PURE__ */ __name(function navForward(event2) { + event2.preventDefault(); + if (!this.isEnabled()) { + return; + } + if (this.currentView === "month") { + this.incrementYear(); + this.$emit("year-change", { + month: this.currentMonth, + year: this.currentYear + }); + } else if (this.currentView === "year") { + this.incrementDecade(); + } else { + if (event2.shiftKey) { + this.incrementYear(); + } else { + if (this.currentMonth === 11) { + this.currentMonth = 0; + this.incrementYear(); + } else { + this.currentMonth++; + } + this.$emit("month-change", { + month: this.currentMonth + 1, + year: this.currentYear + }); + } + } + }, "navForward"), + decrementYear: /* @__PURE__ */ __name(function decrementYear() { + this.currentYear--; + }, "decrementYear"), + decrementDecade: /* @__PURE__ */ __name(function decrementDecade() { + this.currentYear = this.currentYear - 10; + }, "decrementDecade"), + incrementYear: /* @__PURE__ */ __name(function incrementYear() { + this.currentYear++; + }, "incrementYear"), + incrementDecade: /* @__PURE__ */ __name(function incrementDecade() { + this.currentYear = this.currentYear + 10; + }, "incrementDecade"), + switchToMonthView: /* @__PURE__ */ __name(function switchToMonthView(event2) { + this.currentView = "month"; + setTimeout(this.updateFocus, 0); + event2.preventDefault(); + }, "switchToMonthView"), + switchToYearView: /* @__PURE__ */ __name(function switchToYearView(event2) { + this.currentView = "year"; + setTimeout(this.updateFocus, 0); + event2.preventDefault(); + }, "switchToYearView"), + isEnabled: /* @__PURE__ */ __name(function isEnabled() { + return !this.disabled && !this.readonly; + }, "isEnabled"), + updateCurrentTimeMeta: /* @__PURE__ */ __name(function updateCurrentTimeMeta(date) { + var currentHour = date.getHours(); + if (this.hourFormat === "12") { + this.pm = currentHour > 11; + if (currentHour >= 12) currentHour = currentHour == 12 ? 12 : currentHour - 12; + } + this.currentHour = Math.floor(currentHour / this.stepHour) * this.stepHour; + this.currentMinute = Math.floor(date.getMinutes() / this.stepMinute) * this.stepMinute; + this.currentSecond = Math.floor(date.getSeconds() / this.stepSecond) * this.stepSecond; + }, "updateCurrentTimeMeta"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener2() { + var _this3 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event2) { + if (_this3.overlayVisible && _this3.isOutsideClicked(event2)) { + _this3.overlayVisible = false; + } + }; + document.addEventListener("mousedown", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener2() { + if (this.outsideClickListener) { + document.removeEventListener("mousedown", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener() { + var _this4 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function() { + if (_this4.overlayVisible) { + _this4.overlayVisible = false; + } + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener() { + var _this5 = this; + if (!this.resizeListener) { + this.resizeListener = function() { + if (_this5.overlayVisible && !isTouchDevice()) { + _this5.overlayVisible = false; + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + bindMatchMediaListener: /* @__PURE__ */ __name(function bindMatchMediaListener() { + var _this6 = this; + if (!this.matchMediaListener) { + var query = matchMedia("(max-width: ".concat(this.breakpoint, ")")); + this.query = query; + this.queryMatches = query.matches; + this.matchMediaListener = function() { + _this6.queryMatches = query.matches; + _this6.mobileActive = false; + }; + this.query.addEventListener("change", this.matchMediaListener); + } + }, "bindMatchMediaListener"), + unbindMatchMediaListener: /* @__PURE__ */ __name(function unbindMatchMediaListener() { + if (this.matchMediaListener) { + this.query.removeEventListener("change", this.matchMediaListener); + this.matchMediaListener = null; + } + }, "unbindMatchMediaListener"), + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked2(event2) { + return !(this.$el.isSameNode(event2.target) || this.isNavIconClicked(event2) || this.$el.contains(event2.target) || this.overlay && this.overlay.contains(event2.target)); + }, "isOutsideClicked"), + isNavIconClicked: /* @__PURE__ */ __name(function isNavIconClicked(event2) { + return this.previousButton && (this.previousButton.isSameNode(event2.target) || this.previousButton.contains(event2.target)) || this.nextButton && (this.nextButton.isSameNode(event2.target) || this.nextButton.contains(event2.target)); + }, "isNavIconClicked"), + alignOverlay: /* @__PURE__ */ __name(function alignOverlay() { + if (this.overlay) { + if (this.appendTo === "self" || this.inline) { + relativePosition(this.overlay, this.$el); + } else { + if (this.view === "date") { + this.overlay.style.width = getOuterWidth(this.overlay) + "px"; + this.overlay.style.minWidth = getOuterWidth(this.$el) + "px"; + } else { + this.overlay.style.width = getOuterWidth(this.$el) + "px"; + } + absolutePosition(this.overlay, this.$el); + } + } + }, "alignOverlay"), + onButtonClick: /* @__PURE__ */ __name(function onButtonClick() { + if (this.isEnabled()) { + if (!this.overlayVisible) { + this.input.focus(); + this.overlayVisible = true; + } else { + this.overlayVisible = false; + } + } + }, "onButtonClick"), + isDateDisabled: /* @__PURE__ */ __name(function isDateDisabled(day2, month2, year2) { + if (this.disabledDates) { + var _iterator2 = _createForOfIteratorHelper$4(this.disabledDates), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var disabledDate = _step2.value; + if (disabledDate.getFullYear() === year2 && disabledDate.getMonth() === month2 && disabledDate.getDate() === day2) { + return true; + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + return false; + }, "isDateDisabled"), + isDayDisabled: /* @__PURE__ */ __name(function isDayDisabled(day2, month2, year2) { + if (this.disabledDays) { + var weekday = new Date(year2, month2, day2); + var weekdayNumber = weekday.getDay(); + return this.disabledDays.indexOf(weekdayNumber) !== -1; + } + return false; + }, "isDayDisabled"), + onMonthDropdownChange: /* @__PURE__ */ __name(function onMonthDropdownChange(value2) { + this.currentMonth = parseInt(value2); + this.$emit("month-change", { + month: this.currentMonth + 1, + year: this.currentYear + }); + }, "onMonthDropdownChange"), + onYearDropdownChange: /* @__PURE__ */ __name(function onYearDropdownChange(value2) { + this.currentYear = parseInt(value2); + this.$emit("year-change", { + month: this.currentMonth + 1, + year: this.currentYear + }); + }, "onYearDropdownChange"), + onDateSelect: /* @__PURE__ */ __name(function onDateSelect(event2, dateMeta) { + var _this7 = this; + if (this.disabled || !dateMeta.selectable) { + return; + } + find(this.overlay, 'table td span:not([data-p-disabled="true"])').forEach(function(cell) { + return cell.tabIndex = -1; + }); + if (event2) { + event2.currentTarget.focus(); + } + if (this.isMultipleSelection() && this.isSelected(dateMeta)) { + var newValue = this.d_value.filter(function(date) { + return !_this7.isDateEquals(date, dateMeta); + }); + this.updateModel(newValue); + } else { + if (this.shouldSelectDate(dateMeta)) { + if (dateMeta.otherMonth) { + this.currentMonth = dateMeta.month; + this.currentYear = dateMeta.year; + this.selectDate(dateMeta); + } else { + this.selectDate(dateMeta); + } + } + } + if (this.isSingleSelection() && (!this.showTime || this.hideOnDateTimeSelect)) { + if (this.input) { + this.input.focus(); + } + setTimeout(function() { + _this7.overlayVisible = false; + }, 150); + } + }, "onDateSelect"), + selectDate: /* @__PURE__ */ __name(function selectDate(dateMeta) { + var _this8 = this; + var date = new Date(dateMeta.year, dateMeta.month, dateMeta.day); + if (this.showTime) { + this.hourFormat === "12" && this.currentHour !== 12 && this.pm ? date.setHours(this.currentHour + 12) : date.setHours(this.currentHour); + date.setMinutes(this.currentMinute); + date.setSeconds(this.currentSecond); + } + if (this.minDate && this.minDate > date) { + date = this.minDate; + this.currentHour = date.getHours(); + this.currentMinute = date.getMinutes(); + this.currentSecond = date.getSeconds(); + } + if (this.maxDate && this.maxDate < date) { + date = this.maxDate; + this.currentHour = date.getHours(); + this.currentMinute = date.getMinutes(); + this.currentSecond = date.getSeconds(); + } + var modelVal = null; + if (this.isSingleSelection()) { + modelVal = date; + } else if (this.isMultipleSelection()) { + modelVal = this.d_value ? [].concat(_toConsumableArray$d(this.d_value), [date]) : [date]; + } else if (this.isRangeSelection()) { + if (this.d_value && this.d_value.length) { + var startDate = this.d_value[0]; + var endDate = this.d_value[1]; + if (!endDate && date.getTime() >= startDate.getTime()) { + endDate = date; + } else { + startDate = date; + endDate = null; + } + modelVal = [startDate, endDate]; + } else { + modelVal = [date, null]; + } + } + if (modelVal !== null) { + this.updateModel(modelVal); + } + if (this.isRangeSelection() && this.hideOnRangeSelection && modelVal[1] !== null) { + setTimeout(function() { + _this8.overlayVisible = false; + }, 150); + } + this.$emit("date-select", date); + }, "selectDate"), + updateModel: /* @__PURE__ */ __name(function updateModel(value2) { + this.writeValue(value2); + }, "updateModel"), + shouldSelectDate: /* @__PURE__ */ __name(function shouldSelectDate() { + if (this.isMultipleSelection()) return this.maxDateCount != null ? this.maxDateCount > (this.d_value ? this.d_value.length : 0) : true; + else return true; + }, "shouldSelectDate"), + isSingleSelection: /* @__PURE__ */ __name(function isSingleSelection() { + return this.selectionMode === "single"; + }, "isSingleSelection"), + isRangeSelection: /* @__PURE__ */ __name(function isRangeSelection() { + return this.selectionMode === "range"; + }, "isRangeSelection"), + isMultipleSelection: /* @__PURE__ */ __name(function isMultipleSelection() { + return this.selectionMode === "multiple"; + }, "isMultipleSelection"), + formatValue: /* @__PURE__ */ __name(function formatValue(value2) { + if (typeof value2 === "string") { + return this.dateFormat ? this.formatDate(new Date(value2), this.dateFormat) : value2; + } + var formattedValue = ""; + if (value2) { + try { + if (this.isSingleSelection()) { + formattedValue = this.formatDateTime(value2); + } else if (this.isMultipleSelection()) { + for (var i = 0; i < value2.length; i++) { + var dateAsString = this.formatDateTime(value2[i]); + formattedValue += dateAsString; + if (i !== value2.length - 1) { + formattedValue += ", "; + } + } + } else if (this.isRangeSelection()) { + if (value2 && value2.length) { + var startDate = value2[0]; + var endDate = value2[1]; + formattedValue = this.formatDateTime(startDate); + if (endDate) { + formattedValue += " - " + this.formatDateTime(endDate); + } + } + } + } catch (err) { + formattedValue = value2; + } + } + return formattedValue; + }, "formatValue"), + formatDateTime: /* @__PURE__ */ __name(function formatDateTime(date) { + var formattedValue = null; + if (date) { + if (this.timeOnly) { + formattedValue = this.formatTime(date); + } else { + formattedValue = this.formatDate(date, this.datePattern); + if (this.showTime) { + formattedValue += " " + this.formatTime(date); + } + } + } + return formattedValue; + }, "formatDateTime"), + formatDate: /* @__PURE__ */ __name(function formatDate(date, format) { + if (!date) { + return ""; + } + var iFormat; + var lookAhead = /* @__PURE__ */ __name(function lookAhead2(match) { + var matches = iFormat + 1 < format.length && format.charAt(iFormat + 1) === match; + if (matches) { + iFormat++; + } + return matches; + }, "lookAhead"), formatNumber = /* @__PURE__ */ __name(function formatNumber2(match, value2, len) { + var num = "" + value2; + if (lookAhead(match)) { + while (num.length < len) { + num = "0" + num; + } + } + return num; + }, "formatNumber"), formatName = /* @__PURE__ */ __name(function formatName2(match, value2, shortNames, longNames) { + return lookAhead(match) ? longNames[value2] : shortNames[value2]; + }, "formatName"); + var output = ""; + var literal = false; + if (date) { + for (iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) { + if (format.charAt(iFormat) === "'" && !lookAhead("'")) { + literal = false; + } else { + output += format.charAt(iFormat); + } + } else { + switch (format.charAt(iFormat)) { + case "d": + output += formatNumber("d", date.getDate(), 2); + break; + case "D": + output += formatName("D", date.getDay(), this.$primevue.config.locale.dayNamesShort, this.$primevue.config.locale.dayNames); + break; + case "o": + output += formatNumber("o", Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 864e5), 3); + break; + case "m": + output += formatNumber("m", date.getMonth() + 1, 2); + break; + case "M": + output += formatName("M", date.getMonth(), this.$primevue.config.locale.monthNamesShort, this.$primevue.config.locale.monthNames); + break; + case "y": + output += lookAhead("y") ? date.getFullYear() : (date.getFullYear() % 100 < 10 ? "0" : "") + date.getFullYear() % 100; + break; + case "@": + output += date.getTime(); + break; + case "!": + output += date.getTime() * 1e4 + this.ticksTo1970; + break; + case "'": + if (lookAhead("'")) { + output += "'"; + } else { + literal = true; + } + break; + default: + output += format.charAt(iFormat); + } + } + } + } + return output; + }, "formatDate"), + formatTime: /* @__PURE__ */ __name(function formatTime(date) { + if (!date) { + return ""; + } + var output = ""; + var hours = date.getHours(); + var minutes = date.getMinutes(); + var seconds = date.getSeconds(); + if (this.hourFormat === "12" && hours > 11 && hours !== 12) { + hours -= 12; + } + if (this.hourFormat === "12") { + output += hours === 0 ? 12 : hours < 10 ? "0" + hours : hours; + } else { + output += hours < 10 ? "0" + hours : hours; + } + output += ":"; + output += minutes < 10 ? "0" + minutes : minutes; + if (this.showSeconds) { + output += ":"; + output += seconds < 10 ? "0" + seconds : seconds; + } + if (this.hourFormat === "12") { + output += date.getHours() > 11 ? " ".concat(this.$primevue.config.locale.pm) : " ".concat(this.$primevue.config.locale.am); + } + return output; + }, "formatTime"), + onTodayButtonClick: /* @__PURE__ */ __name(function onTodayButtonClick(event2) { + var date = /* @__PURE__ */ new Date(); + var dateMeta = { + day: date.getDate(), + month: date.getMonth(), + year: date.getFullYear(), + otherMonth: date.getMonth() !== this.currentMonth || date.getFullYear() !== this.currentYear, + today: true, + selectable: true + }; + this.onDateSelect(null, dateMeta); + this.$emit("today-click", date); + event2.preventDefault(); + }, "onTodayButtonClick"), + onClearButtonClick: /* @__PURE__ */ __name(function onClearButtonClick(event2) { + this.updateModel(null); + this.overlayVisible = false; + this.$emit("clear-click", event2); + event2.preventDefault(); + }, "onClearButtonClick"), + onTimePickerElementMouseDown: /* @__PURE__ */ __name(function onTimePickerElementMouseDown(event2, type, direction) { + if (this.isEnabled()) { + this.repeat(event2, null, type, direction); + event2.preventDefault(); + } + }, "onTimePickerElementMouseDown"), + onTimePickerElementMouseUp: /* @__PURE__ */ __name(function onTimePickerElementMouseUp(event2) { + if (this.isEnabled()) { + this.clearTimePickerTimer(); + this.updateModelTime(); + event2.preventDefault(); + } + }, "onTimePickerElementMouseUp"), + onTimePickerElementMouseLeave: /* @__PURE__ */ __name(function onTimePickerElementMouseLeave() { + this.clearTimePickerTimer(); + }, "onTimePickerElementMouseLeave"), + repeat: /* @__PURE__ */ __name(function repeat(event2, interval, type, direction) { + var _this9 = this; + var i = interval || 500; + this.clearTimePickerTimer(); + this.timePickerTimer = setTimeout(function() { + _this9.repeat(event2, 100, type, direction); + }, i); + switch (type) { + case 0: + if (direction === 1) this.incrementHour(event2); + else this.decrementHour(event2); + break; + case 1: + if (direction === 1) this.incrementMinute(event2); + else this.decrementMinute(event2); + break; + case 2: + if (direction === 1) this.incrementSecond(event2); + else this.decrementSecond(event2); + break; + } + }, "repeat"), + convertTo24Hour: /* @__PURE__ */ __name(function convertTo24Hour(hours, pm) { + if (this.hourFormat == "12") { + if (hours === 12) { + return pm ? 12 : 0; + } else { + return pm ? hours + 12 : hours; + } + } + return hours; + }, "convertTo24Hour"), + validateTime: /* @__PURE__ */ __name(function validateTime(hour, minute, second, pm) { + var value2 = this.isComparable() ? this.d_value : this.viewDate; + var convertedHour = this.convertTo24Hour(hour, pm); + if (this.isRangeSelection()) { + value2 = this.d_value[1] || this.d_value[0]; + } + if (this.isMultipleSelection()) { + value2 = this.d_value[this.d_value.length - 1]; + } + var valueDateString = value2 ? value2.toDateString() : null; + if (this.minDate && valueDateString && this.minDate.toDateString() === valueDateString) { + if (this.minDate.getHours() > convertedHour) { + return false; + } + if (this.minDate.getHours() === convertedHour) { + if (this.minDate.getMinutes() > minute) { + return false; + } + if (this.minDate.getMinutes() === minute) { + if (this.minDate.getSeconds() > second) { + return false; + } + } + } + } + if (this.maxDate && valueDateString && this.maxDate.toDateString() === valueDateString) { + if (this.maxDate.getHours() < convertedHour) { + return false; + } + if (this.maxDate.getHours() === convertedHour) { + if (this.maxDate.getMinutes() < minute) { + return false; + } + if (this.maxDate.getMinutes() === minute) { + if (this.maxDate.getSeconds() < second) { + return false; + } + } + } + } + return true; + }, "validateTime"), + incrementHour: /* @__PURE__ */ __name(function incrementHour(event2) { + var prevHour = this.currentHour; + var newHour = this.currentHour + Number(this.stepHour); + var newPM = this.pm; + if (this.hourFormat == "24") newHour = newHour >= 24 ? newHour - 24 : newHour; + else if (this.hourFormat == "12") { + if (prevHour < 12 && newHour > 11) { + newPM = !this.pm; + } + newHour = newHour >= 13 ? newHour - 12 : newHour; + } + if (this.validateTime(newHour, this.currentMinute, this.currentSecond, newPM)) { + this.currentHour = newHour; + this.pm = newPM; + } + event2.preventDefault(); + }, "incrementHour"), + decrementHour: /* @__PURE__ */ __name(function decrementHour(event2) { + var newHour = this.currentHour - this.stepHour; + var newPM = this.pm; + if (this.hourFormat == "24") newHour = newHour < 0 ? 24 + newHour : newHour; + else if (this.hourFormat == "12") { + if (this.currentHour === 12) { + newPM = !this.pm; + } + newHour = newHour <= 0 ? 12 + newHour : newHour; + } + if (this.validateTime(newHour, this.currentMinute, this.currentSecond, newPM)) { + this.currentHour = newHour; + this.pm = newPM; + } + event2.preventDefault(); + }, "decrementHour"), + incrementMinute: /* @__PURE__ */ __name(function incrementMinute(event2) { + var newMinute = this.currentMinute + Number(this.stepMinute); + if (this.validateTime(this.currentHour, newMinute, this.currentSecond, this.pm)) { + this.currentMinute = newMinute > 59 ? newMinute - 60 : newMinute; + } + event2.preventDefault(); + }, "incrementMinute"), + decrementMinute: /* @__PURE__ */ __name(function decrementMinute(event2) { + var newMinute = this.currentMinute - this.stepMinute; + newMinute = newMinute < 0 ? 60 + newMinute : newMinute; + if (this.validateTime(this.currentHour, newMinute, this.currentSecond, this.pm)) { + this.currentMinute = newMinute; + } + event2.preventDefault(); + }, "decrementMinute"), + incrementSecond: /* @__PURE__ */ __name(function incrementSecond(event2) { + var newSecond = this.currentSecond + Number(this.stepSecond); + if (this.validateTime(this.currentHour, this.currentMinute, newSecond, this.pm)) { + this.currentSecond = newSecond > 59 ? newSecond - 60 : newSecond; + } + event2.preventDefault(); + }, "incrementSecond"), + decrementSecond: /* @__PURE__ */ __name(function decrementSecond(event2) { + var newSecond = this.currentSecond - this.stepSecond; + newSecond = newSecond < 0 ? 60 + newSecond : newSecond; + if (this.validateTime(this.currentHour, this.currentMinute, newSecond, this.pm)) { + this.currentSecond = newSecond; + } + event2.preventDefault(); + }, "decrementSecond"), + updateModelTime: /* @__PURE__ */ __name(function updateModelTime() { + var _this10 = this; + this.timePickerChange = true; + var value2 = this.isComparable() ? this.d_value : this.viewDate; + if (this.isRangeSelection()) { + value2 = this.d_value[1] || this.d_value[0]; + } + if (this.isMultipleSelection()) { + value2 = this.d_value[this.d_value.length - 1]; + } + value2 = value2 ? new Date(value2.getTime()) : /* @__PURE__ */ new Date(); + if (this.hourFormat == "12") { + if (this.currentHour === 12) value2.setHours(this.pm ? 12 : 0); + else value2.setHours(this.pm ? this.currentHour + 12 : this.currentHour); + } else { + value2.setHours(this.currentHour); + } + value2.setMinutes(this.currentMinute); + value2.setSeconds(this.currentSecond); + if (this.isRangeSelection()) { + if (this.d_value[1]) value2 = [this.d_value[0], value2]; + else value2 = [value2, null]; + } + if (this.isMultipleSelection()) { + value2 = [].concat(_toConsumableArray$d(this.d_value.slice(0, -1)), [value2]); + } + this.updateModel(value2); + this.$emit("date-select", value2); + setTimeout(function() { + return _this10.timePickerChange = false; + }, 0); + }, "updateModelTime"), + toggleAMPM: /* @__PURE__ */ __name(function toggleAMPM(event2) { + var validHour = this.validateTime(this.currentHour, this.currentMinute, this.currentSecond, !this.pm); + if (!validHour && (this.maxDate || this.minDate)) return; + this.pm = !this.pm; + this.updateModelTime(); + event2.preventDefault(); + }, "toggleAMPM"), + clearTimePickerTimer: /* @__PURE__ */ __name(function clearTimePickerTimer() { + if (this.timePickerTimer) { + clearInterval(this.timePickerTimer); + } + }, "clearTimePickerTimer"), + onMonthSelect: /* @__PURE__ */ __name(function onMonthSelect(event2, _ref) { + _ref.month; + var index = _ref.index; + if (this.view === "month") { + this.onDateSelect(event2, { + year: this.currentYear, + month: index, + day: 1, + selectable: true + }); + } else { + this.currentMonth = index; + this.currentView = "date"; + this.$emit("month-change", { + month: this.currentMonth + 1, + year: this.currentYear + }); + } + setTimeout(this.updateFocus, 0); + }, "onMonthSelect"), + onYearSelect: /* @__PURE__ */ __name(function onYearSelect(event2, year2) { + if (this.view === "year") { + this.onDateSelect(event2, { + year: year2.value, + month: 0, + day: 1, + selectable: true + }); + } else { + this.currentYear = year2.value; + this.currentView = "month"; + this.$emit("year-change", { + month: this.currentMonth + 1, + year: this.currentYear + }); + } + setTimeout(this.updateFocus, 0); + }, "onYearSelect"), + updateCurrentMetaData: /* @__PURE__ */ __name(function updateCurrentMetaData() { + var viewDate2 = this.viewDate; + this.currentMonth = viewDate2.getMonth(); + this.currentYear = viewDate2.getFullYear(); + if (this.showTime || this.timeOnly) { + this.updateCurrentTimeMeta(viewDate2); + } + }, "updateCurrentMetaData"), + isValidSelection: /* @__PURE__ */ __name(function isValidSelection(value2) { + var _this11 = this; + if (value2 == null) { + return true; + } + var isValid = true; + if (this.isSingleSelection()) { + if (!this.isSelectable(value2.getDate(), value2.getMonth(), value2.getFullYear(), false)) { + isValid = false; + } + } else if (value2.every(function(v) { + return _this11.isSelectable(v.getDate(), v.getMonth(), v.getFullYear(), false); + })) { + if (this.isRangeSelection()) { + isValid = value2.length > 1 && value2[1] >= value2[0]; + } + } + return isValid; + }, "isValidSelection"), + parseValue: /* @__PURE__ */ __name(function parseValue(text) { + if (!text || text.trim().length === 0) { + return null; + } + var value2; + if (this.isSingleSelection()) { + value2 = this.parseDateTime(text); + } else if (this.isMultipleSelection()) { + var tokens = text.split(","); + value2 = []; + var _iterator3 = _createForOfIteratorHelper$4(tokens), _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) { + var token = _step3.value; + value2.push(this.parseDateTime(token.trim())); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } else if (this.isRangeSelection()) { + var _tokens = text.split(" - "); + value2 = []; + for (var i = 0; i < _tokens.length; i++) { + value2[i] = this.parseDateTime(_tokens[i].trim()); + } + } + return value2; + }, "parseValue"), + parseDateTime: /* @__PURE__ */ __name(function parseDateTime(text) { + var date; + var parts = text.split(" "); + if (this.timeOnly) { + date = /* @__PURE__ */ new Date(); + this.populateTime(date, parts[0], parts[1]); + } else { + var dateFormat = this.datePattern; + if (this.showTime) { + date = this.parseDate(parts[0], dateFormat); + this.populateTime(date, parts[1], parts[2]); + } else { + date = this.parseDate(text, dateFormat); + } + } + return date; + }, "parseDateTime"), + populateTime: /* @__PURE__ */ __name(function populateTime(value2, timeString, ampm) { + if (this.hourFormat == "12" && !ampm) { + throw "Invalid Time"; + } + this.pm = ampm === this.$primevue.config.locale.pm || ampm === this.$primevue.config.locale.pm.toLowerCase(); + var time = this.parseTime(timeString); + value2.setHours(time.hour); + value2.setMinutes(time.minute); + value2.setSeconds(time.second); + }, "populateTime"), + parseTime: /* @__PURE__ */ __name(function parseTime(value2) { + var tokens = value2.split(":"); + var validTokenLength = this.showSeconds ? 3 : 2; + var regex = /^[0-9][0-9]$/; + if (tokens.length !== validTokenLength || !tokens[0].match(regex) || !tokens[1].match(regex) || this.showSeconds && !tokens[2].match(regex)) { + throw "Invalid time"; + } + var h = parseInt(tokens[0]); + var m = parseInt(tokens[1]); + var s = this.showSeconds ? parseInt(tokens[2]) : null; + if (isNaN(h) || isNaN(m) || h > 23 || m > 59 || this.hourFormat == "12" && h > 12 || this.showSeconds && (isNaN(s) || s > 59)) { + throw "Invalid time"; + } else { + if (this.hourFormat == "12" && h !== 12 && this.pm) { + h += 12; + } else if (this.hourFormat == "12" && h == 12 && !this.pm) { + h = 0; + } + return { + hour: h, + minute: m, + second: s + }; + } + }, "parseTime"), + parseDate: /* @__PURE__ */ __name(function parseDate(value2, format) { + if (format == null || value2 == null) { + throw "Invalid arguments"; + } + value2 = _typeof$l(value2) === "object" ? value2.toString() : value2 + ""; + if (value2 === "") { + return null; + } + var iFormat, dim, extra, iValue = 0, shortYearCutoff = typeof this.shortYearCutoff !== "string" ? this.shortYearCutoff : (/* @__PURE__ */ new Date()).getFullYear() % 100 + parseInt(this.shortYearCutoff, 10), year2 = -1, month2 = -1, day2 = -1, doy = -1, literal = false, date, lookAhead = /* @__PURE__ */ __name(function lookAhead2(match) { + var matches = iFormat + 1 < format.length && format.charAt(iFormat + 1) === match; + if (matches) { + iFormat++; + } + return matches; + }, "lookAhead"), getNumber = /* @__PURE__ */ __name(function getNumber2(match) { + var isDoubled = lookAhead(match), size = match === "@" ? 14 : match === "!" ? 20 : match === "y" && isDoubled ? 4 : match === "o" ? 3 : 2, minSize = match === "y" ? size : 1, digits = new RegExp("^\\d{" + minSize + "," + size + "}"), num = value2.substring(iValue).match(digits); + if (!num) { + throw "Missing number at position " + iValue; + } + iValue += num[0].length; + return parseInt(num[0], 10); + }, "getNumber"), getName = /* @__PURE__ */ __name(function getName2(match, shortNames, longNames) { + var index = -1; + var arr = lookAhead(match) ? longNames : shortNames; + var names = []; + for (var i = 0; i < arr.length; i++) { + names.push([i, arr[i]]); + } + names.sort(function(a, b) { + return -(a[1].length - b[1].length); + }); + for (var _i = 0; _i < names.length; _i++) { + var name4 = names[_i][1]; + if (value2.substr(iValue, name4.length).toLowerCase() === name4.toLowerCase()) { + index = names[_i][0]; + iValue += name4.length; + break; + } + } + if (index !== -1) { + return index + 1; + } else { + throw "Unknown name at position " + iValue; + } + }, "getName"), checkLiteral = /* @__PURE__ */ __name(function checkLiteral2() { + if (value2.charAt(iValue) !== format.charAt(iFormat)) { + throw "Unexpected literal at position " + iValue; + } + iValue++; + }, "checkLiteral"); + if (this.currentView === "month") { + day2 = 1; + } + if (this.currentView === "year") { + day2 = 1; + month2 = 1; + } + for (iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) { + if (format.charAt(iFormat) === "'" && !lookAhead("'")) { + literal = false; + } else { + checkLiteral(); + } + } else { + switch (format.charAt(iFormat)) { + case "d": + day2 = getNumber("d"); + break; + case "D": + getName("D", this.$primevue.config.locale.dayNamesShort, this.$primevue.config.locale.dayNames); + break; + case "o": + doy = getNumber("o"); + break; + case "m": + month2 = getNumber("m"); + break; + case "M": + month2 = getName("M", this.$primevue.config.locale.monthNamesShort, this.$primevue.config.locale.monthNames); + break; + case "y": + year2 = getNumber("y"); + break; + case "@": + date = new Date(getNumber("@")); + year2 = date.getFullYear(); + month2 = date.getMonth() + 1; + day2 = date.getDate(); + break; + case "!": + date = new Date((getNumber("!") - this.ticksTo1970) / 1e4); + year2 = date.getFullYear(); + month2 = date.getMonth() + 1; + day2 = date.getDate(); + break; + case "'": + if (lookAhead("'")) { + checkLiteral(); + } else { + literal = true; + } + break; + default: + checkLiteral(); + } + } + } + if (iValue < value2.length) { + extra = value2.substr(iValue); + if (!/^\s+/.test(extra)) { + throw "Extra/unparsed characters found in date: " + extra; + } + } + if (year2 === -1) { + year2 = (/* @__PURE__ */ new Date()).getFullYear(); + } else if (year2 < 100) { + year2 += (/* @__PURE__ */ new Date()).getFullYear() - (/* @__PURE__ */ new Date()).getFullYear() % 100 + (year2 <= shortYearCutoff ? 0 : -100); + } + if (doy > -1) { + month2 = 1; + day2 = doy; + do { + dim = this.getDaysCountInMonth(year2, month2 - 1); + if (day2 <= dim) { + break; + } + month2++; + day2 -= dim; + } while (true); + } + date = this.daylightSavingAdjust(new Date(year2, month2 - 1, day2)); + if (date.getFullYear() !== year2 || date.getMonth() + 1 !== month2 || date.getDate() !== day2) { + throw "Invalid date"; + } + return date; + }, "parseDate"), + getWeekNumber: /* @__PURE__ */ __name(function getWeekNumber(date) { + var checkDate = new Date(date.getTime()); + checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); + var time = checkDate.getTime(); + checkDate.setMonth(0); + checkDate.setDate(1); + return Math.floor(Math.round((time - checkDate.getTime()) / 864e5) / 7) + 1; + }, "getWeekNumber"), + onDateCellKeydown: /* @__PURE__ */ __name(function onDateCellKeydown(event2, date, groupIndex) { + var cellContent = event2.currentTarget; + var cell = cellContent.parentElement; + var cellIndex = getIndex(cell); + switch (event2.code) { + case "ArrowDown": { + cellContent.tabIndex = "-1"; + var nextRow = cell.parentElement.nextElementSibling; + if (nextRow) { + var tableRowIndex = getIndex(cell.parentElement); + var tableRows = Array.from(cell.parentElement.parentElement.children); + var nextTableRows = tableRows.slice(tableRowIndex + 1); + var hasNextFocusableDate = nextTableRows.find(function(el) { + var focusCell2 = el.children[cellIndex].children[0]; + return !getAttribute(focusCell2, "data-p-disabled"); + }); + if (hasNextFocusableDate) { + var focusCell = hasNextFocusableDate.children[cellIndex].children[0]; + focusCell.tabIndex = "0"; + focusCell.focus(); + } else { + this.navigationState = { + backward: false + }; + this.navForward(event2); + } + } else { + this.navigationState = { + backward: false + }; + this.navForward(event2); + } + event2.preventDefault(); + break; + } + case "ArrowUp": { + cellContent.tabIndex = "-1"; + if (event2.altKey) { + this.overlayVisible = false; + this.focused = true; + } else { + var prevRow = cell.parentElement.previousElementSibling; + if (prevRow) { + var _tableRowIndex = getIndex(cell.parentElement); + var _tableRows = Array.from(cell.parentElement.parentElement.children); + var prevTableRows = _tableRows.slice(0, _tableRowIndex).reverse(); + var _hasNextFocusableDate = prevTableRows.find(function(el) { + var focusCell2 = el.children[cellIndex].children[0]; + return !getAttribute(focusCell2, "data-p-disabled"); + }); + if (_hasNextFocusableDate) { + var _focusCell = _hasNextFocusableDate.children[cellIndex].children[0]; + _focusCell.tabIndex = "0"; + _focusCell.focus(); + } else { + this.navigationState = { + backward: true + }; + this.navBackward(event2); + } + } else { + this.navigationState = { + backward: true + }; + this.navBackward(event2); + } + } + event2.preventDefault(); + break; + } + case "ArrowLeft": { + cellContent.tabIndex = "-1"; + var prevCell = cell.previousElementSibling; + if (prevCell) { + var cells = Array.from(cell.parentElement.children); + var prevCells = cells.slice(0, cellIndex).reverse(); + var _hasNextFocusableDate2 = prevCells.find(function(el) { + var focusCell2 = el.children[0]; + return !getAttribute(focusCell2, "data-p-disabled"); + }); + if (_hasNextFocusableDate2) { + var _focusCell2 = _hasNextFocusableDate2.children[0]; + _focusCell2.tabIndex = "0"; + _focusCell2.focus(); + } else { + this.navigateToMonth(event2, true, groupIndex); + } + } else { + this.navigateToMonth(event2, true, groupIndex); + } + event2.preventDefault(); + break; + } + case "ArrowRight": { + cellContent.tabIndex = "-1"; + var nextCell = cell.nextElementSibling; + if (nextCell) { + var _cells = Array.from(cell.parentElement.children); + var nextCells = _cells.slice(cellIndex + 1); + var _hasNextFocusableDate3 = nextCells.find(function(el) { + var focusCell2 = el.children[0]; + return !getAttribute(focusCell2, "data-p-disabled"); + }); + if (_hasNextFocusableDate3) { + var _focusCell3 = _hasNextFocusableDate3.children[0]; + _focusCell3.tabIndex = "0"; + _focusCell3.focus(); + } else { + this.navigateToMonth(event2, false, groupIndex); + } + } else { + this.navigateToMonth(event2, false, groupIndex); + } + event2.preventDefault(); + break; + } + case "Enter": + case "NumpadEnter": + case "Space": { + this.onDateSelect(event2, date); + event2.preventDefault(); + break; + } + case "Escape": { + this.overlayVisible = false; + event2.preventDefault(); + break; + } + case "Tab": { + if (!this.inline) { + this.trapFocus(event2); + } + break; + } + case "Home": { + cellContent.tabIndex = "-1"; + var currentRow = cell.parentElement; + var _focusCell4 = currentRow.children[0].children[0]; + if (getAttribute(_focusCell4, "data-p-disabled")) { + this.navigateToMonth(event2, true, groupIndex); + } else { + _focusCell4.tabIndex = "0"; + _focusCell4.focus(); + } + event2.preventDefault(); + break; + } + case "End": { + cellContent.tabIndex = "-1"; + var _currentRow = cell.parentElement; + var _focusCell5 = _currentRow.children[_currentRow.children.length - 1].children[0]; + if (getAttribute(_focusCell5, "data-p-disabled")) { + this.navigateToMonth(event2, false, groupIndex); + } else { + _focusCell5.tabIndex = "0"; + _focusCell5.focus(); + } + event2.preventDefault(); + break; + } + case "PageUp": { + cellContent.tabIndex = "-1"; + if (event2.shiftKey) { + this.navigationState = { + backward: true + }; + this.navBackward(event2); + } else this.navigateToMonth(event2, true, groupIndex); + event2.preventDefault(); + break; + } + case "PageDown": { + cellContent.tabIndex = "-1"; + if (event2.shiftKey) { + this.navigationState = { + backward: false + }; + this.navForward(event2); + } else this.navigateToMonth(event2, false, groupIndex); + event2.preventDefault(); + break; + } + } + }, "onDateCellKeydown"), + navigateToMonth: /* @__PURE__ */ __name(function navigateToMonth(event2, prev, groupIndex) { + if (prev) { + if (this.numberOfMonths === 1 || groupIndex === 0) { + this.navigationState = { + backward: true + }; + this.navBackward(event2); + } else { + var prevMonthContainer = this.overlay.children[groupIndex - 1]; + var cells = find(prevMonthContainer, 'table td span:not([data-p-disabled="true"]):not([data-p-ink="true"])'); + var focusCell = cells[cells.length - 1]; + focusCell.tabIndex = "0"; + focusCell.focus(); + } + } else { + if (this.numberOfMonths === 1 || groupIndex === this.numberOfMonths - 1) { + this.navigationState = { + backward: false + }; + this.navForward(event2); + } else { + var nextMonthContainer = this.overlay.children[groupIndex + 1]; + var _focusCell6 = findSingle(nextMonthContainer, 'table td span:not([data-p-disabled="true"]):not([data-p-ink="true"])'); + _focusCell6.tabIndex = "0"; + _focusCell6.focus(); + } + } + }, "navigateToMonth"), + onMonthCellKeydown: /* @__PURE__ */ __name(function onMonthCellKeydown(event2, index) { + var cell = event2.currentTarget; + switch (event2.code) { + case "ArrowUp": + case "ArrowDown": { + cell.tabIndex = "-1"; + var cells = cell.parentElement.children; + var cellIndex = getIndex(cell); + var nextCell = cells[event2.code === "ArrowDown" ? cellIndex + 3 : cellIndex - 3]; + if (nextCell) { + nextCell.tabIndex = "0"; + nextCell.focus(); + } + event2.preventDefault(); + break; + } + case "ArrowLeft": { + cell.tabIndex = "-1"; + var prevCell = cell.previousElementSibling; + if (prevCell) { + prevCell.tabIndex = "0"; + prevCell.focus(); + } else { + this.navigationState = { + backward: true + }; + this.navBackward(event2); + } + event2.preventDefault(); + break; + } + case "ArrowRight": { + cell.tabIndex = "-1"; + var _nextCell = cell.nextElementSibling; + if (_nextCell) { + _nextCell.tabIndex = "0"; + _nextCell.focus(); + } else { + this.navigationState = { + backward: false + }; + this.navForward(event2); + } + event2.preventDefault(); + break; + } + case "PageUp": { + if (event2.shiftKey) return; + this.navigationState = { + backward: true + }; + this.navBackward(event2); + break; + } + case "PageDown": { + if (event2.shiftKey) return; + this.navigationState = { + backward: false + }; + this.navForward(event2); + break; + } + case "Enter": + case "NumpadEnter": + case "Space": { + this.onMonthSelect(event2, index); + event2.preventDefault(); + break; + } + case "Escape": { + this.overlayVisible = false; + event2.preventDefault(); + break; + } + case "Tab": { + this.trapFocus(event2); + break; + } + } + }, "onMonthCellKeydown"), + onYearCellKeydown: /* @__PURE__ */ __name(function onYearCellKeydown(event2, index) { + var cell = event2.currentTarget; + switch (event2.code) { + case "ArrowUp": + case "ArrowDown": { + cell.tabIndex = "-1"; + var cells = cell.parentElement.children; + var cellIndex = getIndex(cell); + var nextCell = cells[event2.code === "ArrowDown" ? cellIndex + 2 : cellIndex - 2]; + if (nextCell) { + nextCell.tabIndex = "0"; + nextCell.focus(); + } + event2.preventDefault(); + break; + } + case "ArrowLeft": { + cell.tabIndex = "-1"; + var prevCell = cell.previousElementSibling; + if (prevCell) { + prevCell.tabIndex = "0"; + prevCell.focus(); + } else { + this.navigationState = { + backward: true + }; + this.navBackward(event2); + } + event2.preventDefault(); + break; + } + case "ArrowRight": { + cell.tabIndex = "-1"; + var _nextCell2 = cell.nextElementSibling; + if (_nextCell2) { + _nextCell2.tabIndex = "0"; + _nextCell2.focus(); + } else { + this.navigationState = { + backward: false + }; + this.navForward(event2); + } + event2.preventDefault(); + break; + } + case "PageUp": { + if (event2.shiftKey) return; + this.navigationState = { + backward: true + }; + this.navBackward(event2); + break; + } + case "PageDown": { + if (event2.shiftKey) return; + this.navigationState = { + backward: false + }; + this.navForward(event2); + break; + } + case "Enter": + case "NumpadEnter": + case "Space": { + this.onYearSelect(event2, index); + event2.preventDefault(); + break; + } + case "Escape": { + this.overlayVisible = false; + event2.preventDefault(); + break; + } + case "Tab": { + this.trapFocus(event2); + break; + } + } + }, "onYearCellKeydown"), + updateFocus: /* @__PURE__ */ __name(function updateFocus() { + var cell; + if (this.navigationState) { + if (this.navigationState.button) { + this.initFocusableCell(); + if (this.navigationState.backward) this.previousButton.focus(); + else this.nextButton.focus(); + } else { + if (this.navigationState.backward) { + var cells; + if (this.currentView === "month") { + cells = find(this.overlay, '[data-pc-section="monthview"] [data-pc-section="month"]:not([data-p-disabled="true"])'); + } else if (this.currentView === "year") { + cells = find(this.overlay, '[data-pc-section="yearview"] [data-pc-section="year"]:not([data-p-disabled="true"])'); + } else { + cells = find(this.overlay, 'table td span:not([data-p-disabled="true"]):not([data-p-ink="true"])'); + } + if (cells && cells.length > 0) { + cell = cells[cells.length - 1]; + } + } else { + if (this.currentView === "month") { + cell = findSingle(this.overlay, '[data-pc-section="monthview"] [data-pc-section="month"]:not([data-p-disabled="true"])'); + } else if (this.currentView === "year") { + cell = findSingle(this.overlay, '[data-pc-section="yearview"] [data-pc-section="year"]:not([data-p-disabled="true"])'); + } else { + cell = findSingle(this.overlay, 'table td span:not([data-p-disabled="true"]):not([data-p-ink="true"])'); + } + } + if (cell) { + cell.tabIndex = "0"; + cell.focus(); + } + } + this.navigationState = null; + } else { + this.initFocusableCell(); + } + }, "updateFocus"), + initFocusableCell: /* @__PURE__ */ __name(function initFocusableCell() { + var cell; + if (this.currentView === "month") { + var cells = find(this.overlay, '[data-pc-section="monthview"] [data-pc-section="month"]'); + var selectedCell = findSingle(this.overlay, '[data-pc-section="monthview"] [data-pc-section="month"][data-p-selected="true"]'); + cells.forEach(function(cell2) { + return cell2.tabIndex = -1; + }); + cell = selectedCell || cells[0]; + } else if (this.currentView === "year") { + var _cells2 = find(this.overlay, '[data-pc-section="yearview"] [data-pc-section="year"]'); + var _selectedCell = findSingle(this.overlay, '[data-pc-section="yearview"] [data-pc-section="year"][data-p-selected="true"]'); + _cells2.forEach(function(cell2) { + return cell2.tabIndex = -1; + }); + cell = _selectedCell || _cells2[0]; + } else { + cell = findSingle(this.overlay, 'span[data-p-selected="true"]'); + if (!cell) { + var todayCell = findSingle(this.overlay, 'td[data-p-today="true"] span:not([data-p-disabled="true"]):not([data-p-ink="true"])'); + if (todayCell) cell = todayCell; + else cell = findSingle(this.overlay, '.p-datepicker-calendar td span:not([data-p-disabled="true"]):not([data-p-ink="true"])'); + } + } + if (cell) { + cell.tabIndex = "0"; + this.preventFocus = false; + } + }, "initFocusableCell"), + trapFocus: /* @__PURE__ */ __name(function trapFocus(event2) { + event2.preventDefault(); + var focusableElements = getFocusableElements(this.overlay); + if (focusableElements && focusableElements.length > 0) { + if (!document.activeElement) { + focusableElements[0].focus(); + } else { + var focusedIndex = focusableElements.indexOf(document.activeElement); + if (event2.shiftKey) { + if (focusedIndex === -1 || focusedIndex === 0) focusableElements[focusableElements.length - 1].focus(); + else focusableElements[focusedIndex - 1].focus(); + } else { + if (focusedIndex === -1) { + if (this.timeOnly) { + focusableElements[0].focus(); + } else { + var spanIndex = null; + for (var i = 0; i < focusableElements.length; i++) { + if (focusableElements[i].tagName === "SPAN") { + spanIndex = i; + break; + } + } + focusableElements[spanIndex].focus(); + } + } else if (focusedIndex === focusableElements.length - 1) focusableElements[0].focus(); + else focusableElements[focusedIndex + 1].focus(); + } + } + } + }, "trapFocus"), + onContainerButtonKeydown: /* @__PURE__ */ __name(function onContainerButtonKeydown(event2) { + switch (event2.code) { + case "Tab": + this.trapFocus(event2); + break; + case "Escape": + this.overlayVisible = false; + event2.preventDefault(); + break; + } + this.$emit("keydown", event2); + }, "onContainerButtonKeydown"), + onInput: /* @__PURE__ */ __name(function onInput(event2) { + try { + this.selectionStart = this.input.selectionStart; + this.selectionEnd = this.input.selectionEnd; + var value2 = this.parseValue(event2.target.value); + if (this.isValidSelection(value2)) { + this.typeUpdate = true; + this.updateModel(value2); + this.updateCurrentMetaData(); + } + } catch (err) { + } + this.$emit("input", event2); + }, "onInput"), + onInputClick: /* @__PURE__ */ __name(function onInputClick() { + if (this.showOnFocus && this.isEnabled() && !this.overlayVisible) { + this.overlayVisible = true; + } + }, "onInputClick"), + onFocus: /* @__PURE__ */ __name(function onFocus2(event2) { + if (this.showOnFocus && this.isEnabled()) { + this.overlayVisible = true; + } + this.focused = true; + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur(event2) { + var _this$formField$onBlu, _this$formField; + this.$emit("blur", { + originalEvent: event2, + value: event2.target.value + }); + (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField); + this.focused = false; + event2.target.value = this.formatValue(this.d_value); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown(event2) { + if (event2.code === "ArrowDown" && this.overlay) { + this.trapFocus(event2); + } else if (event2.code === "ArrowDown" && !this.overlay) { + this.overlayVisible = true; + } else if (event2.code === "Escape") { + if (this.overlayVisible) { + this.overlayVisible = false; + event2.preventDefault(); + } + } else if (event2.code === "Tab") { + if (this.overlay) { + getFocusableElements(this.overlay).forEach(function(el) { + return el.tabIndex = "-1"; + }); + } + if (this.overlayVisible) { + this.overlayVisible = false; + } + } else if (event2.code === "Enter") { + var _event$target$value; + if (this.manualInput && event2.target.value !== null && ((_event$target$value = event2.target.value) === null || _event$target$value === void 0 ? void 0 : _event$target$value.trim()) !== "") { + try { + var value2 = this.parseValue(event2.target.value); + if (this.isValidSelection(value2)) { + this.overlayVisible = false; + } + } catch (err) { + } + } + this.$emit("keydown", event2); + } + }, "onKeyDown"), + overlayRef: /* @__PURE__ */ __name(function overlayRef(el) { + this.overlay = el; + }, "overlayRef"), + inputRef: /* @__PURE__ */ __name(function inputRef(el) { + this.input = el ? el.$el : void 0; + }, "inputRef"), + previousButtonRef: /* @__PURE__ */ __name(function previousButtonRef(el) { + this.previousButton = el ? el.$el : void 0; + }, "previousButtonRef"), + nextButtonRef: /* @__PURE__ */ __name(function nextButtonRef(el) { + this.nextButton = el ? el.$el : void 0; + }, "nextButtonRef"), + getMonthName: /* @__PURE__ */ __name(function getMonthName(index) { + return this.$primevue.config.locale.monthNames[index]; + }, "getMonthName"), + getYear: /* @__PURE__ */ __name(function getYear(month2) { + return this.currentView === "month" ? this.currentYear : month2.year; + }, "getYear"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick(event2) { + event2.stopPropagation(); + if (!this.inline) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event2, + target: this.$el + }); + } + }, "onOverlayClick"), + onOverlayKeyDown: /* @__PURE__ */ __name(function onOverlayKeyDown(event2) { + switch (event2.code) { + case "Escape": + if (!this.inline) { + this.input.focus(); + this.overlayVisible = false; + } + break; + } + }, "onOverlayKeyDown"), + onOverlayMouseUp: /* @__PURE__ */ __name(function onOverlayMouseUp(event2) { + this.onOverlayClick(event2); + }, "onOverlayMouseUp"), + createResponsiveStyle: /* @__PURE__ */ __name(function createResponsiveStyle() { + if (this.numberOfMonths > 1 && this.responsiveOptions && !this.isUnstyled) { + if (!this.responsiveStyleElement) { + var _this$$primevue; + this.responsiveStyleElement = document.createElement("style"); + this.responsiveStyleElement.type = "text/css"; + setAttribute(this.responsiveStyleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); + document.body.appendChild(this.responsiveStyleElement); + } + var innerHTML = ""; + if (this.responsiveOptions) { + var comparer = localeComparator(); + var responsiveOptions2 = _toConsumableArray$d(this.responsiveOptions).filter(function(o) { + return !!(o.breakpoint && o.numMonths); + }).sort(function(o1, o2) { + return -1 * comparer(o1.breakpoint, o2.breakpoint); + }); + for (var i = 0; i < responsiveOptions2.length; i++) { + var _responsiveOptions$i = responsiveOptions2[i], breakpoint2 = _responsiveOptions$i.breakpoint, numMonths = _responsiveOptions$i.numMonths; + var styles = "\n .p-datepicker-panel[".concat(this.$attrSelector, "] .p-datepicker-calendar:nth-child(").concat(numMonths, ") .p-datepicker-next-button {\n display: inline-flex;\n }\n "); + for (var j = numMonths; j < this.numberOfMonths; j++) { + styles += "\n .p-datepicker-panel[".concat(this.$attrSelector, "] .p-datepicker-calendar:nth-child(").concat(j + 1, ") {\n display: none;\n }\n "); + } + innerHTML += "\n @media screen and (max-width: ".concat(breakpoint2, ") {\n ").concat(styles, "\n }\n "); + } + } + this.responsiveStyleElement.innerHTML = innerHTML; + } + }, "createResponsiveStyle"), + destroyResponsiveStyleElement: /* @__PURE__ */ __name(function destroyResponsiveStyleElement() { + if (this.responsiveStyleElement) { + this.responsiveStyleElement.remove(); + this.responsiveStyleElement = null; + } + }, "destroyResponsiveStyleElement") + }, + computed: { + viewDate: /* @__PURE__ */ __name(function viewDate() { + var propValue = this.d_value; + if (propValue && Array.isArray(propValue)) { + if (this.isRangeSelection()) { + propValue = this.inline ? propValue[0] : propValue[1] || propValue[0]; + } else if (this.isMultipleSelection()) { + propValue = propValue[propValue.length - 1]; + } + } + if (propValue && typeof propValue !== "string") { + return propValue; + } else { + var today = /* @__PURE__ */ new Date(); + if (this.maxDate && this.maxDate < today) { + return this.maxDate; + } + if (this.minDate && this.minDate > today) { + return this.minDate; + } + return today; + } + }, "viewDate"), + inputFieldValue: /* @__PURE__ */ __name(function inputFieldValue() { + return this.formatValue(this.d_value); + }, "inputFieldValue"), + months: /* @__PURE__ */ __name(function months2() { + var months3 = []; + for (var i = 0; i < this.numberOfMonths; i++) { + var month2 = this.currentMonth + i; + var year2 = this.currentYear; + if (month2 > 11) { + month2 = month2 % 11 - 1; + year2 = year2 + 1; + } + var dates = []; + var firstDay = this.getFirstDayOfMonthIndex(month2, year2); + var daysLength = this.getDaysCountInMonth(month2, year2); + var prevMonthDaysLength = this.getDaysCountInPrevMonth(month2, year2); + var dayNo = 1; + var today = /* @__PURE__ */ new Date(); + var weekNumbers = []; + var monthRows = Math.ceil((daysLength + firstDay) / 7); + for (var _i2 = 0; _i2 < monthRows; _i2++) { + var week = []; + if (_i2 == 0) { + for (var j = prevMonthDaysLength - firstDay + 1; j <= prevMonthDaysLength; j++) { + var prev = this.getPreviousMonthAndYear(month2, year2); + week.push({ + day: j, + month: prev.month, + year: prev.year, + otherMonth: true, + today: this.isToday(today, j, prev.month, prev.year), + selectable: this.isSelectable(j, prev.month, prev.year, true) + }); + } + var remainingDaysLength = 7 - week.length; + for (var _j = 0; _j < remainingDaysLength; _j++) { + week.push({ + day: dayNo, + month: month2, + year: year2, + today: this.isToday(today, dayNo, month2, year2), + selectable: this.isSelectable(dayNo, month2, year2, false) + }); + dayNo++; + } + } else { + for (var _j2 = 0; _j2 < 7; _j2++) { + if (dayNo > daysLength) { + var next = this.getNextMonthAndYear(month2, year2); + week.push({ + day: dayNo - daysLength, + month: next.month, + year: next.year, + otherMonth: true, + today: this.isToday(today, dayNo - daysLength, next.month, next.year), + selectable: this.isSelectable(dayNo - daysLength, next.month, next.year, true) + }); + } else { + week.push({ + day: dayNo, + month: month2, + year: year2, + today: this.isToday(today, dayNo, month2, year2), + selectable: this.isSelectable(dayNo, month2, year2, false) + }); + } + dayNo++; + } + } + if (this.showWeek) { + weekNumbers.push(this.getWeekNumber(new Date(week[0].year, week[0].month, week[0].day))); + } + dates.push(week); + } + months3.push({ + month: month2, + year: year2, + dates, + weekNumbers + }); + } + return months3; + }, "months"), + weekDays: /* @__PURE__ */ __name(function weekDays() { + var weekDays2 = []; + var dayIndex = this.$primevue.config.locale.firstDayOfWeek; + for (var i = 0; i < 7; i++) { + weekDays2.push(this.$primevue.config.locale.dayNamesMin[dayIndex]); + dayIndex = dayIndex == 6 ? 0 : ++dayIndex; + } + return weekDays2; + }, "weekDays"), + ticksTo1970: /* @__PURE__ */ __name(function ticksTo1970() { + return ((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) + Math.floor(1970 / 400)) * 24 * 60 * 60 * 1e7; + }, "ticksTo1970"), + sundayIndex: /* @__PURE__ */ __name(function sundayIndex() { + return this.$primevue.config.locale.firstDayOfWeek > 0 ? 7 - this.$primevue.config.locale.firstDayOfWeek : 0; + }, "sundayIndex"), + datePattern: /* @__PURE__ */ __name(function datePattern() { + return this.dateFormat || this.$primevue.config.locale.dateFormat; + }, "datePattern"), + monthPickerValues: /* @__PURE__ */ __name(function monthPickerValues() { + var _this12 = this; + var monthPickerValues2 = []; + var isSelectableMonth = /* @__PURE__ */ __name(function isSelectableMonth2(baseMonth) { + if (_this12.minDate) { + var minMonth = _this12.minDate.getMonth(); + var minYear = _this12.minDate.getFullYear(); + if (_this12.currentYear < minYear || _this12.currentYear === minYear && baseMonth < minMonth) { + return false; + } + } + if (_this12.maxDate) { + var maxMonth = _this12.maxDate.getMonth(); + var maxYear = _this12.maxDate.getFullYear(); + if (_this12.currentYear > maxYear || _this12.currentYear === maxYear && baseMonth > maxMonth) { + return false; + } + } + return true; + }, "isSelectableMonth"); + for (var i = 0; i <= 11; i++) { + monthPickerValues2.push({ + value: this.$primevue.config.locale.monthNamesShort[i], + selectable: isSelectableMonth(i) + }); + } + return monthPickerValues2; + }, "monthPickerValues"), + yearPickerValues: /* @__PURE__ */ __name(function yearPickerValues() { + var _this13 = this; + var yearPickerValues2 = []; + var base = this.currentYear - this.currentYear % 10; + var isSelectableYear = /* @__PURE__ */ __name(function isSelectableYear2(baseYear) { + if (_this13.minDate) { + if (_this13.minDate.getFullYear() > baseYear) return false; + } + if (_this13.maxDate) { + if (_this13.maxDate.getFullYear() < baseYear) return false; + } + return true; + }, "isSelectableYear"); + for (var i = 0; i < 10; i++) { + yearPickerValues2.push({ + value: base + i, + selectable: isSelectableYear(base + i) + }); + } + return yearPickerValues2; + }, "yearPickerValues"), + formattedCurrentHour: /* @__PURE__ */ __name(function formattedCurrentHour() { + if (this.currentHour == 0 && this.hourFormat == "12") { + return this.currentHour + 12; + } + return this.currentHour < 10 ? "0" + this.currentHour : this.currentHour; + }, "formattedCurrentHour"), + formattedCurrentMinute: /* @__PURE__ */ __name(function formattedCurrentMinute() { + return this.currentMinute < 10 ? "0" + this.currentMinute : this.currentMinute; + }, "formattedCurrentMinute"), + formattedCurrentSecond: /* @__PURE__ */ __name(function formattedCurrentSecond() { + return this.currentSecond < 10 ? "0" + this.currentSecond : this.currentSecond; + }, "formattedCurrentSecond"), + todayLabel: /* @__PURE__ */ __name(function todayLabel() { + return this.$primevue.config.locale.today; + }, "todayLabel"), + clearLabel: /* @__PURE__ */ __name(function clearLabel() { + return this.$primevue.config.locale.clear; + }, "clearLabel"), + weekHeaderLabel: /* @__PURE__ */ __name(function weekHeaderLabel() { + return this.$primevue.config.locale.weekHeader; + }, "weekHeaderLabel"), + monthNames: /* @__PURE__ */ __name(function monthNames() { + return this.$primevue.config.locale.monthNames; + }, "monthNames"), + switchViewButtonDisabled: /* @__PURE__ */ __name(function switchViewButtonDisabled() { + return this.numberOfMonths > 1 || this.disabled; + }, "switchViewButtonDisabled"), + panelId: /* @__PURE__ */ __name(function panelId() { + return this.d_id + "_panel"; + }, "panelId") + }, + components: { + InputText: script$1o, + Button: script$1e, + Portal: script$1f, + CalendarIcon: script$13, + ChevronLeftIcon: script$1p, + ChevronRightIcon: script$1l, + ChevronUpIcon: script$1j, + ChevronDownIcon: script$1k + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$s = ["id"]; +var _hoisted_2$l = ["disabled", "aria-label", "aria-expanded", "aria-controls"]; +var _hoisted_3$h = ["id", "role", "aria-modal", "aria-label"]; +var _hoisted_4$9 = ["disabled", "aria-label"]; +var _hoisted_5$4 = ["disabled", "aria-label"]; +var _hoisted_6$2 = ["disabled", "aria-label"]; +var _hoisted_7$2 = ["disabled", "aria-label"]; +var _hoisted_8$1 = ["data-p-disabled"]; +var _hoisted_9 = ["abbr"]; +var _hoisted_10 = ["data-p-disabled"]; +var _hoisted_11 = ["aria-label", "data-p-today", "data-p-other-month"]; +var _hoisted_12 = ["onClick", "onKeydown", "aria-selected", "aria-disabled", "data-p-disabled", "data-p-selected"]; +var _hoisted_13 = ["onClick", "onKeydown", "data-p-disabled", "data-p-selected"]; +var _hoisted_14 = ["onClick", "onKeydown", "data-p-disabled", "data-p-selected"]; +function render$V(_ctx, _cache, $props, $setup, $data, $options) { + var _component_InputText = resolveComponent("InputText"); + var _component_Button = resolveComponent("Button"); + var _component_Portal = resolveComponent("Portal"); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("span", mergeProps({ + ref: "container", + id: $data.d_id, + "class": _ctx.cx("root"), + style: _ctx.sx("root") + }, _ctx.ptmi("root")), [!_ctx.inline ? (openBlock(), createBlock(_component_InputText, { + key: 0, + ref: $options.inputRef, + id: _ctx.inputId, + role: "combobox", + "class": normalizeClass([_ctx.inputClass, _ctx.cx("pcInputText")]), + style: normalizeStyle(_ctx.inputStyle), + defaultValue: $options.inputFieldValue, + placeholder: _ctx.placeholder, + name: _ctx.name, + size: _ctx.size, + invalid: _ctx.invalid, + variant: _ctx.variant, + fluid: _ctx.fluid, + unstyled: _ctx.unstyled, + autocomplete: "off", + "aria-autocomplete": "none", + "aria-haspopup": "dialog", + "aria-expanded": $data.overlayVisible, + "aria-controls": $options.panelId, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + inputmode: "none", + disabled: _ctx.disabled, + readonly: !_ctx.manualInput || _ctx.readonly, + tabindex: 0, + onInput: $options.onInput, + onClick: $options.onInputClick, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeydown: $options.onKeyDown, + pt: _ctx.ptm("pcInputText") + }, null, 8, ["id", "class", "style", "defaultValue", "placeholder", "name", "size", "invalid", "variant", "fluid", "unstyled", "aria-expanded", "aria-controls", "aria-labelledby", "aria-label", "disabled", "readonly", "onInput", "onClick", "onFocus", "onBlur", "onKeydown", "pt"])) : createCommentVNode("", true), _ctx.showIcon && _ctx.iconDisplay === "button" && !_ctx.inline ? renderSlot(_ctx.$slots, "dropdownbutton", { + key: 1, + toggleCallback: $options.onButtonClick + }, function() { + return [createBaseVNode("button", mergeProps({ + "class": _ctx.cx("dropdown"), + disabled: _ctx.disabled, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onButtonClick && $options.onButtonClick.apply($options, arguments); + }), + type: "button", + "aria-label": _ctx.$primevue.config.locale.chooseDate, + "aria-haspopup": "dialog", + "aria-expanded": $data.overlayVisible, + "aria-controls": $options.panelId + }, _ctx.ptm("dropdown")), [renderSlot(_ctx.$slots, "dropdownicon", { + "class": normalizeClass(_ctx.icon) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon ? "span" : "CalendarIcon"), mergeProps({ + "class": _ctx.icon + }, _ctx.ptm("dropdownIcon")), null, 16, ["class"]))]; + })], 16, _hoisted_2$l)]; + }) : _ctx.showIcon && _ctx.iconDisplay === "input" && !_ctx.inline ? (openBlock(), createElementBlock(Fragment, { + key: 2 + }, [_ctx.$slots.inputicon || _ctx.showIcon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": _ctx.cx("inputIconContainer") + }, _ctx.ptm("inputIconContainer")), [renderSlot(_ctx.$slots, "inputicon", { + "class": normalizeClass(_ctx.cx("inputIcon")), + clickCallback: $options.onButtonClick + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon ? "i" : "CalendarIcon"), mergeProps({ + "class": [_ctx.icon, _ctx.cx("inputIcon")], + onClick: $options.onButtonClick + }, _ctx.ptm("inputicon")), null, 16, ["class", "onClick"]))]; + })], 16)) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), createVNode(_component_Portal, { + appendTo: _ctx.appendTo, + disabled: _ctx.inline + }, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: _cache[58] || (_cache[58] = function($event) { + return $options.onOverlayEnter($event); + }), + onAfterEnter: $options.onOverlayEnterComplete, + onAfterLeave: $options.onOverlayAfterLeave, + onLeave: $options.onOverlayLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [_ctx.inline || $data.overlayVisible ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.overlayRef, + id: $options.panelId, + "class": [_ctx.cx("panel"), _ctx.panelClass], + style: _ctx.panelStyle, + role: _ctx.inline ? null : "dialog", + "aria-modal": _ctx.inline ? null : "true", + "aria-label": _ctx.$primevue.config.locale.chooseDate, + onClick: _cache[55] || (_cache[55] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }), + onKeydown: _cache[56] || (_cache[56] = function() { + return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments); + }), + onMouseup: _cache[57] || (_cache[57] = function() { + return $options.onOverlayMouseUp && $options.onOverlayMouseUp.apply($options, arguments); + }) + }, _ctx.ptm("panel")), [!_ctx.timeOnly ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("calendarContainer") + }, _ctx.ptm("calendarContainer")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.months, function(month2, groupIndex) { + return openBlock(), createElementBlock("div", mergeProps({ + key: month2.month + month2.year, + "class": _ctx.cx("calendar"), + ref_for: true + }, _ctx.ptm("calendar")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("header"), + ref_for: true + }, _ctx.ptm("header")), [renderSlot(_ctx.$slots, "header"), withDirectives(createVNode(_component_Button, mergeProps({ + ref_for: true, + ref: $options.previousButtonRef, + "class": _ctx.cx("pcPrevButton"), + disabled: _ctx.disabled, + "aria-label": $data.currentView === "year" ? _ctx.$primevue.config.locale.prevDecade : $data.currentView === "month" ? _ctx.$primevue.config.locale.prevYear : _ctx.$primevue.config.locale.prevMonth, + unstyled: _ctx.unstyled, + onClick: $options.onPrevButtonClick, + onKeydown: $options.onContainerButtonKeydown + }, _ctx.navigatorButtonProps, { + pt: _ctx.ptm("pcPrevButton"), + "data-pc-group-section": "navigator" + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "previcon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.prevIcon ? "span" : "ChevronLeftIcon"), mergeProps({ + "class": [_ctx.prevIcon, slotProps["class"]], + ref_for: true + }, _ctx.ptm("pcPrevButton")["icon"]), null, 16, ["class"]))]; + })]; + }), + _: 2 + }, 1040, ["class", "disabled", "aria-label", "unstyled", "onClick", "onKeydown", "pt"]), [[vShow, groupIndex === 0]]), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("title"), + ref_for: true + }, _ctx.ptm("title")), [_ctx.$primevue.config.locale.showMonthAfterYear ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [$data.currentView !== "year" ? (openBlock(), createElementBlock("button", mergeProps({ + key: 0, + type: "button", + onClick: _cache[1] || (_cache[1] = function() { + return $options.switchToYearView && $options.switchToYearView.apply($options, arguments); + }), + onKeydown: _cache[2] || (_cache[2] = function() { + return $options.onContainerButtonKeydown && $options.onContainerButtonKeydown.apply($options, arguments); + }), + "class": _ctx.cx("selectYear"), + disabled: $options.switchViewButtonDisabled, + "aria-label": _ctx.$primevue.config.locale.chooseYear, + ref_for: true + }, _ctx.ptm("selectYear"), { + "data-pc-group-section": "view" + }), toDisplayString($options.getYear(month2)), 17, _hoisted_4$9)) : createCommentVNode("", true), $data.currentView === "date" ? (openBlock(), createElementBlock("button", mergeProps({ + key: 1, + type: "button", + onClick: _cache[3] || (_cache[3] = function() { + return $options.switchToMonthView && $options.switchToMonthView.apply($options, arguments); + }), + onKeydown: _cache[4] || (_cache[4] = function() { + return $options.onContainerButtonKeydown && $options.onContainerButtonKeydown.apply($options, arguments); + }), + "class": _ctx.cx("selectMonth"), + disabled: $options.switchViewButtonDisabled, + "aria-label": _ctx.$primevue.config.locale.chooseMonth, + ref_for: true + }, _ctx.ptm("selectMonth"), { + "data-pc-group-section": "view" + }), toDisplayString($options.getMonthName(month2.month)), 17, _hoisted_5$4)) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [$data.currentView === "date" ? (openBlock(), createElementBlock("button", mergeProps({ + key: 0, + type: "button", + onClick: _cache[5] || (_cache[5] = function() { + return $options.switchToMonthView && $options.switchToMonthView.apply($options, arguments); + }), + onKeydown: _cache[6] || (_cache[6] = function() { + return $options.onContainerButtonKeydown && $options.onContainerButtonKeydown.apply($options, arguments); + }), + "class": _ctx.cx("selectMonth"), + disabled: $options.switchViewButtonDisabled, + "aria-label": _ctx.$primevue.config.locale.chooseMonth, + ref_for: true + }, _ctx.ptm("selectMonth"), { + "data-pc-group-section": "view" + }), toDisplayString($options.getMonthName(month2.month)), 17, _hoisted_6$2)) : createCommentVNode("", true), $data.currentView !== "year" ? (openBlock(), createElementBlock("button", mergeProps({ + key: 1, + type: "button", + onClick: _cache[7] || (_cache[7] = function() { + return $options.switchToYearView && $options.switchToYearView.apply($options, arguments); + }), + onKeydown: _cache[8] || (_cache[8] = function() { + return $options.onContainerButtonKeydown && $options.onContainerButtonKeydown.apply($options, arguments); + }), + "class": _ctx.cx("selectYear"), + disabled: $options.switchViewButtonDisabled, + "aria-label": _ctx.$primevue.config.locale.chooseYear, + ref_for: true + }, _ctx.ptm("selectYear"), { + "data-pc-group-section": "view" + }), toDisplayString($options.getYear(month2)), 17, _hoisted_7$2)) : createCommentVNode("", true)], 64)), $data.currentView === "year" ? (openBlock(), createElementBlock("span", mergeProps({ + key: 2, + "class": _ctx.cx("decade"), + ref_for: true + }, _ctx.ptm("decade")), [renderSlot(_ctx.$slots, "decade", { + years: $options.yearPickerValues + }, function() { + return [createTextVNode(toDisplayString($options.yearPickerValues[0].value) + " - " + toDisplayString($options.yearPickerValues[$options.yearPickerValues.length - 1].value), 1)]; + })], 16)) : createCommentVNode("", true)], 16), withDirectives(createVNode(_component_Button, mergeProps({ + ref_for: true, + ref: $options.nextButtonRef, + "class": _ctx.cx("pcNextButton"), + disabled: _ctx.disabled, + "aria-label": $data.currentView === "year" ? _ctx.$primevue.config.locale.nextDecade : $data.currentView === "month" ? _ctx.$primevue.config.locale.nextYear : _ctx.$primevue.config.locale.nextMonth, + unstyled: _ctx.unstyled, + onClick: $options.onNextButtonClick, + onKeydown: $options.onContainerButtonKeydown + }, _ctx.navigatorButtonProps, { + pt: _ctx.ptm("pcNextButton"), + "data-pc-group-section": "navigator" + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "nexticon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.nextIcon ? "span" : "ChevronRightIcon"), mergeProps({ + "class": [_ctx.nextIcon, slotProps["class"]], + ref_for: true + }, _ctx.ptm("pcNextButton")["icon"]), null, 16, ["class"]))]; + })]; + }), + _: 2 + }, 1040, ["class", "disabled", "aria-label", "unstyled", "onClick", "onKeydown", "pt"]), [[vShow, _ctx.numberOfMonths === 1 ? true : groupIndex === _ctx.numberOfMonths - 1]])], 16), $data.currentView === "date" ? (openBlock(), createElementBlock("table", mergeProps({ + key: 0, + "class": _ctx.cx("dayView"), + role: "grid", + ref_for: true + }, _ctx.ptm("dayView")), [createBaseVNode("thead", mergeProps({ + ref_for: true + }, _ctx.ptm("tableHeader")), [createBaseVNode("tr", mergeProps({ + ref_for: true + }, _ctx.ptm("tableHeaderRow")), [_ctx.showWeek ? (openBlock(), createElementBlock("th", mergeProps({ + key: 0, + scope: "col", + "class": _ctx.cx("weekHeader"), + ref_for: true + }, _ctx.ptm("weekHeader", { + context: { + disabled: _ctx.showWeek + } + }), { + "data-p-disabled": _ctx.showWeek, + "data-pc-group-section": "tableheadercell" + }), [renderSlot(_ctx.$slots, "weekheaderlabel", {}, function() { + return [createBaseVNode("span", mergeProps({ + ref_for: true + }, _ctx.ptm("weekHeaderLabel", { + context: { + disabled: _ctx.showWeek + } + }), { + "data-pc-group-section": "tableheadercelllabel" + }), toDisplayString($options.weekHeaderLabel), 17)]; + })], 16, _hoisted_8$1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList($options.weekDays, function(weekDay) { + return openBlock(), createElementBlock("th", mergeProps({ + key: weekDay, + scope: "col", + abbr: weekDay, + ref_for: true + }, _ctx.ptm("tableHeaderCell"), { + "data-pc-group-section": "tableheadercell", + "class": _ctx.cx("weekDayCell") + }), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("weekDay"), + ref_for: true + }, _ctx.ptm("weekDay"), { + "data-pc-group-section": "tableheadercelllabel" + }), toDisplayString(weekDay), 17)], 16, _hoisted_9); + }), 128))], 16)], 16), createBaseVNode("tbody", mergeProps({ + ref_for: true + }, _ctx.ptm("tableBody")), [(openBlock(true), createElementBlock(Fragment, null, renderList(month2.dates, function(week, i) { + return openBlock(), createElementBlock("tr", mergeProps({ + key: week[0].day + "" + week[0].month, + ref_for: true + }, _ctx.ptm("tableBodyRow")), [_ctx.showWeek ? (openBlock(), createElementBlock("td", mergeProps({ + key: 0, + "class": _ctx.cx("weekNumber"), + ref_for: true + }, _ctx.ptm("weekNumber"), { + "data-pc-group-section": "tablebodycell" + }), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("weekLabelContainer"), + ref_for: true + }, _ctx.ptm("weekLabelContainer", { + context: { + disabled: _ctx.showWeek + } + }), { + "data-p-disabled": _ctx.showWeek, + "data-pc-group-section": "tablebodycelllabel" + }), [renderSlot(_ctx.$slots, "weeklabel", { + weekNumber: month2.weekNumbers[i] + }, function() { + return [month2.weekNumbers[i] < 10 ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + style: { + "visibility": "hidden" + }, + ref_for: true + }, _ctx.ptm("weekLabel")), "0", 16)) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(month2.weekNumbers[i]), 1)]; + })], 16, _hoisted_10)], 16)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(week, function(date) { + return openBlock(), createElementBlock("td", mergeProps({ + key: date.day + "" + date.month, + "aria-label": date.day, + "class": _ctx.cx("dayCell", { + date + }), + ref_for: true + }, _ctx.ptm("dayCell", { + context: { + date, + today: date.today, + otherMonth: date.otherMonth, + selected: $options.isSelected(date), + disabled: !date.selectable + } + }), { + "data-p-today": date.today, + "data-p-other-month": date.otherMonth, + "data-pc-group-section": "tablebodycell" + }), [_ctx.showOtherMonths || !date.otherMonth ? withDirectives((openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": _ctx.cx("day", { + date + }), + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onDateSelect($event, date); + }, "onClick"), + draggable: "false", + onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + return $options.onDateCellKeydown($event, date, groupIndex); + }, "onKeydown"), + "aria-selected": $options.isSelected(date), + "aria-disabled": !date.selectable, + ref_for: true + }, _ctx.ptm("day", { + context: { + date, + today: date.today, + otherMonth: date.otherMonth, + selected: $options.isSelected(date), + disabled: !date.selectable + } + }), { + "data-p-disabled": !date.selectable, + "data-p-selected": $options.isSelected(date), + "data-pc-group-section": "tablebodycelllabel" + }), [renderSlot(_ctx.$slots, "date", { + date + }, function() { + return [createTextVNode(toDisplayString(date.day), 1)]; + })], 16, _hoisted_12)), [[_directive_ripple]]) : createCommentVNode("", true), $options.isSelected(date) ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": "p-hidden-accessible", + "aria-live": "polite", + ref_for: true + }, _ctx.ptm("hiddenSelectedDay"), { + "data-p-hidden-accessible": true + }), toDisplayString(date.day), 17)) : createCommentVNode("", true)], 16, _hoisted_11); + }), 128))], 16); + }), 128))], 16)], 16)) : createCommentVNode("", true)], 16); + }), 128))], 16), $data.currentView === "month" ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("monthView") + }, _ctx.ptm("monthView")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.monthPickerValues, function(m, i) { + return withDirectives((openBlock(), createElementBlock("span", mergeProps({ + key: m, + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onMonthSelect($event, { + month: m, + index: i + }); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + return $options.onMonthCellKeydown($event, { + month: m, + index: i + }); + }, "onKeydown"), + "class": _ctx.cx("month", { + month: m, + index: i + }), + ref_for: true + }, _ctx.ptm("month", { + context: { + month: m, + monthIndex: i, + selected: $options.isMonthSelected(i), + disabled: !m.selectable + } + }), { + "data-p-disabled": !m.selectable, + "data-p-selected": $options.isMonthSelected(i) + }), [createTextVNode(toDisplayString(m.value) + " ", 1), $options.isMonthSelected(i) ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": "p-hidden-accessible", + "aria-live": "polite", + ref_for: true + }, _ctx.ptm("hiddenMonth"), { + "data-p-hidden-accessible": true + }), toDisplayString(m.value), 17)) : createCommentVNode("", true)], 16, _hoisted_13)), [[_directive_ripple]]); + }), 128))], 16)) : createCommentVNode("", true), $data.currentView === "year" ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("yearView") + }, _ctx.ptm("yearView")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.yearPickerValues, function(y) { + return withDirectives((openBlock(), createElementBlock("span", mergeProps({ + key: y.value, + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onYearSelect($event, y); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + return $options.onYearCellKeydown($event, y); + }, "onKeydown"), + "class": _ctx.cx("year", { + year: y + }), + ref_for: true + }, _ctx.ptm("year", { + context: { + year: y, + selected: $options.isYearSelected(y.value), + disabled: !y.selectable + } + }), { + "data-p-disabled": !y.selectable, + "data-p-selected": $options.isYearSelected(y.value) + }), [createTextVNode(toDisplayString(y.value) + " ", 1), $options.isYearSelected(y.value) ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": "p-hidden-accessible", + "aria-live": "polite", + ref_for: true + }, _ctx.ptm("hiddenYear"), { + "data-p-hidden-accessible": true + }), toDisplayString(y.value), 17)) : createCommentVNode("", true)], 16, _hoisted_14)), [[_directive_ripple]]); + }), 128))], 16)) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), (_ctx.showTime || _ctx.timeOnly) && $data.currentView === "date" ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("timePicker") + }, _ctx.ptm("timePicker")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("hourPicker") + }, _ctx.ptm("hourPicker"), { + "data-pc-group-section": "timepickerContainer" + }), [createVNode(_component_Button, mergeProps({ + "class": _ctx.cx("pcIncrementButton"), + "aria-label": _ctx.$primevue.config.locale.nextHour, + unstyled: _ctx.unstyled, + onMousedown: _cache[9] || (_cache[9] = function($event) { + return $options.onTimePickerElementMouseDown($event, 0, 1); + }), + onMouseup: _cache[10] || (_cache[10] = function($event) { + return $options.onTimePickerElementMouseUp($event); + }), + onKeydown: [$options.onContainerButtonKeydown, _cache[12] || (_cache[12] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 0, 1); + }, ["enter"])), _cache[13] || (_cache[13] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 0, 1); + }, ["space"]))], + onMouseleave: _cache[11] || (_cache[11] = function($event) { + return $options.onTimePickerElementMouseLeave(); + }), + onKeyup: [_cache[14] || (_cache[14] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["enter"])), _cache[15] || (_cache[15] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["space"]))] + }, _ctx.timepickerButtonProps, { + pt: _ctx.ptm("pcIncrementButton"), + "data-pc-group-section": "timepickerbutton" + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "incrementicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon ? "span" : "ChevronUpIcon"), mergeProps({ + "class": [_ctx.incrementIcon, slotProps["class"]] + }, _ctx.ptm("pcIncrementButton")["icon"], { + "data-pc-group-section": "timepickerlabel" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "aria-label", "unstyled", "onKeydown", "pt"]), createBaseVNode("span", mergeProps(_ctx.ptm("hour"), { + "data-pc-group-section": "timepickerlabel" + }), toDisplayString($options.formattedCurrentHour), 17), createVNode(_component_Button, mergeProps({ + "class": _ctx.cx("pcDecrementButton"), + "aria-label": _ctx.$primevue.config.locale.prevHour, + unstyled: _ctx.unstyled, + onMousedown: _cache[16] || (_cache[16] = function($event) { + return $options.onTimePickerElementMouseDown($event, 0, -1); + }), + onMouseup: _cache[17] || (_cache[17] = function($event) { + return $options.onTimePickerElementMouseUp($event); + }), + onKeydown: [$options.onContainerButtonKeydown, _cache[19] || (_cache[19] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 0, -1); + }, ["enter"])), _cache[20] || (_cache[20] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 0, -1); + }, ["space"]))], + onMouseleave: _cache[18] || (_cache[18] = function($event) { + return $options.onTimePickerElementMouseLeave(); + }), + onKeyup: [_cache[21] || (_cache[21] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["enter"])), _cache[22] || (_cache[22] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["space"]))] + }, _ctx.timepickerButtonProps, { + pt: _ctx.ptm("pcDecrementButton"), + "data-pc-group-section": "timepickerbutton" + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "decrementicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon ? "span" : "ChevronDownIcon"), mergeProps({ + "class": [_ctx.decrementIcon, slotProps["class"]] + }, _ctx.ptm("pcDecrementButton")["icon"], { + "data-pc-group-section": "timepickerlabel" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "aria-label", "unstyled", "onKeydown", "pt"])], 16), createBaseVNode("div", mergeProps(_ctx.ptm("separatorContainer"), { + "data-pc-group-section": "timepickerContainer" + }), [createBaseVNode("span", mergeProps(_ctx.ptm("separator"), { + "data-pc-group-section": "timepickerlabel" + }), toDisplayString(_ctx.timeSeparator), 17)], 16), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("minutePicker") + }, _ctx.ptm("minutePicker"), { + "data-pc-group-section": "timepickerContainer" + }), [createVNode(_component_Button, mergeProps({ + "class": _ctx.cx("pcIncrementButton"), + "aria-label": _ctx.$primevue.config.locale.nextMinute, + disabled: _ctx.disabled, + unstyled: _ctx.unstyled, + onMousedown: _cache[23] || (_cache[23] = function($event) { + return $options.onTimePickerElementMouseDown($event, 1, 1); + }), + onMouseup: _cache[24] || (_cache[24] = function($event) { + return $options.onTimePickerElementMouseUp($event); + }), + onKeydown: [$options.onContainerButtonKeydown, _cache[26] || (_cache[26] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 1, 1); + }, ["enter"])), _cache[27] || (_cache[27] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 1, 1); + }, ["space"]))], + onMouseleave: _cache[25] || (_cache[25] = function($event) { + return $options.onTimePickerElementMouseLeave(); + }), + onKeyup: [_cache[28] || (_cache[28] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["enter"])), _cache[29] || (_cache[29] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["space"]))] + }, _ctx.timepickerButtonProps, { + pt: _ctx.ptm("pcIncrementButton"), + "data-pc-group-section": "timepickerbutton" + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "incrementicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon ? "span" : "ChevronUpIcon"), mergeProps({ + "class": [_ctx.incrementIcon, slotProps["class"]] + }, _ctx.ptm("pcIncrementButton")["icon"], { + "data-pc-group-section": "timepickerlabel" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "aria-label", "disabled", "unstyled", "onKeydown", "pt"]), createBaseVNode("span", mergeProps(_ctx.ptm("minute"), { + "data-pc-group-section": "timepickerlabel" + }), toDisplayString($options.formattedCurrentMinute), 17), createVNode(_component_Button, mergeProps({ + "class": _ctx.cx("pcDecrementButton"), + "aria-label": _ctx.$primevue.config.locale.prevMinute, + disabled: _ctx.disabled, + onMousedown: _cache[30] || (_cache[30] = function($event) { + return $options.onTimePickerElementMouseDown($event, 1, -1); + }), + onMouseup: _cache[31] || (_cache[31] = function($event) { + return $options.onTimePickerElementMouseUp($event); + }), + onKeydown: [$options.onContainerButtonKeydown, _cache[33] || (_cache[33] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 1, -1); + }, ["enter"])), _cache[34] || (_cache[34] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 1, -1); + }, ["space"]))], + onMouseleave: _cache[32] || (_cache[32] = function($event) { + return $options.onTimePickerElementMouseLeave(); + }), + onKeyup: [_cache[35] || (_cache[35] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["enter"])), _cache[36] || (_cache[36] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["space"]))] + }, _ctx.timepickerButtonProps, { + pt: _ctx.ptm("pcDecrementButton"), + "data-pc-group-section": "timepickerbutton" + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "decrementicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon ? "span" : "ChevronDownIcon"), mergeProps({ + "class": [_ctx.decrementIcon, slotProps["class"]] + }, _ctx.ptm("pcDecrementButton")["icon"], { + "data-pc-group-section": "timepickerlabel" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "aria-label", "disabled", "onKeydown", "pt"])], 16), _ctx.showSeconds ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("separatorContainer") + }, _ctx.ptm("separatorContainer"), { + "data-pc-group-section": "timepickerContainer" + }), [createBaseVNode("span", mergeProps(_ctx.ptm("separator"), { + "data-pc-group-section": "timepickerlabel" + }), toDisplayString(_ctx.timeSeparator), 17)], 16)) : createCommentVNode("", true), _ctx.showSeconds ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("secondPicker") + }, _ctx.ptm("secondPicker"), { + "data-pc-group-section": "timepickerContainer" + }), [createVNode(_component_Button, mergeProps({ + "class": _ctx.cx("pcIncrementButton"), + "aria-label": _ctx.$primevue.config.locale.nextSecond, + disabled: _ctx.disabled, + unstyled: _ctx.unstyled, + onMousedown: _cache[37] || (_cache[37] = function($event) { + return $options.onTimePickerElementMouseDown($event, 2, 1); + }), + onMouseup: _cache[38] || (_cache[38] = function($event) { + return $options.onTimePickerElementMouseUp($event); + }), + onKeydown: [$options.onContainerButtonKeydown, _cache[40] || (_cache[40] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 2, 1); + }, ["enter"])), _cache[41] || (_cache[41] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 2, 1); + }, ["space"]))], + onMouseleave: _cache[39] || (_cache[39] = function($event) { + return $options.onTimePickerElementMouseLeave(); + }), + onKeyup: [_cache[42] || (_cache[42] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["enter"])), _cache[43] || (_cache[43] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["space"]))] + }, _ctx.timepickerButtonProps, { + pt: _ctx.ptm("pcIncrementButton"), + "data-pc-group-section": "timepickerbutton" + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "incrementicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon ? "span" : "ChevronUpIcon"), mergeProps({ + "class": [_ctx.incrementIcon, slotProps["class"]] + }, _ctx.ptm("pcIncrementButton")["icon"], { + "data-pc-group-section": "timepickerlabel" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "aria-label", "disabled", "unstyled", "onKeydown", "pt"]), createBaseVNode("span", mergeProps(_ctx.ptm("second"), { + "data-pc-group-section": "timepickerlabel" + }), toDisplayString($options.formattedCurrentSecond), 17), createVNode(_component_Button, mergeProps({ + "class": _ctx.cx("pcDecrementButton"), + "aria-label": _ctx.$primevue.config.locale.prevSecond, + disabled: _ctx.disabled, + unstyled: _ctx.unstyled, + onMousedown: _cache[44] || (_cache[44] = function($event) { + return $options.onTimePickerElementMouseDown($event, 2, -1); + }), + onMouseup: _cache[45] || (_cache[45] = function($event) { + return $options.onTimePickerElementMouseUp($event); + }), + onKeydown: [$options.onContainerButtonKeydown, _cache[47] || (_cache[47] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 2, -1); + }, ["enter"])), _cache[48] || (_cache[48] = withKeys(function($event) { + return $options.onTimePickerElementMouseDown($event, 2, -1); + }, ["space"]))], + onMouseleave: _cache[46] || (_cache[46] = function($event) { + return $options.onTimePickerElementMouseLeave(); + }), + onKeyup: [_cache[49] || (_cache[49] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["enter"])), _cache[50] || (_cache[50] = withKeys(function($event) { + return $options.onTimePickerElementMouseUp($event); + }, ["space"]))] + }, _ctx.timepickerButtonProps, { + pt: _ctx.ptm("pcDecrementButton"), + "data-pc-group-section": "timepickerbutton" + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "decrementicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon ? "span" : "ChevronDownIcon"), mergeProps({ + "class": [_ctx.decrementIcon, slotProps["class"]] + }, _ctx.ptm("pcDecrementButton")["icon"], { + "data-pc-group-section": "timepickerlabel" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "aria-label", "disabled", "unstyled", "onKeydown", "pt"])], 16)) : createCommentVNode("", true), _ctx.hourFormat == "12" ? (openBlock(), createElementBlock("div", mergeProps({ + key: 2, + "class": _ctx.cx("separatorContainer") + }, _ctx.ptm("separatorContainer"), { + "data-pc-group-section": "timepickerContainer" + }), [createBaseVNode("span", mergeProps(_ctx.ptm("separator"), { + "data-pc-group-section": "timepickerlabel" + }), toDisplayString(_ctx.timeSeparator), 17)], 16)) : createCommentVNode("", true), _ctx.hourFormat == "12" ? (openBlock(), createElementBlock("div", mergeProps({ + key: 3, + "class": _ctx.cx("ampmPicker") + }, _ctx.ptm("ampmPicker")), [createVNode(_component_Button, mergeProps({ + "class": _ctx.cx("pcIncrementButton"), + "aria-label": _ctx.$primevue.config.locale.am, + disabled: _ctx.disabled, + unstyled: _ctx.unstyled, + onClick: _cache[51] || (_cache[51] = function($event) { + return $options.toggleAMPM($event); + }), + onKeydown: $options.onContainerButtonKeydown + }, _ctx.timepickerButtonProps, { + pt: _ctx.ptm("pcIncrementButton"), + "data-pc-group-section": "timepickerbutton" + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "incrementicon", { + "class": normalizeClass(_ctx.cx("incrementIcon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon ? "span" : "ChevronUpIcon"), mergeProps({ + "class": [_ctx.cx("incrementIcon"), slotProps["class"]] + }, _ctx.ptm("pcIncrementButton")["icon"], { + "data-pc-group-section": "timepickerlabel" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "aria-label", "disabled", "unstyled", "onKeydown", "pt"]), createBaseVNode("span", mergeProps(_ctx.ptm("ampm"), { + "data-pc-group-section": "timepickerlabel" + }), toDisplayString($data.pm ? _ctx.$primevue.config.locale.pm : _ctx.$primevue.config.locale.am), 17), createVNode(_component_Button, mergeProps({ + "class": _ctx.cx("pcDecrementButton"), + "aria-label": _ctx.$primevue.config.locale.pm, + disabled: _ctx.disabled, + onClick: _cache[52] || (_cache[52] = function($event) { + return $options.toggleAMPM($event); + }), + onKeydown: $options.onContainerButtonKeydown + }, _ctx.timepickerButtonProps, { + pt: _ctx.ptm("pcDecrementButton"), + "data-pc-group-section": "timepickerbutton" + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "decrementicon", { + "class": normalizeClass(_ctx.cx("decrementIcon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon ? "span" : "ChevronDownIcon"), mergeProps({ + "class": [_ctx.cx("decrementIcon"), slotProps["class"]] + }, _ctx.ptm("pcDecrementButton")["icon"], { + "data-pc-group-section": "timepickerlabel" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "aria-label", "disabled", "onKeydown", "pt"])], 16)) : createCommentVNode("", true)], 16)) : createCommentVNode("", true), _ctx.showButtonBar ? (openBlock(), createElementBlock("div", mergeProps({ + key: 2, + "class": _ctx.cx("buttonbar") + }, _ctx.ptm("buttonbar")), [createVNode(_component_Button, mergeProps({ + label: $options.todayLabel, + onClick: _cache[53] || (_cache[53] = function($event) { + return $options.onTodayButtonClick($event); + }), + "class": _ctx.cx("pcTodayButton"), + unstyled: _ctx.unstyled, + onKeydown: $options.onContainerButtonKeydown + }, _ctx.todayButtonProps, { + pt: _ctx.ptm("pcTodayButton"), + "data-pc-group-section": "button" + }), null, 16, ["label", "class", "unstyled", "onKeydown", "pt"]), createVNode(_component_Button, mergeProps({ + label: $options.clearLabel, + onClick: _cache[54] || (_cache[54] = function($event) { + return $options.onClearButtonClick($event); + }), + "class": _ctx.cx("pcClearButton"), + unstyled: _ctx.unstyled, + onKeydown: $options.onContainerButtonKeydown + }, _ctx.clearButtonProps, { + pt: _ctx.ptm("pcClearButton"), + "data-pc-group-section": "button" + }), null, 16, ["label", "class", "unstyled", "onKeydown", "pt"])], 16)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "footer")], 16, _hoisted_3$h)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onAfterEnter", "onAfterLeave", "onLeave"])]; + }), + _: 3 + }, 8, ["appendTo", "disabled"])], 16, _hoisted_1$s); +} +__name(render$V, "render$V"); +script$12.render = render$V; +var script$11 = { + name: "Calendar", + "extends": script$12, + mounted: /* @__PURE__ */ __name(function mounted6() { + console.warn("Deprecated since v4. Use DatePicker component instead."); + }, "mounted") +}; +var CalendarStyle = BaseStyle.extend({ + name: "calendar" +}); +var theme$y = /* @__PURE__ */ __name(function theme6(_ref) { + var dt = _ref.dt; + return "\n.p-cascadeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ".concat(dt("cascadeselect.background"), ";\n border: 1px solid ").concat(dt("cascadeselect.border.color"), ";\n transition: background ").concat(dt("cascadeselect.transition.duration"), ", color ").concat(dt("cascadeselect.transition.duration"), ", border-color ").concat(dt("cascadeselect.transition.duration"), ", outline-color ").concat(dt("cascadeselect.transition.duration"), ", box-shadow ").concat(dt("cascadeselect.transition.duration"), ";\n border-radius: ").concat(dt("cascadeselect.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("cascadeselect.shadow"), ";\n}\n\n.p-cascadeselect:not(.p-disabled):hover {\n border-color: ").concat(dt("cascadeselect.hover.border.color"), ";\n}\n\n.p-cascadeselect:not(.p-disabled).p-focus {\n border-color: ").concat(dt("cascadeselect.focus.border.color"), ";\n box-shadow: ").concat(dt("cascadeselect.focus.ring.shadow"), ";\n outline: ").concat(dt("cascadeselect.focus.ring.width"), " ").concat(dt("cascadeselect.focus.ring.style"), " ").concat(dt("cascadeselect.focus.ring.color"), ";\n outline-offset: ").concat(dt("cascadeselect.focus.ring.offset"), ";\n}\n\n.p-cascadeselect.p-variant-filled {\n background: ").concat(dt("cascadeselect.filled.background"), ";\n}\n\n.p-cascadeselect.p-variant-filled:not(.p-disabled):hover {\n background: ").concat(dt("cascadeselect.filled.hover.background"), ";\n}\n\n.p-cascadeselect.p-variant-filled.p-focus {\n background: ").concat(dt("cascadeselect.filled.focus.background"), ";\n}\n\n.p-cascadeselect.p-invalid {\n border-color: ").concat(dt("cascadeselect.invalid.border.color"), ";\n}\n\n.p-cascadeselect.p-disabled {\n opacity: 1;\n background: ").concat(dt("cascadeselect.disabled.background"), ";\n}\n\n.p-cascadeselect-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ").concat(dt("cascadeselect.dropdown.color"), ";\n width: ").concat(dt("cascadeselect.dropdown.width"), ";\n border-start-end-radius: ").concat(dt("border.radius.md"), ";\n border-end-end-radius: ").concat(dt("border.radius.md"), ";\n}\n\n.p-cascadeselect-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ").concat(dt("cascadeselect.clear.icon.color"), ";\n inset-inline-end: ").concat(dt("cascadeselect.dropdown.width"), ";\n}\n\n.p-cascadeselect-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n text-overflow: ellipsis;\n cursor: pointer;\n padding: ").concat(dt("cascadeselect.padding.y"), " ").concat(dt("cascadeselect.padding.x"), ";\n background: transparent;\n border: 0 none;\n outline: 0 none;\n}\n\n.p-cascadeselect-label.p-placeholder {\n color: ").concat(dt("cascadeselect.placeholder.color"), ";\n}\n\n.p-cascadeselect.p-invalid .p-cascadeselect-label.p-placeholder {\n color: ").concat(dt("cascadeselect.invalid.placeholder.color"), ";\n}\n\n.p-cascadeselect.p-disabled .p-cascadeselect-label {\n color: ").concat(dt("cascadeselect.disabled.color"), ";\n}\n\n.p-cascadeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\n\n.p-cascadeselect-fluid {\n display: flex;\n}\n\n.p-cascadeselect-fluid .p-cascadeselect-label {\n width: 1%;\n}\n\n.p-cascadeselect-overlay {\n background: ").concat(dt("cascadeselect.overlay.background"), ";\n color: ").concat(dt("cascadeselect.overlay.color"), ";\n border: 1px solid ").concat(dt("cascadeselect.overlay.border.color"), ";\n border-radius: ").concat(dt("cascadeselect.overlay.border.radius"), ";\n box-shadow: ").concat(dt("cascadeselect.overlay.shadow"), ";\n}\n\n.p-cascadeselect .p-cascadeselect-overlay {\n min-width: 100%;\n}\n\n.p-cascadeselect-option-list {\n display: none;\n min-width: 100%;\n position: absolute;\n z-index: 1;\n}\n\n.p-cascadeselect-list {\n min-width: 100%;\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: ").concat(dt("cascadeselect.list.padding"), ";\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("cascadeselect.list.gap"), ";\n}\n\n.p-cascadeselect-option {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n border: 0 none;\n color: ").concat(dt("cascadeselect.option.color"), ";\n background: transparent;\n border-radius: ").concat(dt("cascadeselect.option.border.radius"), ";\n}\n\n.p-cascadeselect-option-active {\n overflow: visible;\n}\n\n.p-cascadeselect-option-active > .p-cascadeselect-option-content {\n background: ").concat(dt("cascadeselect.option.focus.background"), ";\n color: ").concat(dt("cascadeselect.option.focus.color"), ";\n}\n\n.p-cascadeselect-option:not(.p-cascadeselect-option-selected):not(.p-disabled).p-focus > .p-cascadeselect-option-content {\n background: ").concat(dt("cascadeselect.option.focus.background"), ";\n color: ").concat(dt("cascadeselect.option.focus.color"), ";\n}\n\n.p-cascadeselect-option:not(.p-cascadeselect-option-selected):not(.p-disabled).p-focus > .p-cascadeselect-option-content > .p-cascadeselect-group-icon-container > .p-cascadeselect-group-icon {\n color: ").concat(dt("cascadeselect.option.icon.focus.color"), ";\n}\n\n.p-cascadeselect-option-selected > .p-cascadeselect-option-content {\n background: ").concat(dt("cascadeselect.option.selected.background"), ";\n color: ").concat(dt("cascadeselect.option.selected.color"), ";\n}\n\n.p-cascadeselect-option-selected.p-focus > .p-cascadeselect-option-content {\n background: ").concat(dt("cascadeselect.option.selected.focus.background"), ";\n color: ").concat(dt("cascadeselect.option.selected.focus.color"), ";\n}\n\n.p-cascadeselect-option-active > .p-cascadeselect-option-list {\n inset-inline-start: 100%;\n inset-block-start: 0;\n}\n\n.p-cascadeselect-option-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n overflow: hidden;\n position: relative;\n padding: ").concat(dt("cascadeselect.option.padding"), ";\n border-radius: ").concat(dt("cascadeselect.option.border.radius"), ";\n transition: background ").concat(dt("cascadeselect.transition.duration"), ", color ").concat(dt("cascadeselect.transition.duration"), ", border-color ").concat(dt("cascadeselect.transition.duration"), ", box-shadow ").concat(dt("cascadeselect.transition.duration"), ", outline-color ").concat(dt("cascadeselect.transition.duration"), ";\n}\n\n.p-cascadeselect-group-icon {\n font-size: ").concat(dt("cascadeselect.option.icon.size"), ";\n width: ").concat(dt("cascadeselect.option.icon.size"), ";\n height: ").concat(dt("cascadeselect.option.icon.size"), ";\n color: ").concat(dt("cascadeselect.option.icon.color"), ";\n}\n\n.p-cascadeselect-group-icon:dir(rtl) {\n transform: rotate(180deg);\n}\n\n.p-cascadeselect-mobile-active .p-cascadeselect-option-list {\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-inline-start: ").concat(dt("tieredmenu.submenu.mobile.indent"), ";\n padding-inline-end: 0;\n}\n\n.p-cascadeselect-mobile-active .p-cascadeselect-group-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-cascadeselect-mobile-active .p-cascadeselect-option-active > .p-cascadeselect-option-content .p-cascadeselect-group-icon {\n transform: rotate(-90deg);\n}\n\n.p-cascadeselect-sm .p-cascadeselect-label {\n font-size: ").concat(dt("cascadeselect.sm.font.size"), ";\n padding-block: ").concat(dt("cascadeselect.sm.padding.y"), ";\n padding-inline: ").concat(dt("cascadeselect.sm.padding.x"), ";\n}\n\n.p-cascadeselect-sm .p-cascadeselect-dropdown .p-icon {\n font-size: ").concat(dt("cascadeselect.sm.font.size"), ";\n width: ").concat(dt("cascadeselect.sm.font.size"), ";\n height: ").concat(dt("cascadeselect.sm.font.size"), ";\n}\n\n.p-cascadeselect-lg .p-cascadeselect-label {\n font-size: ").concat(dt("cascadeselect.lg.font.size"), ";\n padding-block: ").concat(dt("cascadeselect.lg.padding.y"), ";\n padding-inline: ").concat(dt("cascadeselect.lg.padding.x"), ";\n}\n\n.p-cascadeselect-lg .p-cascadeselect-dropdown .p-icon {\n font-size: ").concat(dt("cascadeselect.lg.font.size"), ";\n width: ").concat(dt("cascadeselect.lg.font.size"), ";\n height: ").concat(dt("cascadeselect.lg.font.size"), ";\n}\n"); +}, "theme"); +var inlineStyles$7 = { + root: /* @__PURE__ */ __name(function root6(_ref2) { + var props = _ref2.props; + return { + position: props.appendTo === "self" ? "relative" : void 0 + }; + }, "root") +}; +var classes$C = { + root: /* @__PURE__ */ __name(function root7(_ref3) { + var instance = _ref3.instance, props = _ref3.props; + return ["p-cascadeselect p-component p-inputwrapper", { + "p-cascadeselect-mobile": instance.queryMatches, + "p-disabled": props.disabled, + "p-invalid": instance.$invalid, + "p-variant-filled": instance.$variant === "filled", + "p-focus": instance.focused, + "p-inputwrapper-filled": instance.$filled, + "p-inputwrapper-focus": instance.focused || instance.overlayVisible, + "p-cascadeselect-open": instance.overlayVisible, + "p-cascadeselect-fluid": instance.$fluid, + "p-cascadeselect-sm p-inputfield-sm": props.size === "small", + "p-cascadeselect-lg p-inputfield-lg": props.size === "large" + }]; + }, "root"), + label: /* @__PURE__ */ __name(function label2(_ref4) { + var instance = _ref4.instance, props = _ref4.props; + return ["p-cascadeselect-label", { + "p-placeholder": instance.label === props.placeholder, + "p-cascadeselect-label-empty": !instance.$slots["value"] && (instance.label === "p-emptylabel" || instance.label.length === 0) + }]; + }, "label"), + clearIcon: "p-cascadeselect-clear-icon", + dropdown: "p-cascadeselect-dropdown", + loadingIcon: "p-cascadeselect-loading-icon", + dropdownIcon: "p-cascadeselect-dropdown-icon", + overlay: /* @__PURE__ */ __name(function overlay(_ref5) { + var instance = _ref5.instance; + return ["p-cascadeselect-overlay p-component", { + "p-cascadeselect-mobile-active": instance.queryMatches + }]; + }, "overlay"), + listContainer: "p-cascadeselect-list-container", + list: "p-cascadeselect-list", + option: /* @__PURE__ */ __name(function option(_ref6) { + var instance = _ref6.instance, processedOption = _ref6.processedOption; + return ["p-cascadeselect-option", { + "p-cascadeselect-option-active": instance.isOptionActive(processedOption), + "p-cascadeselect-option-selected": instance.isOptionSelected(processedOption), + "p-focus": instance.isOptionFocused(processedOption), + "p-disabled": instance.isOptionDisabled(processedOption) + }]; + }, "option"), + optionContent: "p-cascadeselect-option-content", + optionText: "p-cascadeselect-option-text", + groupIconContainer: "p-cascadeselect-group-icon-container", + groupIcon: "p-cascadeselect-group-icon", + optionList: "p-cascadeselect-overlay p-cascadeselect-option-list" +}; +var CascadeSelectStyle = BaseStyle.extend({ + name: "cascadeselect", + theme: theme$y, + classes: classes$C, + inlineStyles: inlineStyles$7 +}); +var script$2$8 = { + name: "BaseCascadeSelect", + "extends": script$1n, + props: { + options: Array, + optionLabel: null, + optionValue: null, + optionDisabled: null, + optionGroupLabel: null, + optionGroupChildren: null, + placeholder: String, + breakpoint: { + type: String, + "default": "960px" + }, + dataKey: null, + showClear: { + type: Boolean, + "default": false + }, + clearIcon: { + type: String, + "default": void 0 + }, + inputId: { + type: String, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + inputProps: { + type: null, + "default": null + }, + panelClass: { + type: [String, Object], + "default": null + }, + panelStyle: { + type: Object, + "default": null + }, + panelProps: { + type: null, + "default": null + }, + overlayClass: { + type: [String, Object], + "default": null + }, + overlayStyle: { + type: Object, + "default": null + }, + overlayProps: { + type: null, + "default": null + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + loading: { + type: Boolean, + "default": false + }, + dropdownIcon: { + type: String, + "default": void 0 + }, + loadingIcon: { + type: String, + "default": void 0 + }, + optionGroupIcon: { + type: String, + "default": void 0 + }, + autoOptionFocus: { + type: Boolean, + "default": false + }, + selectOnFocus: { + type: Boolean, + "default": false + }, + focusOnHover: { + type: Boolean, + "default": true + }, + searchLocale: { + type: String, + "default": void 0 + }, + searchMessage: { + type: String, + "default": null + }, + selectionMessage: { + type: String, + "default": null + }, + emptySelectionMessage: { + type: String, + "default": null + }, + emptySearchMessage: { + type: String, + "default": null + }, + emptyMessage: { + type: String, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: CascadeSelectStyle, + provide: /* @__PURE__ */ __name(function provide11() { + return { + $pcCascadeSelect: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$E = { + name: "CascadeSelectSub", + hostName: "CascadeSelect", + "extends": script$1d, + emits: ["option-change", "option-focus-change", "option-focus-enter-change"], + container: null, + props: { + selectId: String, + focusedOptionId: String, + options: Array, + optionLabel: String, + optionValue: String, + optionDisabled: null, + optionGroupIcon: String, + optionGroupLabel: String, + optionGroupChildren: { + type: [String, Array], + "default": null + }, + activeOptionPath: Array, + level: Number, + templates: null, + value: null + }, + methods: { + getOptionId: /* @__PURE__ */ __name(function getOptionId(processedOption) { + return "".concat(this.selectId, "_").concat(processedOption.key); + }, "getOptionId"), + getOptionLabel: /* @__PURE__ */ __name(function getOptionLabel(processedOption) { + return this.optionLabel ? resolveFieldData(processedOption.option, this.optionLabel) : processedOption.option; + }, "getOptionLabel"), + getOptionValue: /* @__PURE__ */ __name(function getOptionValue(processedOption) { + return this.optionValue ? resolveFieldData(processedOption.option, this.optionValue) : processedOption.option; + }, "getOptionValue"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions(processedOption, index, key) { + return this.ptm(key, { + context: { + option: processedOption, + index, + level: this.level, + optionGroup: this.isOptionGroup(processedOption), + active: this.isOptionActive(processedOption), + focused: this.isOptionFocused(processedOption), + disabled: this.isOptionDisabled(processedOption) + } + }); + }, "getPTOptions"), + isOptionDisabled: /* @__PURE__ */ __name(function isOptionDisabled(processedOption) { + return this.optionDisabled ? resolveFieldData(processedOption.option, this.optionDisabled) : false; + }, "isOptionDisabled"), + getOptionGroupLabel: /* @__PURE__ */ __name(function getOptionGroupLabel(processedOption) { + return this.optionGroupLabel ? resolveFieldData(processedOption.option, this.optionGroupLabel) : null; + }, "getOptionGroupLabel"), + getOptionGroupChildren: /* @__PURE__ */ __name(function getOptionGroupChildren(processedOption) { + return processedOption.children; + }, "getOptionGroupChildren"), + isOptionGroup: /* @__PURE__ */ __name(function isOptionGroup(processedOption) { + return isNotEmpty(processedOption.children); + }, "isOptionGroup"), + isOptionSelected: /* @__PURE__ */ __name(function isOptionSelected(processedOption) { + return equals(this.value, processedOption === null || processedOption === void 0 ? void 0 : processedOption.option); + }, "isOptionSelected"), + isOptionActive: /* @__PURE__ */ __name(function isOptionActive(processedOption) { + return this.activeOptionPath.some(function(path) { + return path.key === processedOption.key; + }); + }, "isOptionActive"), + isOptionFocused: /* @__PURE__ */ __name(function isOptionFocused(processedOption) { + return this.focusedOptionId === this.getOptionId(processedOption); + }, "isOptionFocused"), + getOptionLabelToRender: /* @__PURE__ */ __name(function getOptionLabelToRender(processedOption) { + return this.isOptionGroup(processedOption) ? this.getOptionGroupLabel(processedOption) : this.getOptionLabel(processedOption); + }, "getOptionLabelToRender"), + onOptionClick: /* @__PURE__ */ __name(function onOptionClick(event2, processedOption) { + this.$emit("option-change", { + originalEvent: event2, + processedOption, + isFocus: true + }); + }, "onOptionClick"), + onOptionMouseEnter: /* @__PURE__ */ __name(function onOptionMouseEnter(event2, processedOption) { + this.$emit("option-focus-enter-change", { + originalEvent: event2, + processedOption + }); + }, "onOptionMouseEnter"), + onOptionMouseMove: /* @__PURE__ */ __name(function onOptionMouseMove(event2, processedOption) { + this.$emit("option-focus-change", { + originalEvent: event2, + processedOption + }); + }, "onOptionMouseMove"), + containerRef: /* @__PURE__ */ __name(function containerRef2(el) { + this.container = el; + }, "containerRef"), + listAriaLabel: /* @__PURE__ */ __name(function listAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.listLabel : void 0; + }, "listAriaLabel") + }, + directives: { + ripple: Ripple + }, + components: { + AngleRightIcon: script$1q + } +}; +var _hoisted_1$1$6 = ["id", "aria-label", "aria-selected", "aria-expanded", "aria-level", "aria-setsize", "aria-posinset", "data-p-option-group", "data-p-active", "data-p-focus", "data-p-disabled"]; +var _hoisted_2$k = ["onClick", "onMouseenter", "onMousemove"]; +function render$1$8(_ctx, _cache, $props, $setup, $data, $options) { + var _component_AngleRightIcon = resolveComponent("AngleRightIcon"); + var _component_CascadeSelectSub = resolveComponent("CascadeSelectSub", true); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("ul", mergeProps({ + ref: $options.containerRef, + "class": _ctx.cx("list") + }, $props.level === 0 ? _ctx.ptm("list") : _ctx.ptm("optionList")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.options, function(processedOption, index) { + return openBlock(), createElementBlock("li", mergeProps({ + key: $options.getOptionLabelToRender(processedOption), + id: $options.getOptionId(processedOption), + "class": _ctx.cx("option", { + processedOption + }), + role: "treeitem", + "aria-label": $options.getOptionLabelToRender(processedOption), + "aria-selected": $options.isOptionGroup(processedOption) ? void 0 : $options.isOptionSelected(processedOption), + "aria-expanded": $options.isOptionGroup(processedOption) ? $options.isOptionActive(processedOption) : void 0, + "aria-level": $props.level + 1, + "aria-setsize": $props.options.length, + "aria-posinset": index + 1, + ref_for: true + }, $options.getPTOptions(processedOption, index, "option"), { + "data-p-option-group": $options.isOptionGroup(processedOption), + "data-p-active": $options.isOptionActive(processedOption), + "data-p-focus": $options.isOptionFocused(processedOption), + "data-p-disabled": $options.isOptionDisabled(processedOption) + }), [withDirectives((openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("optionContent"), + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onOptionClick($event, processedOption); + }, "onClick"), + onMouseenter: /* @__PURE__ */ __name(function onMouseenter($event) { + return $options.onOptionMouseEnter($event, processedOption); + }, "onMouseenter"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onOptionMouseMove($event, processedOption); + }, "onMousemove"), + ref_for: true + }, $options.getPTOptions(processedOption, index, "optionContent")), [$props.templates["option"] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates["option"]), { + key: 0, + option: processedOption.option, + selected: $options.isOptionGroup(processedOption) ? false : $options.isOptionSelected(processedOption) + }, null, 8, ["option", "selected"])) : (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": _ctx.cx("optionText"), + ref_for: true + }, $options.getPTOptions(processedOption, index, "optionText")), toDisplayString($options.getOptionLabelToRender(processedOption)), 17)), $options.isOptionGroup(processedOption) ? (openBlock(), createElementBlock("span", { + key: 2, + "class": normalizeClass(_ctx.cx("groupIconContainer")) + }, [$props.templates["optiongroupicon"] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates["optiongroupicon"]), { + key: 0, + "class": normalizeClass(_ctx.cx("groupIcon")) + }, null, 8, ["class"])) : $props.optionGroupIcon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": [_ctx.cx("groupIcon"), $props.optionGroupIcon], + "aria-hidden": "true", + ref_for: true + }, $options.getPTOptions(processedOption, index, "groupIcon")), null, 16)) : (openBlock(), createBlock(_component_AngleRightIcon, mergeProps({ + key: 2, + "class": _ctx.cx("groupIcon"), + "aria-hidden": "true", + ref_for: true + }, $options.getPTOptions(processedOption, index, "groupIcon")), null, 16, ["class"]))], 2)) : createCommentVNode("", true)], 16, _hoisted_2$k)), [[_directive_ripple]]), $options.isOptionGroup(processedOption) && $options.isOptionActive(processedOption) ? (openBlock(), createBlock(_component_CascadeSelectSub, { + key: 0, + role: "group", + "class": normalizeClass(_ctx.cx("optionList")), + selectId: $props.selectId, + focusedOptionId: $props.focusedOptionId, + options: $options.getOptionGroupChildren(processedOption), + activeOptionPath: $props.activeOptionPath, + level: $props.level + 1, + templates: $props.templates, + optionLabel: $props.optionLabel, + optionValue: $props.optionValue, + optionDisabled: $props.optionDisabled, + optionGroupIcon: $props.optionGroupIcon, + optionGroupLabel: $props.optionGroupLabel, + optionGroupChildren: $props.optionGroupChildren, + value: $props.value, + onOptionChange: _cache[0] || (_cache[0] = function($event) { + return _ctx.$emit("option-change", $event); + }), + onOptionFocusChange: _cache[1] || (_cache[1] = function($event) { + return _ctx.$emit("option-focus-change", $event); + }), + onOptionFocusEnterChange: _cache[2] || (_cache[2] = function($event) { + return _ctx.$emit("option-focus-enter-change", $event); + }), + pt: _ctx.pt, + unstyled: _ctx.unstyled + }, null, 8, ["class", "selectId", "focusedOptionId", "options", "activeOptionPath", "level", "templates", "optionLabel", "optionValue", "optionDisabled", "optionGroupIcon", "optionGroupLabel", "optionGroupChildren", "value", "pt", "unstyled"])) : createCommentVNode("", true)], 16, _hoisted_1$1$6); + }), 128))], 16); +} +__name(render$1$8, "render$1$8"); +script$1$E.render = render$1$8; +function _typeof$1$3(o) { + "@babel/helpers - typeof"; + return _typeof$1$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$1$3(o); +} +__name(_typeof$1$3, "_typeof$1$3"); +function ownKeys$1$2(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$1$2, "ownKeys$1$2"); +function _objectSpread$1$2(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$1$2(Object(t2), true).forEach(function(r2) { + _defineProperty$1$3(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$1$2(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$1$2, "_objectSpread$1$2"); +function _defineProperty$1$3(e, r, t2) { + return (r = _toPropertyKey$1$3(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$1$3, "_defineProperty$1$3"); +function _toPropertyKey$1$3(t2) { + var i = _toPrimitive$1$3(t2, "string"); + return "symbol" == _typeof$1$3(i) ? i : i + ""; +} +__name(_toPropertyKey$1$3, "_toPropertyKey$1$3"); +function _toPrimitive$1$3(t2, r) { + if ("object" != _typeof$1$3(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$1$3(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$1$3, "_toPrimitive$1$3"); +var script$10 = { + name: "CascadeSelect", + "extends": script$2$8, + inheritAttrs: false, + emits: ["change", "focus", "blur", "click", "group-change", "before-show", "before-hide", "hide", "show"], + outsideClickListener: null, + matchMediaListener: null, + scrollHandler: null, + resizeListener: null, + overlay: null, + searchTimeout: null, + searchValue: null, + data: /* @__PURE__ */ __name(function data4() { + return { + id: this.$attrs.id, + clicked: false, + focused: false, + focusedOptionInfo: { + index: -1, + level: 0, + parentKey: "" + }, + activeOptionPath: [], + overlayVisible: false, + dirty: false, + mobileActive: false, + query: null, + queryMatches: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId2(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + options: /* @__PURE__ */ __name(function options() { + this.autoUpdateModel(); + }, "options") + }, + mounted: /* @__PURE__ */ __name(function mounted7() { + this.id = this.id || UniqueComponentId(); + this.autoUpdateModel(); + this.bindMatchMediaListener(); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount3() { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + this.unbindMatchMediaListener(); + if (this.scrollHandler) { + this.scrollHandler.destroy(); + this.scrollHandler = null; + } + if (this.overlay) { + ZIndex.clear(this.overlay); + this.overlay = null; + } + if (this.mobileActive) { + this.mobileActive = false; + } + }, "beforeUnmount"), + methods: { + getOptionLabel: /* @__PURE__ */ __name(function getOptionLabel2(option4) { + return this.optionLabel ? resolveFieldData(option4, this.optionLabel) : option4; + }, "getOptionLabel"), + getOptionValue: /* @__PURE__ */ __name(function getOptionValue2(option4) { + return this.optionValue ? resolveFieldData(option4, this.optionValue) : option4; + }, "getOptionValue"), + isOptionDisabled: /* @__PURE__ */ __name(function isOptionDisabled2(option4) { + return this.optionDisabled ? resolveFieldData(option4, this.optionDisabled) : false; + }, "isOptionDisabled"), + getOptionGroupLabel: /* @__PURE__ */ __name(function getOptionGroupLabel2(optionGroup) { + return this.optionGroupLabel ? resolveFieldData(optionGroup, this.optionGroupLabel) : null; + }, "getOptionGroupLabel"), + getOptionGroupChildren: /* @__PURE__ */ __name(function getOptionGroupChildren2(optionGroup, level) { + return isString(this.optionGroupChildren) ? resolveFieldData(optionGroup, this.optionGroupChildren) : resolveFieldData(optionGroup, this.optionGroupChildren[level]); + }, "getOptionGroupChildren"), + isOptionGroup: /* @__PURE__ */ __name(function isOptionGroup2(option4, level) { + return Object.prototype.hasOwnProperty.call(option4, this.optionGroupChildren[level]); + }, "isOptionGroup"), + getProccessedOptionLabel: /* @__PURE__ */ __name(function getProccessedOptionLabel() { + var processedOption = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + var grouped = this.isProccessedOptionGroup(processedOption); + return grouped ? this.getOptionGroupLabel(processedOption.option, processedOption.level) : this.getOptionLabel(processedOption.option); + }, "getProccessedOptionLabel"), + isProccessedOptionGroup: /* @__PURE__ */ __name(function isProccessedOptionGroup(processedOption) { + return isNotEmpty(processedOption === null || processedOption === void 0 ? void 0 : processedOption.children); + }, "isProccessedOptionGroup"), + show: /* @__PURE__ */ __name(function show(isFocus) { + this.$emit("before-show"); + this.overlayVisible = true; + this.activeOptionPath = this.$filled ? this.findOptionPathByValue(this.d_value) : this.activeOptionPath; + if (this.$filled && isNotEmpty(this.activeOptionPath)) { + var processedOption = this.activeOptionPath[this.activeOptionPath.length - 1]; + this.focusedOptionInfo = { + index: processedOption.index, + level: processedOption.level, + parentKey: processedOption.parentKey + }; + } else { + this.focusedOptionInfo = { + index: this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(), + level: 0, + parentKey: "" + }; + } + isFocus && focus(this.$refs.focusInput); + }, "show"), + hide: /* @__PURE__ */ __name(function hide2(isFocus) { + var _this = this; + var _hide = /* @__PURE__ */ __name(function _hide2() { + _this.$emit("before-hide"); + _this.overlayVisible = false; + _this.clicked = false; + _this.activeOptionPath = []; + _this.focusedOptionInfo = { + index: -1, + level: 0, + parentKey: "" + }; + isFocus && focus(_this.$refs.focusInput); + }, "_hide"); + setTimeout(function() { + _hide(); + }, 0); + }, "hide"), + onFocus: /* @__PURE__ */ __name(function onFocus3(event2) { + if (this.disabled) { + return; + } + this.focused = true; + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur2(event2) { + var _this$formField$onBlu, _this$formField; + this.focused = false; + this.focusedOptionInfo = { + index: -1, + level: 0, + parentKey: "" + }; + this.searchValue = ""; + this.$emit("blur", event2); + (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown2(event2) { + if (this.disabled || this.loading) { + event2.preventDefault(); + return; + } + var metaKey = event2.metaKey || event2.ctrlKey; + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "ArrowUp": + this.onArrowUpKey(event2); + break; + case "ArrowLeft": + this.onArrowLeftKey(event2); + break; + case "ArrowRight": + this.onArrowRightKey(event2); + break; + case "Home": + this.onHomeKey(event2); + break; + case "End": + this.onEndKey(event2); + break; + case "Space": + this.onSpaceKey(event2); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event2); + break; + case "Escape": + this.onEscapeKey(event2); + break; + case "Tab": + this.onTabKey(event2); + break; + case "PageDown": + case "PageUp": + case "Backspace": + case "ShiftLeft": + case "ShiftRight": + break; + default: + if (!metaKey && isPrintableCharacter(event2.key)) { + !this.overlayVisible && this.show(); + this.searchOptions(event2, event2.key); + } + break; + } + this.clicked = false; + }, "onKeyDown"), + onOptionChange: /* @__PURE__ */ __name(function onOptionChange(event2) { + var processedOption = event2.processedOption, type = event2.type; + if (isEmpty(processedOption)) return; + var index = processedOption.index, key = processedOption.key, level = processedOption.level, parentKey = processedOption.parentKey, children = processedOption.children; + var grouped = isNotEmpty(children); + var activeOptionPath = this.activeOptionPath.filter(function(p) { + return p.parentKey !== parentKey && p.parentKey !== key; + }); + this.focusedOptionInfo = { + index, + level, + parentKey + }; + if (type == "hover" && this.queryMatches) { + return; + } + if (grouped) { + activeOptionPath.push(processedOption); + } + this.activeOptionPath = activeOptionPath; + }, "onOptionChange"), + onOptionClick: /* @__PURE__ */ __name(function onOptionClick2(event2) { + var originalEvent = event2.originalEvent, processedOption = event2.processedOption, isFocus = event2.isFocus, isHide = event2.isHide, preventSelection = event2.preventSelection; + var index = processedOption.index, key = processedOption.key, level = processedOption.level, parentKey = processedOption.parentKey; + var grouped = this.isProccessedOptionGroup(processedOption); + var selected3 = this.isSelected(processedOption); + if (selected3) { + this.activeOptionPath = this.activeOptionPath.filter(function(p) { + return key !== p.key && key.startsWith(p.key); + }); + this.focusedOptionInfo = { + index, + level, + parentKey + }; + } else { + if (grouped) { + this.onOptionChange(event2); + this.onOptionGroupSelect(originalEvent, processedOption); + } else { + var activeOptionPath = this.activeOptionPath.filter(function(p) { + return p.parentKey !== parentKey; + }); + activeOptionPath.push(processedOption); + this.focusedOptionInfo = { + index, + level, + parentKey + }; + if (!preventSelection || (processedOption === null || processedOption === void 0 ? void 0 : processedOption.children.length) !== 0) { + this.activeOptionPath = activeOptionPath; + this.onOptionSelect(originalEvent, processedOption, isHide); + } + } + } + isFocus && focus(this.$refs.focusInput); + }, "onOptionClick"), + onOptionMouseEnter: /* @__PURE__ */ __name(function onOptionMouseEnter2(event2) { + if (this.focusOnHover) { + if (this.dirty || !this.dirty && isNotEmpty(this.d_value)) { + this.onOptionChange(_objectSpread$1$2(_objectSpread$1$2({}, event2), {}, { + type: "hover" + })); + } else if (!this.dirty && event2.processedOption.level === 0) { + this.onOptionClick(_objectSpread$1$2(_objectSpread$1$2({}, event2), {}, { + type: "hover" + })); + } + } + }, "onOptionMouseEnter"), + onOptionMouseMove: /* @__PURE__ */ __name(function onOptionMouseMove2(event2) { + if (this.focused && this.focusOnHover) { + this.changeFocusedOptionIndex(event2, event2.processedOption.index); + } + }, "onOptionMouseMove"), + onOptionSelect: /* @__PURE__ */ __name(function onOptionSelect(event2, processedOption) { + var isHide = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true; + var value2 = this.getOptionValue(processedOption === null || processedOption === void 0 ? void 0 : processedOption.option); + this.activeOptionPath.forEach(function(p) { + return p.selected = true; + }); + this.updateModel(event2, value2); + isHide && this.hide(true); + }, "onOptionSelect"), + onOptionGroupSelect: /* @__PURE__ */ __name(function onOptionGroupSelect(event2, processedOption) { + this.dirty = true; + this.$emit("group-change", { + originalEvent: event2, + value: processedOption.option + }); + }, "onOptionGroupSelect"), + onContainerClick: /* @__PURE__ */ __name(function onContainerClick(event2) { + if (this.disabled || this.loading) { + return; + } + if (event2.target.getAttribute("data-pc-section") === "clearicon" || event2.target.closest('[data-pc-section="clearicon"]')) { + return; + } else if (!this.overlay || !this.overlay.contains(event2.target)) { + this.overlayVisible ? this.hide() : this.show(); + focus(this.$refs.focusInput); + } + this.clicked = true; + this.$emit("click", event2); + }, "onContainerClick"), + onClearClick: /* @__PURE__ */ __name(function onClearClick(event2) { + this.updateModel(event2, null); + }, "onClearClick"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick2(event2) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event2, + target: this.$el + }); + }, "onOverlayClick"), + onOverlayKeyDown: /* @__PURE__ */ __name(function onOverlayKeyDown2(event2) { + switch (event2.code) { + case "Escape": + this.onEscapeKey(event2); + break; + } + }, "onOverlayKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey2(event2) { + if (!this.overlayVisible) { + this.show(); + } else { + var optionIndex = this.focusedOptionInfo.index !== -1 ? this.findNextOptionIndex(this.focusedOptionInfo.index) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex(); + this.changeFocusedOptionIndex(event2, optionIndex, true); + } + event2.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey2(event2) { + if (event2.altKey) { + if (this.focusedOptionInfo.index !== -1) { + var processedOption = this.visibleOptions[this.focusedOptionInfo.index]; + var grouped = this.isProccessedOptionGroup(processedOption); + !grouped && this.onOptionChange({ + originalEvent: event2, + processedOption + }); + } + this.overlayVisible && this.hide(); + event2.preventDefault(); + } else { + var optionIndex = this.focusedOptionInfo.index !== -1 ? this.findPrevOptionIndex(this.focusedOptionInfo.index) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex(); + this.changeFocusedOptionIndex(event2, optionIndex, true); + !this.overlayVisible && this.show(); + event2.preventDefault(); + } + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey(event2) { + var _this2 = this; + if (this.overlayVisible) { + var processedOption = this.visibleOptions[this.focusedOptionInfo.index]; + var parentOption = this.activeOptionPath.find(function(p) { + return p.key === (processedOption === null || processedOption === void 0 ? void 0 : processedOption.parentKey); + }); + var matched = this.focusedOptionInfo.parentKey === "" || parentOption && parentOption.key === this.focusedOptionInfo.parentKey; + var root35 = isEmpty(processedOption === null || processedOption === void 0 ? void 0 : processedOption.parent); + if (matched) { + this.activeOptionPath = this.activeOptionPath.filter(function(p) { + return p.parentKey !== _this2.focusedOptionInfo.parentKey; + }); + } + if (!root35) { + this.focusedOptionInfo = { + index: -1, + parentKey: parentOption ? parentOption.parentKey : "" + }; + this.searchValue = ""; + this.onArrowDownKey(event2); + } + event2.preventDefault(); + } + }, "onArrowLeftKey"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey(event2) { + if (this.overlayVisible) { + var processedOption = this.visibleOptions[this.focusedOptionInfo.index]; + var grouped = this.isProccessedOptionGroup(processedOption); + if (grouped) { + var matched = this.activeOptionPath.some(function(p) { + return (processedOption === null || processedOption === void 0 ? void 0 : processedOption.key) === p.key; + }); + if (matched) { + this.focusedOptionInfo = { + index: -1, + parentKey: processedOption === null || processedOption === void 0 ? void 0 : processedOption.key + }; + this.searchValue = ""; + this.onArrowDownKey(event2); + } else { + this.onOptionChange({ + originalEvent: event2, + processedOption + }); + } + } + event2.preventDefault(); + } + }, "onArrowRightKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey2(event2) { + this.changeFocusedOptionIndex(event2, this.findFirstOptionIndex()); + !this.overlayVisible && this.show(); + event2.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey2(event2) { + this.changeFocusedOptionIndex(event2, this.findLastOptionIndex()); + !this.overlayVisible && this.show(); + event2.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey2(event2) { + if (!this.overlayVisible) { + this.focusedOptionInfo.index !== -1; + this.onArrowDownKey(event2); + } else { + if (this.focusedOptionInfo.index !== -1) { + var processedOption = this.visibleOptions[this.focusedOptionInfo.index]; + var grouped = this.isProccessedOptionGroup(processedOption); + this.onOptionClick({ + originalEvent: event2, + processedOption, + preventSelection: false + }); + !grouped && this.hide(); + } + } + event2.preventDefault(); + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey(event2) { + this.onEnterKey(event2); + }, "onSpaceKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey(event2) { + this.overlayVisible && this.hide(true); + event2.preventDefault(); + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey(event2) { + if (this.focusedOptionInfo.index !== -1) { + var processedOption = this.visibleOptions[this.focusedOptionInfo.index]; + var grouped = this.isProccessedOptionGroup(processedOption); + !grouped && this.onOptionChange({ + originalEvent: event2, + processedOption + }); + } + this.overlayVisible && this.hide(); + }, "onTabKey"), + onOverlayEnter: /* @__PURE__ */ __name(function onOverlayEnter2(el) { + ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + this.alignOverlay(); + this.scrollInView(); + }, "onOverlayEnter"), + onOverlayAfterEnter: /* @__PURE__ */ __name(function onOverlayAfterEnter() { + this.bindOutsideClickListener(); + this.bindScrollListener(); + this.bindResizeListener(); + this.$emit("show"); + }, "onOverlayAfterEnter"), + onOverlayLeave: /* @__PURE__ */ __name(function onOverlayLeave2() { + this.unbindOutsideClickListener(); + this.unbindScrollListener(); + this.unbindResizeListener(); + this.$emit("hide"); + this.overlay = null; + this.dirty = false; + }, "onOverlayLeave"), + onOverlayAfterLeave: /* @__PURE__ */ __name(function onOverlayAfterLeave2(el) { + ZIndex.clear(el); + }, "onOverlayAfterLeave"), + alignOverlay: /* @__PURE__ */ __name(function alignOverlay2() { + if (this.appendTo === "self") { + relativePosition(this.overlay, this.$el); + } else { + this.overlay.style.minWidth = getOuterWidth(this.$el) + "px"; + absolutePosition(this.overlay, this.$el); + } + }, "alignOverlay"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener3() { + var _this3 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event2) { + if (_this3.overlayVisible && _this3.overlay && !_this3.$el.contains(event2.target) && !_this3.overlay.contains(event2.target)) { + _this3.hide(); + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener3() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener2() { + var _this4 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function() { + if (_this4.overlayVisible) { + _this4.hide(); + } + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener2() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener2() { + var _this5 = this; + if (!this.resizeListener) { + this.resizeListener = function() { + if (_this5.overlayVisible && !isTouchDevice()) { + _this5.hide(); + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener2() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + bindMatchMediaListener: /* @__PURE__ */ __name(function bindMatchMediaListener2() { + var _this6 = this; + if (!this.matchMediaListener) { + var query = matchMedia("(max-width: ".concat(this.breakpoint, ")")); + this.query = query; + this.queryMatches = query.matches; + this.matchMediaListener = function() { + _this6.queryMatches = query.matches; + _this6.mobileActive = false; + }; + this.query.addEventListener("change", this.matchMediaListener); + } + }, "bindMatchMediaListener"), + unbindMatchMediaListener: /* @__PURE__ */ __name(function unbindMatchMediaListener2() { + if (this.matchMediaListener) { + this.query.removeEventListener("change", this.matchMediaListener); + this.matchMediaListener = null; + } + }, "unbindMatchMediaListener"), + isOptionMatched: /* @__PURE__ */ __name(function isOptionMatched(processedOption) { + var _this$getProccessedOp; + return this.isValidOption(processedOption) && ((_this$getProccessedOp = this.getProccessedOptionLabel(processedOption)) === null || _this$getProccessedOp === void 0 ? void 0 : _this$getProccessedOp.toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale))); + }, "isOptionMatched"), + isValidOption: /* @__PURE__ */ __name(function isValidOption(processedOption) { + return isNotEmpty(processedOption) && !this.isOptionDisabled(processedOption.option); + }, "isValidOption"), + isValidSelectedOption: /* @__PURE__ */ __name(function isValidSelectedOption(processedOption) { + return this.isValidOption(processedOption) && this.isSelected(processedOption); + }, "isValidSelectedOption"), + isSelected: /* @__PURE__ */ __name(function isSelected2(processedOption) { + return this.activeOptionPath.some(function(p) { + return p.key === processedOption.key; + }); + }, "isSelected"), + findFirstOptionIndex: /* @__PURE__ */ __name(function findFirstOptionIndex() { + var _this7 = this; + return this.visibleOptions.findIndex(function(processedOption) { + return _this7.isValidOption(processedOption); + }); + }, "findFirstOptionIndex"), + findLastOptionIndex: /* @__PURE__ */ __name(function findLastOptionIndex() { + var _this8 = this; + return findLastIndex(this.visibleOptions, function(processedOption) { + return _this8.isValidOption(processedOption); + }); + }, "findLastOptionIndex"), + findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex(index) { + var _this9 = this; + var matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function(processedOption) { + return _this9.isValidOption(processedOption); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index; + }, "findNextOptionIndex"), + findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex(index) { + var _this10 = this; + var matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function(processedOption) { + return _this10.isValidOption(processedOption); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex : index; + }, "findPrevOptionIndex"), + findSelectedOptionIndex: /* @__PURE__ */ __name(function findSelectedOptionIndex() { + var _this11 = this; + return this.visibleOptions.findIndex(function(processedOption) { + return _this11.isValidSelectedOption(processedOption); + }); + }, "findSelectedOptionIndex"), + findFirstFocusedOptionIndex: /* @__PURE__ */ __name(function findFirstFocusedOptionIndex() { + var selectedIndex = this.findSelectedOptionIndex(); + return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex; + }, "findFirstFocusedOptionIndex"), + findLastFocusedOptionIndex: /* @__PURE__ */ __name(function findLastFocusedOptionIndex() { + var selectedIndex = this.findSelectedOptionIndex(); + return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex; + }, "findLastFocusedOptionIndex"), + findOptionPathByValue: /* @__PURE__ */ __name(function findOptionPathByValue(value2, processedOptions2) { + var level = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0; + processedOptions2 = processedOptions2 || level === 0 && this.processedOptions; + if (!processedOptions2) return null; + if (isEmpty(value2)) return []; + for (var i = 0; i < processedOptions2.length; i++) { + var processedOption = processedOptions2[i]; + if (equals(value2, this.getOptionValue(processedOption.option), this.equalityKey)) { + return [processedOption]; + } + var matchedOptions = this.findOptionPathByValue(value2, processedOption.children, level + 1); + if (matchedOptions) { + matchedOptions.unshift(processedOption); + return matchedOptions; + } + } + }, "findOptionPathByValue"), + searchOptions: /* @__PURE__ */ __name(function searchOptions(event2, _char) { + var _this12 = this; + this.searchValue = (this.searchValue || "") + _char; + var optionIndex = -1; + var matched = false; + if (isNotEmpty(this.searchValue)) { + if (this.focusedOptionInfo.index !== -1) { + optionIndex = this.visibleOptions.slice(this.focusedOptionInfo.index).findIndex(function(processedOption) { + return _this12.isOptionMatched(processedOption); + }); + optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionInfo.index).findIndex(function(processedOption) { + return _this12.isOptionMatched(processedOption); + }) : optionIndex + this.focusedOptionInfo.index; + } else { + optionIndex = this.visibleOptions.findIndex(function(processedOption) { + return _this12.isOptionMatched(processedOption); + }); + } + if (optionIndex !== -1) { + matched = true; + } + if (optionIndex === -1 && this.focusedOptionInfo.index === -1) { + optionIndex = this.findFirstFocusedOptionIndex(); + } + if (optionIndex !== -1) { + this.changeFocusedOptionIndex(event2, optionIndex); + } + } + if (this.searchTimeout) { + clearTimeout(this.searchTimeout); + } + this.searchTimeout = setTimeout(function() { + _this12.searchValue = ""; + _this12.searchTimeout = null; + }, 500); + return matched; + }, "searchOptions"), + changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex(event2, index, preventSelection) { + if (this.focusedOptionInfo.index !== index) { + this.focusedOptionInfo.index = index; + this.scrollInView(); + if (this.focusOnHover) { + this.onOptionClick({ + originalEvent: event2, + processedOption: this.visibleOptions[index], + isHide: false, + preventSelection + }); + } + if (this.selectOnFocus) { + this.onOptionChange({ + originalEvent: event2, + processedOption: this.visibleOptions[index], + isHide: false + }); + } + } + }, "changeFocusedOptionIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView2() { + var _this13 = this; + var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + this.$nextTick(function() { + var id4 = index !== -1 ? "".concat(_this13.id, "_").concat(index) : _this13.focusedOptionId; + var element = findSingle(_this13.list, 'li[id="'.concat(id4, '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "start" + }); + } + }); + }, "scrollInView"), + autoUpdateModel: /* @__PURE__ */ __name(function autoUpdateModel() { + if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) { + this.focusedOptionInfo.index = this.findFirstFocusedOptionIndex(); + this.onOptionChange({ + processedOption: this.visibleOptions[this.focusedOptionInfo.index], + isHide: false + }); + !this.overlayVisible && (this.focusedOptionInfo = { + index: -1, + level: 0, + parentKey: "" + }); + } + }, "autoUpdateModel"), + updateModel: /* @__PURE__ */ __name(function updateModel2(event2, value2) { + this.writeValue(value2, event2); + this.$emit("change", { + originalEvent: event2, + value: value2 + }); + }, "updateModel"), + createProcessedOptions: /* @__PURE__ */ __name(function createProcessedOptions(options4) { + var _this14 = this; + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + var parent = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var parentKey = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ""; + var processedOptions2 = []; + options4 && options4.forEach(function(option4, index) { + var key = (parentKey !== "" ? parentKey + "_" : "") + index; + var newOption = { + option: option4, + index, + level, + key, + parent, + parentKey + }; + newOption["children"] = _this14.createProcessedOptions(_this14.getOptionGroupChildren(option4, level), level + 1, newOption, key); + processedOptions2.push(newOption); + }); + return processedOptions2; + }, "createProcessedOptions"), + overlayRef: /* @__PURE__ */ __name(function overlayRef2(el) { + this.overlay = el; + }, "overlayRef") + }, + computed: { + // @deprecated use $filled instead. + hasSelectedOption: /* @__PURE__ */ __name(function hasSelectedOption() { + return this.$filled; + }, "hasSelectedOption"), + label: /* @__PURE__ */ __name(function label3() { + var label12 = this.placeholder || "p-emptylabel"; + if (this.$filled) { + var activeOptionPath = this.findOptionPathByValue(this.d_value); + var processedOption = isNotEmpty(activeOptionPath) ? activeOptionPath[activeOptionPath.length - 1] : null; + return processedOption ? this.getOptionLabel(processedOption.option) : label12; + } + return label12; + }, "label"), + processedOptions: /* @__PURE__ */ __name(function processedOptions() { + return this.createProcessedOptions(this.options || []); + }, "processedOptions"), + visibleOptions: /* @__PURE__ */ __name(function visibleOptions() { + var _this15 = this; + var processedOption = this.activeOptionPath.find(function(p) { + return p.key === _this15.focusedOptionInfo.parentKey; + }); + return processedOption ? processedOption.children : this.processedOptions; + }, "visibleOptions"), + equalityKey: /* @__PURE__ */ __name(function equalityKey() { + return this.optionValue ? null : this.dataKey; + }, "equalityKey"), + searchResultMessageText: /* @__PURE__ */ __name(function searchResultMessageText() { + return isNotEmpty(this.visibleOptions) ? this.searchMessageText.replaceAll("{0}", this.visibleOptions.length) : this.emptySearchMessageText; + }, "searchResultMessageText"), + searchMessageText: /* @__PURE__ */ __name(function searchMessageText() { + return this.searchMessage || this.$primevue.config.locale.searchMessage || ""; + }, "searchMessageText"), + emptySearchMessageText: /* @__PURE__ */ __name(function emptySearchMessageText() { + return this.emptySearchMessage || this.$primevue.config.locale.emptySearchMessage || ""; + }, "emptySearchMessageText"), + emptyMessageText: /* @__PURE__ */ __name(function emptyMessageText() { + return this.emptyMessage || this.$primevue.config.locale.emptyMessage || ""; + }, "emptyMessageText"), + selectionMessageText: /* @__PURE__ */ __name(function selectionMessageText() { + return this.selectionMessage || this.$primevue.config.locale.selectionMessage || ""; + }, "selectionMessageText"), + emptySelectionMessageText: /* @__PURE__ */ __name(function emptySelectionMessageText() { + return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || ""; + }, "emptySelectionMessageText"), + selectedMessageText: /* @__PURE__ */ __name(function selectedMessageText() { + return this.$filled ? this.selectionMessageText.replaceAll("{0}", "1") : this.emptySelectionMessageText; + }, "selectedMessageText"), + focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId() { + return this.focusedOptionInfo.index !== -1 ? "".concat(this.id).concat(isNotEmpty(this.focusedOptionInfo.parentKey) ? "_" + this.focusedOptionInfo.parentKey : "", "_").concat(this.focusedOptionInfo.index) : null; + }, "focusedOptionId"), + isClearIconVisible: /* @__PURE__ */ __name(function isClearIconVisible() { + return this.showClear && this.d_value != null && isNotEmpty(this.options); + }, "isClearIconVisible") + }, + components: { + CascadeSelectSub: script$1$E, + Portal: script$1f, + ChevronDownIcon: script$1k, + SpinnerIcon: script$1r, + AngleRightIcon: script$1q, + TimesIcon: script$1g + } +}; +function _typeof$k(o) { + "@babel/helpers - typeof"; + return _typeof$k = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$k(o); +} +__name(_typeof$k, "_typeof$k"); +function ownKeys$i(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$i, "ownKeys$i"); +function _objectSpread$i(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$i(Object(t2), true).forEach(function(r2) { + _defineProperty$j(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$i(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$i, "_objectSpread$i"); +function _defineProperty$j(e, r, t2) { + return (r = _toPropertyKey$j(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$j, "_defineProperty$j"); +function _toPropertyKey$j(t2) { + var i = _toPrimitive$j(t2, "string"); + return "symbol" == _typeof$k(i) ? i : i + ""; +} +__name(_toPropertyKey$j, "_toPropertyKey$j"); +function _toPrimitive$j(t2, r) { + if ("object" != _typeof$k(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$k(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$j, "_toPrimitive$j"); +var _hoisted_1$r = ["id", "disabled", "placeholder", "tabindex", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-invalid"]; +function render$U(_ctx, _cache, $props, $setup, $data, $options) { + var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); + var _component_CascadeSelectSub = resolveComponent("CascadeSelectSub"); + var _component_Portal = resolveComponent("Portal"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: "container", + "class": _ctx.cx("root"), + style: _ctx.sx("root"), + onClick: _cache[5] || (_cache[5] = function($event) { + return $options.onContainerClick($event); + }) + }, _ctx.ptmi("root")), [createBaseVNode("div", mergeProps({ + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenInputContainer"), { + "data-p-hidden-accessible": true + }), [createBaseVNode("input", mergeProps({ + ref: "focusInput", + id: _ctx.inputId, + type: "text", + "class": _ctx.inputClass, + style: _ctx.inputStyle, + readonly: "", + disabled: _ctx.disabled, + placeholder: _ctx.placeholder, + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + role: "combobox", + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-haspopup": "tree", + "aria-expanded": $data.overlayVisible, + "aria-controls": $data.id + "_tree", + "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, + "aria-invalid": _ctx.invalid || void 0, + onFocus: _cache[0] || (_cache[0] = function() { + return $options.onFocus && $options.onFocus.apply($options, arguments); + }), + onBlur: _cache[1] || (_cache[1] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }), + onKeydown: _cache[2] || (_cache[2] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }) + }, _objectSpread$i(_objectSpread$i({}, _ctx.inputProps), _ctx.ptm("hiddenInput"))), null, 16, _hoisted_1$r)], 16), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("label") + }, _ctx.ptm("label")), [renderSlot(_ctx.$slots, "value", { + value: _ctx.d_value, + placeholder: _ctx.placeholder + }, function() { + return [createTextVNode(toDisplayString($options.label), 1)]; + })], 16), $options.isClearIconVisible ? renderSlot(_ctx.$slots, "clearicon", { + key: 0, + "class": normalizeClass(_ctx.cx("clearIcon")), + clearCallback: $options.onClearClick + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.clearIcon ? "i" : "TimesIcon"), mergeProps({ + ref: "clearIcon", + "class": [_ctx.cx("clearIcon"), _ctx.clearIcon], + onClick: $options.onClearClick + }, _ctx.ptm("clearIcon"), { + "data-pc-section": "clearicon" + }), null, 16, ["class", "onClick"]))]; + }) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("dropdown"), + role: "button", + tabindex: "-1" + }, _ctx.ptm("dropdown")), [_ctx.loading ? renderSlot(_ctx.$slots, "loadingicon", { + key: 0, + "class": normalizeClass(_ctx.cx("loadingIcon")) + }, function() { + return [_ctx.loadingIcon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": [_ctx.cx("loadingIcon"), "pi-spin", _ctx.loadingIcon], + "aria-hidden": "true" + }, _ctx.ptm("loadingIcon")), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({ + key: 1, + "class": _ctx.cx("loadingIcon"), + spin: "", + "aria-hidden": "true" + }, _ctx.ptm("loadingIcon")), null, 16, ["class"]))]; + }) : renderSlot(_ctx.$slots, "dropdownicon", { + key: 1, + "class": normalizeClass(_ctx.cx("dropdownIcon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? "span" : "ChevronDownIcon"), mergeProps({ + "class": [_ctx.cx("dropdownIcon"), _ctx.dropdownIcon], + "aria-hidden": "true" + }, _ctx.ptm("dropdownIcon")), null, 16, ["class"]))]; + })], 16), createBaseVNode("span", mergeProps({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenSearchResult"), { + "data-p-hidden-accessible": true + }), toDisplayString($options.searchResultMessageText), 17), createVNode(_component_Portal, { + appendTo: _ctx.appendTo + }, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: $options.onOverlayEnter, + onAfterEnter: $options.onOverlayAfterEnter, + onLeave: $options.onOverlayLeave, + onAfterLeave: $options.onOverlayAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [$data.overlayVisible ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.overlayRef, + "class": [_ctx.cx("overlay"), _ctx.panelClass, _ctx.overlayClass], + style: [_ctx.panelStyle, _ctx.overlayStyle], + onClick: _cache[3] || (_cache[3] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }), + onKeydown: _cache[4] || (_cache[4] = function() { + return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments); + }) + }, _objectSpread$i(_objectSpread$i(_objectSpread$i({}, _ctx.panelProps), _ctx.overlayProps), _ctx.ptm("overlay"))), [renderSlot(_ctx.$slots, "header", { + value: _ctx.d_value, + options: _ctx.options + }), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("listContainer") + }, _ctx.ptm("listContainer")), [createVNode(_component_CascadeSelectSub, { + id: $data.id + "_tree", + role: "tree", + "aria-orientation": "horizontal", + selectId: $data.id, + focusedOptionId: $data.focused ? $options.focusedOptionId : void 0, + options: $options.processedOptions, + activeOptionPath: $data.activeOptionPath, + level: 0, + templates: _ctx.$slots, + optionLabel: _ctx.optionLabel, + optionValue: _ctx.optionValue, + optionDisabled: _ctx.optionDisabled, + optionGroupIcon: _ctx.optionGroupIcon, + optionGroupLabel: _ctx.optionGroupLabel, + optionGroupChildren: _ctx.optionGroupChildren, + value: _ctx.d_value, + onOptionChange: $options.onOptionClick, + onOptionFocusChange: $options.onOptionMouseMove, + onOptionFocusEnterChange: $options.onOptionMouseEnter, + pt: _ctx.pt, + unstyled: _ctx.unstyled + }, null, 8, ["id", "selectId", "focusedOptionId", "options", "activeOptionPath", "templates", "optionLabel", "optionValue", "optionDisabled", "optionGroupIcon", "optionGroupLabel", "optionGroupChildren", "value", "onOptionChange", "onOptionFocusChange", "onOptionFocusEnterChange", "pt", "unstyled"])], 16), createBaseVNode("span", mergeProps({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenSelectedMessage"), { + "data-p-hidden-accessible": true + }), toDisplayString($options.selectedMessageText), 17), renderSlot(_ctx.$slots, "footer", { + value: _ctx.d_value, + options: _ctx.options + })], 16)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; + }), + _: 3 + }, 8, ["appendTo"])], 16); +} +__name(render$U, "render$U"); +script$10.render = render$U; +var theme$x = /* @__PURE__ */ __name(function theme7(_ref) { + _ref.dt; + return "\n.p-checkbox-group {\n display: inline-flex;\n}\n"; +}, "theme"); +var classes$B = { + root: "p-checkbox-group p-component" +}; +var CheckboxGroupStyle = BaseStyle.extend({ + name: "checkboxgroup", + theme: theme$x, + classes: classes$B +}); +var script$1$D = { + name: "BaseCheckboxGroup", + "extends": script$1s, + style: CheckboxGroupStyle, + provide: /* @__PURE__ */ __name(function provide12() { + return { + $pcCheckboxGroup: this, + $parentInstance: this + }; + }, "provide") +}; +var script$$ = { + name: "CheckboxGroup", + "extends": script$1$D, + inheritAttrs: false, + data: /* @__PURE__ */ __name(function data5() { + return { + groupName: this.name + }; + }, "data"), + watch: { + name: /* @__PURE__ */ __name(function name(newValue) { + this.groupName = newValue || uuid("checkbox-group-"); + }, "name") + }, + mounted: /* @__PURE__ */ __name(function mounted8() { + this.groupName = this.groupName || uuid("checkbox-group-"); + }, "mounted") +}; +function render$T(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$T, "render$T"); +script$$.render = render$T; +var theme$w = /* @__PURE__ */ __name(function theme8(_ref) { + var dt = _ref.dt; + return "\n.p-inputchips {\n display: inline-flex;\n}\n\n.p-inputchips-input {\n margin: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n padding: calc(".concat(dt("inputchips.padding.y"), " / 2) ").concat(dt("inputchips.padding.x"), ";\n gap: calc(").concat(dt("inputchips.padding.y"), " / 2);\n color: ").concat(dt("inputchips.color"), ";\n background: ").concat(dt("inputchips.background"), ";\n border: 1px solid ").concat(dt("inputchips.border.color"), ";\n border-radius: ").concat(dt("inputchips.border.radius"), ";\n width: 100%;\n transition: background ").concat(dt("inputchips.transition.duration"), ", color ").concat(dt("inputchips.transition.duration"), ", border-color ").concat(dt("inputchips.transition.duration"), ", outline-color ").concat(dt("inputchips.transition.duration"), ", box-shadow ").concat(dt("inputchips.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("inputchips.shadow"), ";\n}\n\n.p-inputchips:not(.p-disabled):hover .p-inputchips-input {\n border-color: ").concat(dt("inputchips.hover.border.color"), ";\n}\n\n.p-inputchips:not(.p-disabled).p-focus .p-inputchips-input {\n border-color: ").concat(dt("inputchips.focus.border.color"), ";\n box-shadow: ").concat(dt("inputchips.focus.ring.shadow"), ";\n outline: ").concat(dt("inputchips.focus.ring.width"), " ").concat(dt("inputchips.focus.ring.style"), " ").concat(dt("inputchips.focus.ring.color"), ";\n outline-offset: ").concat(dt("inputchips.focus.ring.offset"), ";\n}\n\n.p-inputchips.p-invalid .p-inputchips-input {\n border-color: ").concat(dt("inputchips.invalid.border.color"), ";\n}\n\n.p-variant-filled.p-inputchips-input {\n background: ").concat(dt("inputchips.filled.background"), ";\n}\n\n.p-inputchips:not(.p-disabled).p-focus .p-variant-filled.p-inputchips-input {\n background: ").concat(dt("inputchips.filled.focus.background"), ";\n}\n\n.p-inputchips.p-disabled .p-inputchips-input {\n opacity: 1;\n background: ").concat(dt("inputchips.disabled.background"), ";\n color: ").concat(dt("inputchips.disabled.color"), ";\n}\n\n.p-inputchips-chip.p-chip {\n padding-top: calc(").concat(dt("inputchips.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt("inputchips.padding.y"), " / 2);\n border-radius: ").concat(dt("inputchips.chip.border.radius"), ";\n transition: background ").concat(dt("inputchips.transition.duration"), ", color ").concat(dt("inputchips.transition.duration"), ";\n}\n\n.p-inputchips-chip-item.p-focus .p-inputchips-chip {\n background: ").concat(dt("inputchips.chip.focus.background"), ";\n color: ").concat(dt("inputchips.chip.focus.color"), ";\n}\n\n.p-inputchips-input:has(.p-inputchips-chip) {\n padding-left: calc(").concat(dt("inputchips.padding.y"), " / 2);\n padding-right: calc(").concat(dt("inputchips.padding.y"), " / 2);\n}\n\n.p-inputchips-input-item {\n flex: 1 1 auto;\n display: inline-flex;\n padding-top: calc(").concat(dt("inputchips.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt("inputchips.padding.y"), " / 2);\n}\n\n.p-inputchips-input-item input {\n border: 0 none;\n outline: 0 none;\n background: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: inherit;\n}\n\n.p-inputchips-input-item input::placeholder {\n color: ").concat(dt("inputchips.placeholder.color"), ";\n}\n"); +}, "theme"); +var classes$A = { + root: /* @__PURE__ */ __name(function root8(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-inputchips p-component p-inputwrapper", { + "p-disabled": props.disabled, + "p-invalid": props.invalid, + "p-focus": instance.focused, + "p-inputwrapper-filled": props.modelValue && props.modelValue.length || instance.inputValue && instance.inputValue.length, + "p-inputwrapper-focus": instance.focused + }]; + }, "root"), + input: /* @__PURE__ */ __name(function input(_ref3) { + var props = _ref3.props, instance = _ref3.instance; + return ["p-inputchips-input", { + "p-variant-filled": props.variant ? props.variant === "filled" : instance.$primevue.config.inputStyle === "filled" || instance.$primevue.config.inputVariant === "filled" + }]; + }, "input"), + chipItem: /* @__PURE__ */ __name(function chipItem(_ref4) { + var state = _ref4.state, index = _ref4.index; + return ["p-inputchips-chip-item", { + "p-focus": state.focusedIndex === index + }]; + }, "chipItem"), + pcChip: "p-inputchips-chip", + chipIcon: "p-inputchips-chip-icon", + inputItem: "p-inputchips-input-item" +}; +var InputChipsStyle = BaseStyle.extend({ + name: "inputchips", + theme: theme$w, + classes: classes$A +}); +var script$1$C = { + name: "BaseInputChips", + "extends": script$1d, + props: { + modelValue: { + type: Array, + "default": null + }, + max: { + type: Number, + "default": null + }, + separator: { + type: [String, Object], + "default": null + }, + addOnBlur: { + type: Boolean, + "default": null + }, + allowDuplicate: { + type: Boolean, + "default": true + }, + placeholder: { + type: String, + "default": null + }, + variant: { + type: String, + "default": null + }, + invalid: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + inputId: { + type: String, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + inputProps: { + type: null, + "default": null + }, + removeTokenIcon: { + type: String, + "default": void 0 + }, + chipIcon: { + type: String, + "default": void 0 + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: InputChipsStyle, + provide: /* @__PURE__ */ __name(function provide13() { + return { + $pcInputChips: this, + $parentInstance: this + }; + }, "provide") +}; +function _toConsumableArray$c(r) { + return _arrayWithoutHoles$c(r) || _iterableToArray$c(r) || _unsupportedIterableToArray$d(r) || _nonIterableSpread$c(); +} +__name(_toConsumableArray$c, "_toConsumableArray$c"); +function _nonIterableSpread$c() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$c, "_nonIterableSpread$c"); +function _unsupportedIterableToArray$d(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$d(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$d(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$d, "_unsupportedIterableToArray$d"); +function _iterableToArray$c(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$c, "_iterableToArray$c"); +function _arrayWithoutHoles$c(r) { + if (Array.isArray(r)) return _arrayLikeToArray$d(r); +} +__name(_arrayWithoutHoles$c, "_arrayWithoutHoles$c"); +function _arrayLikeToArray$d(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$d, "_arrayLikeToArray$d"); +var script$_ = { + name: "InputChips", + "extends": script$1$C, + inheritAttrs: false, + emits: ["update:modelValue", "add", "remove", "focus", "blur"], + data: /* @__PURE__ */ __name(function data6() { + return { + id: this.$attrs.id, + inputValue: null, + focused: false, + focusedIndex: null + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId3(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId") + }, + mounted: /* @__PURE__ */ __name(function mounted9() { + console.warn("Deprecated since v4. Use AutoComplete component instead with its typeahead property."); + this.id = this.id || UniqueComponentId(); + }, "mounted"), + methods: { + onWrapperClick: /* @__PURE__ */ __name(function onWrapperClick() { + this.$refs.input.focus(); + }, "onWrapperClick"), + onInput: /* @__PURE__ */ __name(function onInput2(event2) { + this.inputValue = event2.target.value; + this.focusedIndex = null; + }, "onInput"), + onFocus: /* @__PURE__ */ __name(function onFocus4(event2) { + this.focused = true; + this.focusedIndex = null; + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur3(event2) { + this.focused = false; + this.focusedIndex = null; + if (this.addOnBlur) { + this.addItem(event2, event2.target.value, false); + } + this.$emit("blur", event2); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown3(event2) { + var inputValue = event2.target.value; + switch (event2.code) { + case "Backspace": + if (inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) { + if (this.focusedIndex !== null) { + this.removeItem(event2, this.focusedIndex); + } else this.removeItem(event2, this.modelValue.length - 1); + } + break; + case "Enter": + case "NumpadEnter": + if (inputValue && inputValue.trim().length && !this.maxedOut) { + this.addItem(event2, inputValue, true); + } + break; + case "ArrowLeft": + if (inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) { + this.$refs.container.focus(); + } + break; + case "ArrowRight": + event2.stopPropagation(); + break; + default: + if (this.separator) { + if (this.separator === event2.key || event2.key.match(this.separator)) { + this.addItem(event2, inputValue, true); + } + } + break; + } + }, "onKeyDown"), + onPaste: /* @__PURE__ */ __name(function onPaste(event2) { + var _this = this; + if (this.separator) { + var separator = this.separator.replace("\\n", "\n").replace("\\r", "\r").replace("\\t", " "); + var pastedData = (event2.clipboardData || window["clipboardData"]).getData("Text"); + if (pastedData) { + var value2 = this.modelValue || []; + var pastedValues = pastedData.split(separator); + pastedValues = pastedValues.filter(function(val) { + return _this.allowDuplicate || value2.indexOf(val) === -1; + }); + value2 = [].concat(_toConsumableArray$c(value2), _toConsumableArray$c(pastedValues)); + this.updateModel(event2, value2, true); + } + } + }, "onPaste"), + onContainerFocus: /* @__PURE__ */ __name(function onContainerFocus() { + this.focused = true; + }, "onContainerFocus"), + onContainerBlur: /* @__PURE__ */ __name(function onContainerBlur() { + this.focusedIndex = -1; + this.focused = false; + }, "onContainerBlur"), + onContainerKeyDown: /* @__PURE__ */ __name(function onContainerKeyDown(event2) { + switch (event2.code) { + case "ArrowLeft": + this.onArrowLeftKeyOn(event2); + break; + case "ArrowRight": + this.onArrowRightKeyOn(event2); + break; + case "Backspace": + this.onBackspaceKeyOn(event2); + break; + } + }, "onContainerKeyDown"), + onArrowLeftKeyOn: /* @__PURE__ */ __name(function onArrowLeftKeyOn() { + if (this.inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) { + this.focusedIndex = this.focusedIndex === null ? this.modelValue.length - 1 : this.focusedIndex - 1; + if (this.focusedIndex < 0) this.focusedIndex = 0; + } + }, "onArrowLeftKeyOn"), + onArrowRightKeyOn: /* @__PURE__ */ __name(function onArrowRightKeyOn() { + if (this.inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) { + if (this.focusedIndex === this.modelValue.length - 1) { + this.focusedIndex = null; + this.$refs.input.focus(); + } else { + this.focusedIndex++; + } + } + }, "onArrowRightKeyOn"), + onBackspaceKeyOn: /* @__PURE__ */ __name(function onBackspaceKeyOn(event2) { + if (this.focusedIndex !== null) { + this.removeItem(event2, this.focusedIndex); + } + }, "onBackspaceKeyOn"), + updateModel: /* @__PURE__ */ __name(function updateModel3(event2, value2, preventDefault) { + var _this2 = this; + this.$emit("update:modelValue", value2); + this.$emit("add", { + originalEvent: event2, + value: value2 + }); + this.$refs.input.value = ""; + this.inputValue = ""; + setTimeout(function() { + _this2.maxedOut && (_this2.focused = false); + }, 0); + if (preventDefault) { + event2.preventDefault(); + } + }, "updateModel"), + addItem: /* @__PURE__ */ __name(function addItem(event2, item8, preventDefault) { + if (item8 && item8.trim().length) { + var value2 = this.modelValue ? _toConsumableArray$c(this.modelValue) : []; + if (this.allowDuplicate || value2.indexOf(item8) === -1) { + value2.push(item8); + this.updateModel(event2, value2, preventDefault); + } + } + }, "addItem"), + removeItem: /* @__PURE__ */ __name(function removeItem(event2, index) { + if (this.disabled) { + return; + } + var values = _toConsumableArray$c(this.modelValue); + var removedItem = values.splice(index, 1); + this.focusedIndex = null; + this.$refs.input.focus(); + this.$emit("update:modelValue", values); + this.$emit("remove", { + originalEvent: event2, + value: removedItem + }); + }, "removeItem") + }, + computed: { + maxedOut: /* @__PURE__ */ __name(function maxedOut() { + return this.max && this.modelValue && this.max === this.modelValue.length; + }, "maxedOut"), + focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId2() { + return this.focusedIndex !== null ? "".concat(this.id, "_inputchips_item_").concat(this.focusedIndex) : null; + }, "focusedOptionId") + }, + components: { + Chip: script$1t + } +}; +function _typeof$j(o) { + "@babel/helpers - typeof"; + return _typeof$j = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$j(o); +} +__name(_typeof$j, "_typeof$j"); +function ownKeys$h(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$h, "ownKeys$h"); +function _objectSpread$h(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$h(Object(t2), true).forEach(function(r2) { + _defineProperty$i(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$h(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$h, "_objectSpread$h"); +function _defineProperty$i(e, r, t2) { + return (r = _toPropertyKey$i(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$i, "_defineProperty$i"); +function _toPropertyKey$i(t2) { + var i = _toPrimitive$i(t2, "string"); + return "symbol" == _typeof$j(i) ? i : i + ""; +} +__name(_toPropertyKey$i, "_toPropertyKey$i"); +function _toPrimitive$i(t2, r) { + if ("object" != _typeof$j(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$j(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$i, "_toPrimitive$i"); +var _hoisted_1$q = ["aria-labelledby", "aria-label", "aria-activedescendant"]; +var _hoisted_2$j = ["id", "aria-label", "aria-setsize", "aria-posinset", "data-p-focused"]; +var _hoisted_3$g = ["id", "disabled", "placeholder", "aria-invalid"]; +function render$S(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Chip = resolveComponent("Chip"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [createBaseVNode("ul", mergeProps({ + ref: "container", + "class": _ctx.cx("input"), + tabindex: "-1", + role: "listbox", + "aria-orientation": "horizontal", + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, + onClick: _cache[5] || (_cache[5] = function($event) { + return $options.onWrapperClick(); + }), + onFocus: _cache[6] || (_cache[6] = function() { + return $options.onContainerFocus && $options.onContainerFocus.apply($options, arguments); + }), + onBlur: _cache[7] || (_cache[7] = function() { + return $options.onContainerBlur && $options.onContainerBlur.apply($options, arguments); + }), + onKeydown: _cache[8] || (_cache[8] = function() { + return $options.onContainerKeyDown && $options.onContainerKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("input")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.modelValue, function(val, i) { + return openBlock(), createElementBlock("li", mergeProps({ + key: "".concat(i, "_").concat(val), + id: $data.id + "_inputchips_item_" + i, + role: "option", + "class": _ctx.cx("chipItem", { + index: i + }), + "aria-label": val, + "aria-selected": true, + "aria-setsize": _ctx.modelValue.length, + "aria-posinset": i + 1, + ref_for: true + }, _ctx.ptm("chipItem"), { + "data-p-focused": $data.focusedIndex === i + }), [renderSlot(_ctx.$slots, "chip", { + "class": normalizeClass(_ctx.cx("pcChip")), + index: i, + value: val, + removeCallback: /* @__PURE__ */ __name(function removeCallback(event2) { + return _ctx.removeOption(event2, i); + }, "removeCallback") + }, function() { + return [createVNode(_component_Chip, { + "class": normalizeClass(_ctx.cx("pcChip")), + label: val, + removeIcon: _ctx.chipIcon || _ctx.removeTokenIcon, + removable: "", + unstyled: _ctx.unstyled, + onRemove: /* @__PURE__ */ __name(function onRemove($event) { + return $options.removeItem($event, i); + }, "onRemove"), + pt: _ctx.ptm("pcChip") + }, { + removeicon: withCtx(function() { + return [renderSlot(_ctx.$slots, _ctx.$slots.chipicon ? "chipicon" : "removetokenicon", { + "class": normalizeClass(_ctx.cx("chipIcon")), + index: i, + removeCallback: /* @__PURE__ */ __name(function removeCallback(event2) { + return $options.removeItem(event2, i); + }, "removeCallback") + })]; + }), + _: 2 + }, 1032, ["class", "label", "removeIcon", "unstyled", "onRemove", "pt"])]; + })], 16, _hoisted_2$j); + }), 128)), createBaseVNode("li", mergeProps({ + "class": _ctx.cx("inputItem"), + role: "option" + }, _ctx.ptm("inputItem")), [createBaseVNode("input", mergeProps({ + ref: "input", + id: _ctx.inputId, + type: "text", + "class": _ctx.inputClass, + style: _ctx.inputStyle, + disabled: _ctx.disabled || $options.maxedOut, + placeholder: _ctx.placeholder, + "aria-invalid": _ctx.invalid || void 0, + onFocus: _cache[0] || (_cache[0] = function($event) { + return $options.onFocus($event); + }), + onBlur: _cache[1] || (_cache[1] = function($event) { + return $options.onBlur($event); + }), + onInput: _cache[2] || (_cache[2] = function() { + return $options.onInput && $options.onInput.apply($options, arguments); + }), + onKeydown: _cache[3] || (_cache[3] = function($event) { + return $options.onKeyDown($event); + }), + onPaste: _cache[4] || (_cache[4] = function($event) { + return $options.onPaste($event); + }) + }, _objectSpread$h(_objectSpread$h({}, _ctx.inputProps), _ctx.ptm("inputItemField"))), null, 16, _hoisted_3$g)], 16)], 16, _hoisted_1$q)], 16); +} +__name(render$S, "render$S"); +script$_.render = render$S; +var script$Z = { + name: "Chips", + "extends": script$_, + mounted: /* @__PURE__ */ __name(function mounted10() { + console.warn("Deprecated since v4. Use InputChips component instead."); + }, "mounted") +}; +var ChipsStyle = BaseStyle.extend({ + name: "chips" +}); +var ColumnGroupStyle = BaseStyle.extend({ + name: "columngroup" +}); +var script$1$B = { + name: "BaseColumnGroup", + "extends": script$1d, + props: { + type: { + type: String, + "default": null + } + }, + style: ColumnGroupStyle, + provide: /* @__PURE__ */ __name(function provide14() { + return { + $pcColumnGroup: this, + $parentInstance: this + }; + }, "provide") +}; +var script$Y = { + name: "ColumnGroup", + "extends": script$1$B, + inheritAttrs: false, + inject: ["$columnGroups"], + mounted: /* @__PURE__ */ __name(function mounted11() { + var _this$$columnGroups; + (_this$$columnGroups = this.$columnGroups) === null || _this$$columnGroups === void 0 || _this$$columnGroups.add(this.$); + }, "mounted"), + unmounted: /* @__PURE__ */ __name(function unmounted2() { + var _this$$columnGroups2; + (_this$$columnGroups2 = this.$columnGroups) === null || _this$$columnGroups2 === void 0 || _this$$columnGroups2["delete"](this.$); + }, "unmounted"), + render: /* @__PURE__ */ __name(function render() { + return null; + }, "render") +}; +var theme$v = /* @__PURE__ */ __name(function theme9(_ref) { + var dt = _ref.dt; + return "\n.p-dataview {\n border-color: ".concat(dt("dataview.border.color"), ";\n border-width: ").concat(dt("dataview.border.width"), ";\n border-style: solid;\n border-radius: ").concat(dt("dataview.border.radius"), ";\n padding: ").concat(dt("dataview.padding"), ";\n}\n\n.p-dataview-header {\n background: ").concat(dt("dataview.header.background"), ";\n color: ").concat(dt("dataview.header.color"), ";\n border-color: ").concat(dt("dataview.header.border.color"), ";\n border-width: ").concat(dt("dataview.header.border.width"), ";\n border-style: solid;\n padding: ").concat(dt("dataview.header.padding"), ";\n border-radius: ").concat(dt("dataview.header.border.radius"), ";\n}\n\n.p-dataview-content {\n background: ").concat(dt("dataview.content.background"), ";\n border-color: ").concat(dt("dataview.content.border.color"), ";\n border-width: ").concat(dt("dataview.content.border.width"), ";\n border-style: solid;\n color: ").concat(dt("dataview.content.color"), ";\n padding: ").concat(dt("dataview.content.padding"), ";\n border-radius: ").concat(dt("dataview.content.border.radius"), ";\n}\n\n.p-dataview-footer {\n background: ").concat(dt("dataview.footer.background"), ";\n color: ").concat(dt("dataview.footer.color"), ";\n border-color: ").concat(dt("dataview.footer.border.color"), ";\n border-width: ").concat(dt("dataview.footer.border.width"), ";\n border-style: solid;\n padding: ").concat(dt("dataview.footer.padding"), ";\n border-radius: ").concat(dt("dataview.footer.border.radius"), ";\n}\n\n.p-dataview-paginator-top {\n border-width: ").concat(dt("dataview.paginator.top.border.width"), ";\n border-color: ").concat(dt("dataview.paginator.top.border.color"), ";\n border-style: solid;\n}\n\n.p-dataview-paginator-bottom {\n border-width: ").concat(dt("dataview.paginator.bottom.border.width"), ";\n border-color: ").concat(dt("dataview.paginator.bottom.border.color"), ";\n border-style: solid;\n}\n"); +}, "theme"); +var classes$z = { + root: /* @__PURE__ */ __name(function root9(_ref2) { + var props = _ref2.props; + return ["p-dataview p-component", { + "p-dataview-list": props.layout === "list", + "p-dataview-grid": props.layout === "grid" + }]; + }, "root"), + header: "p-dataview-header", + pcPaginator: /* @__PURE__ */ __name(function pcPaginator(_ref3) { + var position = _ref3.position; + return "p-dataview-paginator-" + position; + }, "pcPaginator"), + content: "p-dataview-content", + emptyMessage: "p-dataview-empty-message", + // TODO: remove? + footer: "p-dataview-footer" +}; +var DataViewStyle = BaseStyle.extend({ + name: "dataview", + theme: theme$v, + classes: classes$z +}); +var script$1$A = { + name: "BaseDataView", + "extends": script$1d, + props: { + value: { + type: Array, + "default": null + }, + layout: { + type: String, + "default": "list" + }, + rows: { + type: Number, + "default": 0 + }, + first: { + type: Number, + "default": 0 + }, + totalRecords: { + type: Number, + "default": 0 + }, + paginator: { + type: Boolean, + "default": false + }, + paginatorPosition: { + type: String, + "default": "bottom" + }, + alwaysShowPaginator: { + type: Boolean, + "default": true + }, + paginatorTemplate: { + type: String, + "default": "FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown" + }, + pageLinkSize: { + type: Number, + "default": 5 + }, + rowsPerPageOptions: { + type: Array, + "default": null + }, + currentPageReportTemplate: { + type: String, + "default": "({currentPage} of {totalPages})" + }, + sortField: { + type: [String, Function], + "default": null + }, + sortOrder: { + type: Number, + "default": null + }, + lazy: { + type: Boolean, + "default": false + }, + dataKey: { + type: String, + "default": null + } + }, + style: DataViewStyle, + provide: /* @__PURE__ */ __name(function provide15() { + return { + $pcDataView: this, + $parentInstance: this + }; + }, "provide") +}; +function _toConsumableArray$b(r) { + return _arrayWithoutHoles$b(r) || _iterableToArray$b(r) || _unsupportedIterableToArray$c(r) || _nonIterableSpread$b(); +} +__name(_toConsumableArray$b, "_toConsumableArray$b"); +function _nonIterableSpread$b() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$b, "_nonIterableSpread$b"); +function _unsupportedIterableToArray$c(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$c(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$c(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$c, "_unsupportedIterableToArray$c"); +function _iterableToArray$b(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$b, "_iterableToArray$b"); +function _arrayWithoutHoles$b(r) { + if (Array.isArray(r)) return _arrayLikeToArray$c(r); +} +__name(_arrayWithoutHoles$b, "_arrayWithoutHoles$b"); +function _arrayLikeToArray$c(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$c, "_arrayLikeToArray$c"); +var script$X = { + name: "DataView", + "extends": script$1$A, + inheritAttrs: false, + emits: ["update:first", "update:rows", "page"], + data: /* @__PURE__ */ __name(function data7() { + return { + d_first: this.first, + d_rows: this.rows + }; + }, "data"), + watch: { + first: /* @__PURE__ */ __name(function first(newValue) { + this.d_first = newValue; + }, "first"), + rows: /* @__PURE__ */ __name(function rows(newValue) { + this.d_rows = newValue; + }, "rows"), + sortField: /* @__PURE__ */ __name(function sortField() { + this.resetPage(); + }, "sortField"), + sortOrder: /* @__PURE__ */ __name(function sortOrder() { + this.resetPage(); + }, "sortOrder") + }, + methods: { + getKey: /* @__PURE__ */ __name(function getKey2(item8, index) { + return this.dataKey ? resolveFieldData(item8, this.dataKey) : index; + }, "getKey"), + onPage: /* @__PURE__ */ __name(function onPage(event2) { + this.d_first = event2.first; + this.d_rows = event2.rows; + this.$emit("update:first", this.d_first); + this.$emit("update:rows", this.d_rows); + this.$emit("page", event2); + }, "onPage"), + sort: /* @__PURE__ */ __name(function sort$1() { + var _this = this; + if (this.value) { + var value2 = _toConsumableArray$b(this.value); + var comparer = localeComparator(); + value2.sort(function(data1, data210) { + var value1 = resolveFieldData(data1, _this.sortField); + var value22 = resolveFieldData(data210, _this.sortField); + return sort(value1, value22, _this.sortOrder, comparer); + }); + return value2; + } else { + return null; + } + }, "sort$1"), + resetPage: /* @__PURE__ */ __name(function resetPage() { + this.d_first = 0; + this.$emit("update:first", this.d_first); + }, "resetPage") + }, + computed: { + getTotalRecords: /* @__PURE__ */ __name(function getTotalRecords() { + if (this.totalRecords) return this.totalRecords; + else return this.value ? this.value.length : 0; + }, "getTotalRecords"), + empty: /* @__PURE__ */ __name(function empty() { + return !this.value || this.value.length === 0; + }, "empty"), + emptyMessageText: /* @__PURE__ */ __name(function emptyMessageText2() { + var _this$$primevue$confi; + return ((_this$$primevue$confi = this.$primevue.config) === null || _this$$primevue$confi === void 0 || (_this$$primevue$confi = _this$$primevue$confi.locale) === null || _this$$primevue$confi === void 0 ? void 0 : _this$$primevue$confi.emptyMessage) || ""; + }, "emptyMessageText"), + paginatorTop: /* @__PURE__ */ __name(function paginatorTop() { + return this.paginator && (this.paginatorPosition !== "bottom" || this.paginatorPosition === "both"); + }, "paginatorTop"), + paginatorBottom: /* @__PURE__ */ __name(function paginatorBottom() { + return this.paginator && (this.paginatorPosition !== "top" || this.paginatorPosition === "both"); + }, "paginatorBottom"), + items: /* @__PURE__ */ __name(function items() { + if (this.value && this.value.length) { + var data41 = this.value; + if (data41 && data41.length && this.sortField) { + data41 = this.sort(); + } + if (this.paginator) { + var first3 = this.lazy ? 0 : this.d_first; + return data41.slice(first3, first3 + this.d_rows); + } else { + return data41; + } + } else { + return null; + } + }, "items") + }, + components: { + DVPaginator: script$1u + } +}; +function render$R(_ctx, _cache, $props, $setup, $data, $options) { + var _component_DVPaginator = resolveComponent("DVPaginator"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [_ctx.$slots.header ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("header") + }, _ctx.ptm("header")), [renderSlot(_ctx.$slots, "header")], 16)) : createCommentVNode("", true), $options.paginatorTop ? (openBlock(), createBlock(_component_DVPaginator, { + key: 1, + rows: $data.d_rows, + first: $data.d_first, + totalRecords: $options.getTotalRecords, + pageLinkSize: _ctx.pageLinkSize, + template: _ctx.paginatorTemplate, + rowsPerPageOptions: _ctx.rowsPerPageOptions, + currentPageReportTemplate: _ctx.currentPageReportTemplate, + "class": normalizeClass(_ctx.cx("pcPaginator", { + position: "top" + })), + alwaysShow: _ctx.alwaysShowPaginator, + onPage: _cache[0] || (_cache[0] = function($event) { + return $options.onPage($event); + }), + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcPaginator") + }, createSlots({ + _: 2 + }, [_ctx.$slots.paginatorcontainer ? { + name: "container", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorcontainer", { + first: slotProps.first, + last: slotProps.last, + rows: slotProps.rows, + page: slotProps.page, + pageCount: slotProps.pageCount, + totalRecords: slotProps.totalRecords, + firstPageCallback: slotProps.firstPageCallback, + lastPageCallback: slotProps.lastPageCallback, + prevPageCallback: slotProps.prevPageCallback, + nextPageCallback: slotProps.nextPageCallback, + rowChangeCallback: slotProps.rowChangeCallback + })]; + }), + key: "0" + } : void 0, _ctx.$slots.paginatorstart ? { + name: "start", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorstart")]; + }), + key: "1" + } : void 0, _ctx.$slots.paginatorend ? { + name: "end", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorend")]; + }), + key: "2" + } : void 0]), 1032, ["rows", "first", "totalRecords", "pageLinkSize", "template", "rowsPerPageOptions", "currentPageReportTemplate", "class", "alwaysShow", "unstyled", "pt"])) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("content") + }, _ctx.ptm("content")), [!$options.empty ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [_ctx.$slots.list && _ctx.layout === "list" ? renderSlot(_ctx.$slots, "list", { + key: 0, + items: $options.items + }) : createCommentVNode("", true), _ctx.$slots.grid && _ctx.layout === "grid" ? renderSlot(_ctx.$slots, "grid", { + key: 1, + items: $options.items + }) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("emptyMessage") + }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "empty", { + layout: _ctx.layout + }, function() { + return [createTextVNode(toDisplayString($options.emptyMessageText), 1)]; + })], 16))], 16), $options.paginatorBottom ? (openBlock(), createBlock(_component_DVPaginator, { + key: 2, + rows: $data.d_rows, + first: $data.d_first, + totalRecords: $options.getTotalRecords, + pageLinkSize: _ctx.pageLinkSize, + template: _ctx.paginatorTemplate, + rowsPerPageOptions: _ctx.rowsPerPageOptions, + currentPageReportTemplate: _ctx.currentPageReportTemplate, + "class": normalizeClass(_ctx.cx("pcPaginator", { + position: "bottom" + })), + alwaysShow: _ctx.alwaysShowPaginator, + onPage: _cache[1] || (_cache[1] = function($event) { + return $options.onPage($event); + }), + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcPaginator") + }, createSlots({ + _: 2 + }, [_ctx.$slots.paginatorcontainer ? { + name: "container", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorcontainer", { + first: slotProps.first, + last: slotProps.last, + rows: slotProps.rows, + page: slotProps.page, + pageCount: slotProps.pageCount, + totalRecords: slotProps.totalRecords, + firstPageCallback: slotProps.firstPageCallback, + lastPageCallback: slotProps.lastPageCallback, + prevPageCallback: slotProps.prevPageCallback, + nextPageCallback: slotProps.nextPageCallback, + rowChangeCallback: slotProps.rowChangeCallback + })]; + }), + key: "0" + } : void 0, _ctx.$slots.paginatorstart ? { + name: "start", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorstart")]; + }), + key: "1" + } : void 0, _ctx.$slots.paginatorend ? { + name: "end", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorend")]; + }), + key: "2" + } : void 0]), 1032, ["rows", "first", "totalRecords", "pageLinkSize", "template", "rowsPerPageOptions", "currentPageReportTemplate", "class", "alwaysShow", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps({ + key: 3, + "class": _ctx.cx("footer") + }, _ctx.ptm("footer")), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true)], 16); +} +__name(render$R, "render$R"); +script$X.render = render$R; +var DeferredContentStyle = BaseStyle.extend({ + name: "deferredcontent" +}); +var script$W = { + name: "DeferredContent", + "extends": script$1d, + inheritAttrs: false, + emits: ["load"], + style: DeferredContentStyle, + data: /* @__PURE__ */ __name(function data8() { + return { + loaded: false + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted12() { + if (!this.loaded) { + if (this.shouldLoad()) this.load(); + else this.bindScrollListener(); + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { + this.unbindScrollListener(); + }, "beforeUnmount"), + methods: { + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener3() { + var _this = this; + this.documentScrollListener = function() { + if (_this.shouldLoad()) { + _this.load(); + _this.unbindScrollListener(); + } + }; + window.addEventListener("scroll", this.documentScrollListener); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener3() { + if (this.documentScrollListener) { + window.removeEventListener("scroll", this.documentScrollListener); + this.documentScrollListener = null; + } + }, "unbindScrollListener"), + shouldLoad: /* @__PURE__ */ __name(function shouldLoad() { + if (this.loaded) { + return false; + } else { + var rect = this.$refs.container.getBoundingClientRect(); + var docElement = document.documentElement; + var winHeight = docElement.clientHeight; + return winHeight >= rect.top; + } + }, "shouldLoad"), + load: /* @__PURE__ */ __name(function load(event2) { + this.loaded = true; + this.$emit("load", event2); + }, "load") + } +}; +function render$Q(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + ref: "container" + }, _ctx.ptmi("root")), [$data.loaded ? renderSlot(_ctx.$slots, "default", { + key: 0 + }) : createCommentVNode("", true)], 16); +} +__name(render$Q, "render$Q"); +script$W.render = render$Q; +var DynamicDialogEventBus = EventBus(); +var DialogService = { + install: /* @__PURE__ */ __name(function install(app) { + var DialogService2 = { + open: /* @__PURE__ */ __name(function open2(content, options4) { + var instance = { + content: content && markRaw(content), + options: options4 || {}, + data: options4 && options4.data, + close: /* @__PURE__ */ __name(function close2(params) { + DynamicDialogEventBus.emit("close", { + instance, + params + }); + }, "close") + }; + DynamicDialogEventBus.emit("open", { + instance + }); + return instance; + }, "open") + }; + app.config.globalProperties.$dialog = DialogService2; + app.provide(PrimeVueDialogSymbol, DialogService2); + }, "install") +}; +var theme$u = /* @__PURE__ */ __name(function theme10(_ref) { + var dt = _ref.dt; + return "\n.p-dock {\n position: absolute;\n z-index: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\n.p-dock-list-container {\n display: flex;\n pointer-events: auto;\n background: ".concat(dt("dock.background"), ";\n border: 1px solid ").concat(dt("dock.border.color"), ";\n padding: ").concat(dt("dock.padding"), ";\n border-radius: ").concat(dt("dock.border.radius"), ";\n}\n\n.p-dock-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n justify-content: center;\n outline: 0 none;\n}\n\n.p-dock-item {\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n padding: ").concat(dt("dock.item.padding"), ";\n border-radius: ").concat(dt("dock.item.border.radius"), ";\n}\n\n.p-dock-item.p-focus {\n box-shadow: ").concat(dt("dock.item.focus.ring.shadow"), ";\n outline: ").concat(dt("dock.item.focus.ring.width"), " ").concat(dt("dock.item.focus.ring.style"), " ").concat(dt("dock.item.focus.ring.color"), ";\n outline-offset: ").concat(dt("dock.item.focus.ring.offset"), ";\n}\n\n.p-dock-item-link {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n overflow: hidden;\n cursor: default;\n width: ").concat(dt("dock.item.size"), ";\n height: ").concat(dt("dock.item.size"), ";\n}\n\n.p-dock-top {\n left: 0;\n top: 0;\n width: 100%;\n}\n\n.p-dock-bottom {\n left: 0;\n bottom: 0;\n width: 100%;\n}\n\n.p-dock-right {\n right: 0;\n top: 0;\n height: 100%;\n}\n\n.p-dock-right .p-dock-list {\n flex-direction: column;\n}\n\n.p-dock-left {\n left: 0;\n top: 0;\n height: 100%;\n}\n\n.p-dock-left .p-dock-list {\n flex-direction: column;\n}\n\n.p-dock-mobile.p-dock-top .p-dock-list-container,\n.p-dock-mobile.p-dock-bottom .p-dock-list-container {\n overflow-x: auto;\n width: 100%;\n}\n\n.p-dock-mobile.p-dock-top .p-dock-list-container .p-dock-list,\n.p-dock-mobile.p-dock-bottom .p-dock-list-container .p-dock-list {\n margin: 0 auto;\n}\n\n.p-dock-mobile.p-dock-left .p-dock-list-container,\n.p-dock-mobile.p-dock-right .p-dock-list-container {\n overflow-y: auto;\n height: 100%;\n}\n\n.p-dock-mobile.p-dock-left .p-dock-list-container .p-dock-list,\n.p-dock-mobile.p-dock-right .p-dock-list-container .p-dock-list {\n margin: auto 0;\n}\n\n.p-dock-mobile .p-dock-list .p-dock-item {\n transform: none;\n margin: 0;\n}\n"); +}, "theme"); +var classes$y = { + root: /* @__PURE__ */ __name(function root10(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-dock p-component", "p-dock-".concat(props.position), { + "p-dock-mobile": instance.queryMatches + }]; + }, "root"), + listContainer: "p-dock-list-container", + list: "p-dock-list", + item: /* @__PURE__ */ __name(function item2(_ref3) { + var instance = _ref3.instance, processedItem = _ref3.processedItem, id4 = _ref3.id; + return ["p-dock-item", { + "p-focus": instance.isItemActive(id4), + "p-disabled": instance.disabled(processedItem) + }]; + }, "item"), + itemContent: "p-dock-item-content", + itemLink: "p-dock-item-link", + itemIcon: "p-dock-item-icon" +}; +var DockStyle = BaseStyle.extend({ + name: "dock", + theme: theme$u, + classes: classes$y +}); +var script$2$7 = { + name: "BaseDock", + "extends": script$1d, + props: { + position: { + type: String, + "default": "bottom" + }, + model: null, + "class": null, + style: null, + tooltipOptions: null, + menuId: { + type: String, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + }, + breakpoint: { + type: String, + "default": "960px" + }, + ariaLabel: { + type: String, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + } + }, + style: DockStyle, + provide: /* @__PURE__ */ __name(function provide16() { + return { + $pcDock: this, + $parentInstance: this + }; + }, "provide") +}; +function _toConsumableArray$a(r) { + return _arrayWithoutHoles$a(r) || _iterableToArray$a(r) || _unsupportedIterableToArray$b(r) || _nonIterableSpread$a(); +} +__name(_toConsumableArray$a, "_toConsumableArray$a"); +function _nonIterableSpread$a() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$a, "_nonIterableSpread$a"); +function _unsupportedIterableToArray$b(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$b(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$b(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$b, "_unsupportedIterableToArray$b"); +function _iterableToArray$a(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$a, "_iterableToArray$a"); +function _arrayWithoutHoles$a(r) { + if (Array.isArray(r)) return _arrayLikeToArray$b(r); +} +__name(_arrayWithoutHoles$a, "_arrayWithoutHoles$a"); +function _arrayLikeToArray$b(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$b, "_arrayLikeToArray$b"); +var script$1$z = { + name: "DockSub", + hostName: "Dock", + "extends": script$1d, + emits: ["focus", "blur"], + props: { + position: { + type: String, + "default": "bottom" + }, + model: { + type: Array, + "default": null + }, + templates: { + type: null, + "default": null + }, + tooltipOptions: null, + menuId: { + type: String, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + }, + ariaLabel: { + type: String, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + } + }, + data: /* @__PURE__ */ __name(function data9() { + return { + id: this.menuId, + currentIndex: -3, + focused: false, + focusedOptionIndex: -1 + }; + }, "data"), + watch: { + menuId: /* @__PURE__ */ __name(function menuId(newValue) { + this.id = newValue || UniqueComponentId(); + }, "menuId") + }, + mounted: /* @__PURE__ */ __name(function mounted13() { + this.id = this.id || UniqueComponentId(); + }, "mounted"), + methods: { + getItemId: /* @__PURE__ */ __name(function getItemId(index) { + return "".concat(this.id, "_").concat(index); + }, "getItemId"), + getItemProp: /* @__PURE__ */ __name(function getItemProp(processedItem, name4) { + return processedItem && processedItem.item ? resolve(processedItem.item[name4]) : void 0; + }, "getItemProp"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions2(key, item8, index) { + return this.ptm(key, { + context: { + index, + item: item8, + active: this.isItemActive(this.getItemId(index)) + } + }); + }, "getPTOptions"), + isSameMenuItem: /* @__PURE__ */ __name(function isSameMenuItem(event2) { + return event2.currentTarget && (event2.currentTarget.isSameNode(event2.target) || event2.currentTarget.isSameNode(event2.target.closest('[data-pc-section="item"]'))); + }, "isSameMenuItem"), + isItemActive: /* @__PURE__ */ __name(function isItemActive2(id4) { + return id4 === this.focusedOptionIndex; + }, "isItemActive"), + onListMouseLeave: /* @__PURE__ */ __name(function onListMouseLeave() { + this.currentIndex = -3; + }, "onListMouseLeave"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter(index) { + this.currentIndex = index; + }, "onItemMouseEnter"), + onItemClick: /* @__PURE__ */ __name(function onItemClick(event2, processedItem) { + if (this.isSameMenuItem(event2)) { + var command = this.getItemProp(processedItem, "command"); + command && command({ + originalEvent: event2, + item: processedItem.item + }); + } + }, "onItemClick"), + onListFocus: /* @__PURE__ */ __name(function onListFocus(event2) { + this.focused = true; + this.changeFocusedOptionIndex(0); + this.$emit("focus", event2); + }, "onListFocus"), + onListBlur: /* @__PURE__ */ __name(function onListBlur(event2) { + this.focused = false; + this.focusedOptionIndex = -1; + this.$emit("blur", event2); + }, "onListBlur"), + onListKeyDown: /* @__PURE__ */ __name(function onListKeyDown(event2) { + switch (event2.code) { + case "ArrowDown": { + if (this.position === "left" || this.position === "right") this.onArrowDownKey(); + event2.preventDefault(); + break; + } + case "ArrowUp": { + if (this.position === "left" || this.position === "right") this.onArrowUpKey(); + event2.preventDefault(); + break; + } + case "ArrowRight": { + if (this.position === "top" || this.position === "bottom") this.onArrowDownKey(); + event2.preventDefault(); + break; + } + case "ArrowLeft": { + if (this.position === "top" || this.position === "bottom") this.onArrowUpKey(); + event2.preventDefault(); + break; + } + case "Home": { + this.onHomeKey(); + event2.preventDefault(); + break; + } + case "End": { + this.onEndKey(); + event2.preventDefault(); + break; + } + case "Enter": + case "NumpadEnter": + case "Space": { + this.onSpaceKey(event2); + event2.preventDefault(); + break; + } + } + }, "onListKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey3() { + var optionIndex = this.findNextOptionIndex(this.focusedOptionIndex); + this.changeFocusedOptionIndex(optionIndex); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey3() { + var optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex); + this.changeFocusedOptionIndex(optionIndex); + }, "onArrowUpKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey3() { + this.changeFocusedOptionIndex(0); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey3() { + this.changeFocusedOptionIndex(find(this.$refs.list, 'li[data-pc-section="item"][data-p-disabled="false"]').length - 1); + }, "onEndKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey2() { + var element = findSingle(this.$refs.list, 'li[id="'.concat("".concat(this.focusedOptionIndex), '"]')); + var anchorElement = element && findSingle(element, '[data-pc-section="itemlink"]'); + anchorElement ? anchorElement.click() : element && element.click(); + }, "onSpaceKey"), + findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex2(index) { + var menuitems = find(this.$refs.list, 'li[data-pc-section="item"][data-p-disabled="false"]'); + var matchedOptionIndex = _toConsumableArray$a(menuitems).findIndex(function(link) { + return link.id === index; + }); + return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0; + }, "findNextOptionIndex"), + findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex2(index) { + var menuitems = find(this.$refs.list, 'li[data-pc-section="item"][data-p-disabled="false"]'); + var matchedOptionIndex = _toConsumableArray$a(menuitems).findIndex(function(link) { + return link.id === index; + }); + return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0; + }, "findPrevOptionIndex"), + changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex2(index) { + var menuitems = find(this.$refs.list, 'li[data-pc-section="item"][data-p-disabled="false"]'); + var order = index >= menuitems.length ? menuitems.length - 1 : index < 0 ? 0 : index; + this.focusedOptionIndex = menuitems[order].getAttribute("id"); + }, "changeFocusedOptionIndex"), + disabled: /* @__PURE__ */ __name(function disabled2(item8) { + return typeof item8.disabled === "function" ? item8.disabled() : item8.disabled; + }, "disabled"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps2(item8, index) { + return { + action: mergeProps({ + tabindex: -1, + "class": this.cx("itemLink") + }, this.getPTOptions("itemLink", item8, index)), + icon: mergeProps({ + "class": [this.cx("itemIcon"), item8.icon] + }, this.getPTOptions("itemIcon", item8, index)) + }; + }, "getMenuItemProps") + }, + computed: { + focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId3() { + return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null; + }, "focusedOptionId") + }, + directives: { + ripple: Ripple, + tooltip: Tooltip + } +}; +var _hoisted_1$p = ["id", "aria-orientation", "aria-activedescendant", "tabindex", "aria-label", "aria-labelledby"]; +var _hoisted_2$i = ["id", "aria-label", "aria-disabled", "onClick", "onMouseenter", "data-p-focused", "data-p-disabled"]; +var _hoisted_3$f = ["href", "target"]; +function render$1$7(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + var _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("listContainer") + }, _ctx.ptm("listContainer")), [createBaseVNode("ul", mergeProps({ + ref: "list", + id: $data.id, + "class": _ctx.cx("list"), + role: "menu", + "aria-orientation": $props.position === "bottom" || $props.position === "top" ? "horizontal" : "vertical", + "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, + tabindex: $props.tabindex, + "aria-label": $props.ariaLabel, + "aria-labelledby": $props.ariaLabelledby, + onFocus: _cache[0] || (_cache[0] = function() { + return $options.onListFocus && $options.onListFocus.apply($options, arguments); + }), + onBlur: _cache[1] || (_cache[1] = function() { + return $options.onListBlur && $options.onListBlur.apply($options, arguments); + }), + onKeydown: _cache[2] || (_cache[2] = function() { + return $options.onListKeyDown && $options.onListKeyDown.apply($options, arguments); + }), + onMouseleave: _cache[3] || (_cache[3] = function() { + return $options.onListMouseLeave && $options.onListMouseLeave.apply($options, arguments); + }) + }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.model, function(processedItem, index) { + return openBlock(), createElementBlock("li", mergeProps({ + key: index, + id: $options.getItemId(index), + "class": _ctx.cx("item", { + processedItem, + id: $options.getItemId(index) + }), + role: "menuitem", + "aria-label": processedItem.label, + "aria-disabled": $options.disabled(processedItem), + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onItemClick($event, processedItem); + }, "onClick"), + onMouseenter: /* @__PURE__ */ __name(function onMouseenter($event) { + return $options.onItemMouseEnter(index); + }, "onMouseenter"), + ref_for: true + }, $options.getPTOptions("item", processedItem, index), { + "data-p-focused": $options.isItemActive($options.getItemId(index)), + "data-p-disabled": $options.disabled(processedItem) || false + }), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("itemContent"), + ref_for: true + }, $options.getPTOptions("itemContent", processedItem, index)), [!$props.templates["item"] ? withDirectives((openBlock(), createElementBlock("a", mergeProps({ + key: 0, + href: processedItem.url, + "class": _ctx.cx("itemLink"), + target: processedItem.target, + tabindex: "-1", + "aria-hidden": "true", + ref_for: true + }, $options.getPTOptions("itemLink", processedItem, index)), [!$props.templates["icon"] && !$props.templates["itemicon"] ? withDirectives((openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": [_ctx.cx("itemIcon"), processedItem.icon], + ref_for: true + }, $options.getPTOptions("itemIcon", processedItem, index)), null, 16)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates["icon"] || $props.templates["itemicon"]), { + key: 1, + item: processedItem, + "class": normalizeClass(_ctx.cx("itemIcon")) + }, null, 8, ["item", "class"]))], 16, _hoisted_3$f)), [[_directive_tooltip, { + value: processedItem.label, + disabled: !$props.tooltipOptions + }, $props.tooltipOptions]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates["item"]), { + key: 1, + item: processedItem, + index, + label: processedItem.label, + props: $options.getMenuItemProps(processedItem, index) + }, null, 8, ["item", "index", "label", "props"]))], 16)], 16, _hoisted_2$i); + }), 128))], 16, _hoisted_1$p)], 16); +} +__name(render$1$7, "render$1$7"); +script$1$z.render = render$1$7; +var script$V = { + name: "Dock", + "extends": script$2$7, + inheritAttrs: false, + matchMediaListener: null, + data: /* @__PURE__ */ __name(function data10() { + return { + query: null, + queryMatches: false + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted14() { + this.bindMatchMediaListener(); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount5() { + this.unbindMatchMediaListener(); + }, "beforeUnmount"), + methods: { + bindMatchMediaListener: /* @__PURE__ */ __name(function bindMatchMediaListener3() { + var _this = this; + if (!this.matchMediaListener) { + var query = matchMedia("(max-width: ".concat(this.breakpoint, ")")); + this.query = query; + this.queryMatches = query.matches; + this.matchMediaListener = function() { + _this.queryMatches = query.matches; + _this.mobileActive = false; + }; + this.query.addEventListener("change", this.matchMediaListener); + } + }, "bindMatchMediaListener"), + unbindMatchMediaListener: /* @__PURE__ */ __name(function unbindMatchMediaListener3() { + if (this.matchMediaListener) { + this.query.removeEventListener("change", this.matchMediaListener); + this.matchMediaListener = null; + } + }, "unbindMatchMediaListener") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass() { + return [this["class"], this.cx("root")]; + }, "containerClass") + }, + components: { + DockSub: script$1$z + } +}; +function render$P(_ctx, _cache, $props, $setup, $data, $options) { + var _component_DockSub = resolveComponent("DockSub"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": $options.containerClass, + style: _ctx.style + }, _ctx.ptmi("root")), [createVNode(_component_DockSub, { + model: _ctx.model, + templates: _ctx.$slots, + tooltipOptions: _ctx.tooltipOptions, + position: _ctx.position, + menuId: _ctx.menuId, + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + tabindex: _ctx.tabindex, + pt: _ctx.pt, + unstyled: _ctx.unstyled + }, null, 8, ["model", "templates", "tooltipOptions", "position", "menuId", "aria-label", "aria-labelledby", "tabindex", "pt", "unstyled"])], 16); +} +__name(render$P, "render$P"); +script$V.render = render$P; +var script$U = { + name: "Dropdown", + "extends": script$1v, + mounted: /* @__PURE__ */ __name(function mounted15() { + console.warn("Deprecated since v4. Use Select component instead."); + }, "mounted") +}; +var DropdownStyle = BaseStyle.extend({ + name: "dropdown" +}); +var DynamicDialogStyle = BaseStyle.extend({ + name: "dynamicdialog" +}); +var script$1$y = { + name: "BaseDynamicDialog", + "extends": script$1d, + props: {}, + style: DynamicDialogStyle, + provide: /* @__PURE__ */ __name(function provide17() { + return { + $pcDynamicDialog: this, + $parentInstance: this + }; + }, "provide") +}; +var script$T = { + name: "DynamicDialog", + "extends": script$1$y, + inheritAttrs: false, + data: /* @__PURE__ */ __name(function data11() { + return { + instanceMap: {} + }; + }, "data"), + openListener: null, + closeListener: null, + currentInstance: null, + mounted: /* @__PURE__ */ __name(function mounted16() { + var _this = this; + this.openListener = function(_ref) { + var instance = _ref.instance; + var key = UniqueComponentId() + "_dynamic_dialog"; + instance.visible = true; + instance.key = key; + _this.instanceMap[key] = instance; + }; + this.closeListener = function(_ref2) { + var instance = _ref2.instance, params = _ref2.params; + var key = instance.key; + var currentInstance = _this.instanceMap[key]; + if (currentInstance) { + currentInstance.visible = false; + currentInstance.options.onClose && currentInstance.options.onClose({ + data: params, + type: "config-close" + }); + _this.currentInstance = currentInstance; + } + }; + DynamicDialogEventBus.on("open", this.openListener); + DynamicDialogEventBus.on("close", this.closeListener); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount6() { + DynamicDialogEventBus.off("open", this.openListener); + DynamicDialogEventBus.off("close", this.closeListener); + }, "beforeUnmount"), + methods: { + onDialogHide: /* @__PURE__ */ __name(function onDialogHide(instance) { + !this.currentInstance && instance.options.onClose && instance.options.onClose({ + type: "dialog-close" + }); + delete this.instanceMap[instance.key]; + }, "onDialogHide"), + onDialogAfterHide: /* @__PURE__ */ __name(function onDialogAfterHide() { + this.currentInstance && delete this.currentInstance; + this.currentInstance = null; + }, "onDialogAfterHide"), + getTemplateItems: /* @__PURE__ */ __name(function getTemplateItems(template) { + return Array.isArray(template) ? template : [template]; + }, "getTemplateItems") + }, + components: { + DDialog: script$1w + } +}; +function render$O(_ctx, _cache, $props, $setup, $data, $options) { + var _component_DDialog = resolveComponent("DDialog"); + return openBlock(true), createElementBlock(Fragment, null, renderList($data.instanceMap, function(instance, key) { + return openBlock(), createBlock(_component_DDialog, mergeProps({ + key, + visible: instance.visible, + "onUpdate:visible": /* @__PURE__ */ __name(function onUpdateVisible($event) { + return instance.visible = $event; + }, "onUpdateVisible"), + _instance: instance, + ref_for: true + }, instance.options.props, { + onHide: /* @__PURE__ */ __name(function onHide($event) { + return $options.onDialogHide(instance); + }, "onHide"), + onAfterHide: $options.onDialogAfterHide + }), createSlots({ + "default": withCtx(function() { + return [(openBlock(), createBlock(resolveDynamicComponent(instance.content), mergeProps({ + ref_for: true + }, instance.options.emits), null, 16))]; + }), + _: 2 + }, [instance.options.templates && instance.options.templates.header ? { + name: "header", + fn: withCtx(function() { + return [(openBlock(true), createElementBlock(Fragment, null, renderList($options.getTemplateItems(instance.options.templates.header), function(header2, index) { + return openBlock(), createBlock(resolveDynamicComponent(header2), mergeProps({ + key: index + "_header", + ref_for: true + }, instance.options.emits), null, 16); + }), 128))]; + }), + key: "0" + } : void 0, instance.options.templates && instance.options.templates.footer ? { + name: "footer", + fn: withCtx(function() { + return [(openBlock(true), createElementBlock(Fragment, null, renderList($options.getTemplateItems(instance.options.templates.footer), function(footer, index) { + return openBlock(), createBlock(resolveDynamicComponent(footer), mergeProps({ + key: index + "_footer", + ref_for: true + }, instance.options.emits), null, 16); + }), 128))]; + }), + key: "1" + } : void 0]), 1040, ["visible", "onUpdate:visible", "_instance", "onHide", "onAfterHide"]); + }), 128); +} +__name(render$O, "render$O"); +script$T.render = render$O; +var theme$t = /* @__PURE__ */ __name(function theme11(_ref) { + var dt = _ref.dt; + return "\n.p-fieldset {\n background: ".concat(dt("fieldset.background"), ";\n border: 1px solid ").concat(dt("fieldset.border.color"), ";\n border-radius: ").concat(dt("fieldset.border.radius"), ";\n color: ").concat(dt("fieldset.color"), ";\n padding: ").concat(dt("fieldset.padding"), ";\n margin: 0;\n}\n\n.p-fieldset-legend {\n background: ").concat(dt("fieldset.legend.background"), ";\n border-radius: ").concat(dt("fieldset.legend.border.radius"), ";\n border-width: ").concat(dt("fieldset.legend.border.width"), ";\n border-style: solid;\n border-color: ").concat(dt("fieldset.legend.border.color"), ";\n padding: ").concat(dt("fieldset.legend.padding"), ";\n transition: background ").concat(dt("fieldset.transition.duration"), ", color ").concat(dt("fieldset.transition.duration"), ", outline-color ").concat(dt("fieldset.transition.duration"), ", box-shadow ").concat(dt("fieldset.transition.duration"), ";\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend {\n padding: 0;\n}\n\n.p-fieldset-toggle-button {\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n position: relative;\n text-decoration: none;\n display: flex;\n gap: ").concat(dt("fieldset.legend.gap"), ";\n align-items: center;\n justify-content: center;\n padding: ").concat(dt("fieldset.legend.padding"), ";\n background: transparent;\n border: 0 none;\n border-radius: ").concat(dt("fieldset.legend.border.radius"), ";\n transition: background ").concat(dt("fieldset.transition.duration"), ", color ").concat(dt("fieldset.transition.duration"), ", outline-color ").concat(dt("fieldset.transition.duration"), ", box-shadow ").concat(dt("fieldset.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-fieldset-legend-label {\n font-weight: ").concat(dt("fieldset.legend.font.weight"), ";\n}\n\n.p-fieldset-toggle-button:focus-visible {\n box-shadow: ").concat(dt("fieldset.legend.focus.ring.shadow"), ";\n outline: ").concat(dt("fieldset.legend.focus.ring.width"), " ").concat(dt("fieldset.legend.focus.ring.style"), " ").concat(dt("fieldset.legend.focus.ring.color"), ";\n outline-offset: ").concat(dt("fieldset.legend.focus.ring.offset"), ";\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend:hover {\n color: ").concat(dt("fieldset.legend.hover.color"), ";\n background: ").concat(dt("fieldset.legend.hover.background"), ";\n}\n\n.p-fieldset-toggle-icon {\n color: ").concat(dt("fieldset.toggle.icon.color"), ";\n transition: color ").concat(dt("fieldset.transition.duration"), ";\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend:hover .p-fieldset-toggle-icon {\n color: ").concat(dt("fieldset.toggle.icon.hover.color"), ";\n}\n\n.p-fieldset .p-fieldset-content {\n padding: ").concat(dt("fieldset.content.padding"), ";\n}\n"); +}, "theme"); +var classes$x = { + root: /* @__PURE__ */ __name(function root11(_ref2) { + var props = _ref2.props; + return ["p-fieldset p-component", { + "p-fieldset-toggleable": props.toggleable + }]; + }, "root"), + legend: "p-fieldset-legend", + legendLabel: "p-fieldset-legend-label", + toggleButton: "p-fieldset-toggle-button", + toggleIcon: "p-fieldset-toggle-icon", + contentContainer: "p-fieldset-content-container", + content: "p-fieldset-content" +}; +var FieldsetStyle = BaseStyle.extend({ + name: "fieldset", + theme: theme$t, + classes: classes$x +}); +var script$1$x = { + name: "BaseFieldset", + "extends": script$1d, + props: { + legend: String, + toggleable: Boolean, + collapsed: Boolean, + toggleButtonProps: { + type: null, + "default": null + } + }, + style: FieldsetStyle, + provide: /* @__PURE__ */ __name(function provide18() { + return { + $pcFieldset: this, + $parentInstance: this + }; + }, "provide") +}; +var script$S = { + name: "Fieldset", + "extends": script$1$x, + inheritAttrs: false, + emits: ["update:collapsed", "toggle"], + data: /* @__PURE__ */ __name(function data12() { + return { + id: this.$attrs.id, + d_collapsed: this.collapsed + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId4(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + collapsed: /* @__PURE__ */ __name(function collapsed(newValue) { + this.d_collapsed = newValue; + }, "collapsed") + }, + mounted: /* @__PURE__ */ __name(function mounted17() { + this.id = this.id || UniqueComponentId(); + }, "mounted"), + methods: { + toggle: /* @__PURE__ */ __name(function toggle(event2) { + this.d_collapsed = !this.d_collapsed; + this.$emit("update:collapsed", this.d_collapsed); + this.$emit("toggle", { + originalEvent: event2, + value: this.d_collapsed + }); + }, "toggle"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown4(event2) { + if (event2.code === "Enter" || event2.code === "NumpadEnter" || event2.code === "Space") { + this.toggle(event2); + event2.preventDefault(); + } + }, "onKeyDown") + }, + computed: { + buttonAriaLabel: /* @__PURE__ */ __name(function buttonAriaLabel() { + return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.legend; + }, "buttonAriaLabel") + }, + directives: { + ripple: Ripple + }, + components: { + PlusIcon: script$1x, + MinusIcon: script$1y + } +}; +function _typeof$i(o) { + "@babel/helpers - typeof"; + return _typeof$i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$i(o); +} +__name(_typeof$i, "_typeof$i"); +function ownKeys$g(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$g, "ownKeys$g"); +function _objectSpread$g(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$g(Object(t2), true).forEach(function(r2) { + _defineProperty$h(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$g(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$g, "_objectSpread$g"); +function _defineProperty$h(e, r, t2) { + return (r = _toPropertyKey$h(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$h, "_defineProperty$h"); +function _toPropertyKey$h(t2) { + var i = _toPrimitive$h(t2, "string"); + return "symbol" == _typeof$i(i) ? i : i + ""; +} +__name(_toPropertyKey$h, "_toPropertyKey$h"); +function _toPrimitive$h(t2, r) { + if ("object" != _typeof$i(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$i(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$h, "_toPrimitive$h"); +var _hoisted_1$o = ["id"]; +var _hoisted_2$h = ["id", "aria-controls", "aria-expanded", "aria-label"]; +var _hoisted_3$e = ["id", "aria-labelledby"]; +function render$N(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("fieldset", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [createBaseVNode("legend", mergeProps({ + "class": _ctx.cx("legend") + }, _ctx.ptm("legend")), [renderSlot(_ctx.$slots, "legend", { + toggleCallback: $options.toggle + }, function() { + return [!_ctx.toggleable ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + id: $data.id + "_header", + "class": _ctx.cx("legendLabel") + }, _ctx.ptm("legendLabel")), toDisplayString(_ctx.legend), 17, _hoisted_1$o)) : createCommentVNode("", true), _ctx.toggleable ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ + key: 1, + id: $data.id + "_header", + type: "button", + "aria-controls": $data.id + "_content", + "aria-expanded": !$data.d_collapsed, + "aria-label": $options.buttonAriaLabel, + "class": _ctx.cx("toggleButton"), + onClick: _cache[0] || (_cache[0] = function() { + return $options.toggle && $options.toggle.apply($options, arguments); + }), + onKeydown: _cache[1] || (_cache[1] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }) + }, _objectSpread$g(_objectSpread$g({}, _ctx.toggleButtonProps), _ctx.ptm("toggleButton"))), [renderSlot(_ctx.$slots, _ctx.$slots.toggleicon ? "toggleicon" : "togglericon", { + collapsed: $data.d_collapsed, + "class": normalizeClass(_ctx.cx("toggleIcon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent($data.d_collapsed ? "PlusIcon" : "MinusIcon"), mergeProps({ + "class": _ctx.cx("toggleIcon") + }, _ctx.ptm("toggleIcon")), null, 16, ["class"]))]; + }), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("legendLabel") + }, _ctx.ptm("legendLabel")), toDisplayString(_ctx.legend), 17)], 16, _hoisted_2$h)), [[_directive_ripple]]) : createCommentVNode("", true)]; + })], 16), createVNode(Transition, mergeProps({ + name: "p-toggleable-content" + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [withDirectives(createBaseVNode("div", mergeProps({ + id: $data.id + "_content", + "class": _ctx.cx("contentContainer"), + role: "region", + "aria-labelledby": $data.id + "_header" + }, _ctx.ptm("contentContainer")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("content") + }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16)], 16, _hoisted_3$e), [[vShow, !$data.d_collapsed]])]; + }), + _: 3 + }, 16)], 16); +} +__name(render$N, "render$N"); +script$S.render = render$N; +var script$R = { + name: "UploadIcon", + "extends": script$1m +}; +function render$M(_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: "M6.58942 9.82197C6.70165 9.93405 6.85328 9.99793 7.012 10C7.17071 9.99793 7.32234 9.93405 7.43458 9.82197C7.54681 9.7099 7.61079 9.55849 7.61286 9.4V2.04798L9.79204 4.22402C9.84752 4.28011 9.91365 4.32457 9.98657 4.35479C10.0595 4.38502 10.1377 4.40039 10.2167 4.40002C10.2956 4.40039 10.3738 4.38502 10.4467 4.35479C10.5197 4.32457 10.5858 4.28011 10.6413 4.22402C10.7538 4.11152 10.817 3.95902 10.817 3.80002C10.817 3.64102 10.7538 3.48852 10.6413 3.37602L7.45127 0.190618C7.44656 0.185584 7.44176 0.180622 7.43687 0.175736C7.32419 0.063214 7.17136 0 7.012 0C6.85264 0 6.69981 0.063214 6.58712 0.175736C6.58181 0.181045 6.5766 0.186443 6.5715 0.191927L3.38282 3.37602C3.27669 3.48976 3.2189 3.6402 3.22165 3.79564C3.2244 3.95108 3.28746 4.09939 3.39755 4.20932C3.50764 4.31925 3.65616 4.38222 3.81182 4.38496C3.96749 4.3877 4.11814 4.33001 4.23204 4.22402L6.41113 2.04807V9.4C6.41321 9.55849 6.47718 9.7099 6.58942 9.82197ZM11.9952 14H2.02883C1.751 13.9887 1.47813 13.9228 1.22584 13.8061C0.973545 13.6894 0.746779 13.5241 0.558517 13.3197C0.370254 13.1154 0.22419 12.876 0.128681 12.6152C0.0331723 12.3545 -0.00990605 12.0775 0.0019109 11.8V9.40005C0.0019109 9.24092 0.065216 9.08831 0.1779 8.97579C0.290584 8.86326 0.443416 8.80005 0.602775 8.80005C0.762134 8.80005 0.914966 8.86326 1.02765 8.97579C1.14033 9.08831 1.20364 9.24092 1.20364 9.40005V11.8C1.18295 12.0376 1.25463 12.274 1.40379 12.4602C1.55296 12.6463 1.76817 12.7681 2.00479 12.8H11.9952C12.2318 12.7681 12.447 12.6463 12.5962 12.4602C12.7453 12.274 12.817 12.0376 12.7963 11.8V9.40005C12.7963 9.24092 12.8596 9.08831 12.9723 8.97579C13.085 8.86326 13.2378 8.80005 13.3972 8.80005C13.5565 8.80005 13.7094 8.86326 13.8221 8.97579C13.9347 9.08831 13.998 9.24092 13.998 9.40005V11.8C14.022 12.3563 13.8251 12.8996 13.45 13.3116C13.0749 13.7236 12.552 13.971 11.9952 14Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$M, "render$M"); +script$R.render = render$M; +var theme$s = /* @__PURE__ */ __name(function theme12(_ref) { + var dt = _ref.dt; + return '\n.p-fileupload input[type="file"] {\n display: none;\n}\n\n.p-fileupload-advanced {\n border: 1px solid '.concat(dt("fileupload.border.color"), ";\n border-radius: ").concat(dt("fileupload.border.radius"), ";\n background: ").concat(dt("fileupload.background"), ";\n color: ").concat(dt("fileupload.color"), ";\n}\n\n.p-fileupload-header {\n display: flex;\n align-items: center;\n padding: ").concat(dt("fileupload.header.padding"), ";\n background: ").concat(dt("fileupload.header.background"), ";\n color: ").concat(dt("fileupload.header.color"), ";\n border-style: solid;\n border-width: ").concat(dt("fileupload.header.border.width"), ";\n border-color: ").concat(dt("fileupload.header.border.color"), ";\n border-radius: ").concat(dt("fileupload.header.border.radius"), ";\n gap: ").concat(dt("fileupload.header.gap"), ";\n}\n\n.p-fileupload-content {\n border: 1px solid transparent;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("fileupload.content.gap"), ";\n transition: border-color ").concat(dt("fileupload.transition.duration"), ";\n padding: ").concat(dt("fileupload.content.padding"), ";\n}\n\n.p-fileupload-content .p-progressbar {\n width: 100%;\n height: ").concat(dt("fileupload.progressbar.height"), ";\n}\n\n.p-fileupload-file-list {\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("fileupload.filelist.gap"), ";\n}\n\n.p-fileupload-file {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: ").concat(dt("fileupload.file.padding"), ";\n border-block-end: 1px solid ").concat(dt("fileupload.file.border.color"), ";\n gap: ").concat(dt("fileupload.file.gap"), ";\n}\n\n.p-fileupload-file:last-child {\n border-block-end: 0;\n}\n\n.p-fileupload-file-info {\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("fileupload.file.info.gap"), ";\n}\n\n.p-fileupload-file-thumbnail {\n flex-shrink: 0;\n}\n\n.p-fileupload-file-actions {\n margin-inline-start: auto;\n}\n\n.p-fileupload-highlight {\n border: 1px dashed ").concat(dt("fileupload.content.highlight.border.color"), ";\n}\n\n.p-fileupload-basic {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n gap: ").concat(dt("fileupload.basic.gap"), ";\n}\n"); +}, "theme"); +var classes$w = { + root: /* @__PURE__ */ __name(function root12(_ref2) { + var props = _ref2.props; + return ["p-fileupload p-fileupload-".concat(props.mode, " p-component")]; + }, "root"), + header: "p-fileupload-header", + pcChooseButton: "p-fileupload-choose-button", + pcUploadButton: "p-fileupload-upload-button", + pcCancelButton: "p-fileupload-cancel-button", + content: "p-fileupload-content", + fileList: "p-fileupload-file-list", + file: "p-fileupload-file", + fileThumbnail: "p-fileupload-file-thumbnail", + fileInfo: "p-fileupload-file-info", + fileName: "p-fileupload-file-name", + fileSize: "p-fileupload-file-size", + pcFileBadge: "p-fileupload-file-badge", + fileActions: "p-fileupload-file-actions", + pcFileRemoveButton: "p-fileupload-file-remove-button" +}; +var FileUploadStyle = BaseStyle.extend({ + name: "fileupload", + theme: theme$s, + classes: classes$w +}); +var script$2$6 = { + name: "BaseFileUpload", + "extends": script$1d, + props: { + name: { + type: String, + "default": null + }, + url: { + type: String, + "default": null + }, + mode: { + type: String, + "default": "advanced" + }, + multiple: { + type: Boolean, + "default": false + }, + accept: { + type: String, + "default": null + }, + disabled: { + type: Boolean, + "default": false + }, + auto: { + type: Boolean, + "default": false + }, + maxFileSize: { + type: Number, + "default": null + }, + invalidFileSizeMessage: { + type: String, + "default": "{0}: Invalid file size, file size should be smaller than {1}." + }, + invalidFileTypeMessage: { + type: String, + "default": "{0}: Invalid file type, allowed file types: {1}." + }, + fileLimit: { + type: Number, + "default": null + }, + invalidFileLimitMessage: { + type: String, + "default": "Maximum number of files exceeded, limit is {0} at most." + }, + withCredentials: { + type: Boolean, + "default": false + }, + previewWidth: { + type: Number, + "default": 50 + }, + chooseLabel: { + type: String, + "default": null + }, + uploadLabel: { + type: String, + "default": null + }, + cancelLabel: { + type: String, + "default": null + }, + customUpload: { + type: Boolean, + "default": false + }, + showUploadButton: { + type: Boolean, + "default": true + }, + showCancelButton: { + type: Boolean, + "default": true + }, + chooseIcon: { + type: String, + "default": void 0 + }, + uploadIcon: { + type: String, + "default": void 0 + }, + cancelIcon: { + type: String, + "default": void 0 + }, + style: null, + "class": null, + chooseButtonProps: { + type: null, + "default": null + }, + uploadButtonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default7() { + return { + severity: "secondary" + }; + }, "_default") + }, + cancelButtonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default8() { + return { + severity: "secondary" + }; + }, "_default") + } + }, + style: FileUploadStyle, + provide: /* @__PURE__ */ __name(function provide19() { + return { + $pcFileUpload: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$w = { + name: "FileContent", + hostName: "FileUpload", + "extends": script$1d, + emits: ["remove"], + props: { + files: { + type: Array, + "default": /* @__PURE__ */ __name(function _default9() { + return []; + }, "_default") + }, + badgeSeverity: { + type: String, + "default": "warn" + }, + badgeValue: { + type: String, + "default": null + }, + previewWidth: { + type: Number, + "default": 50 + }, + templates: { + type: null, + "default": null + } + }, + methods: { + formatSize: /* @__PURE__ */ __name(function formatSize(bytes) { + var _this$$primevue$confi; + var k = 1024; + var dm = 3; + var sizes = ((_this$$primevue$confi = this.$primevue.config.locale) === null || _this$$primevue$confi === void 0 ? void 0 : _this$$primevue$confi.fileSizeTypes) || ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]; + if (bytes === 0) { + return "0 ".concat(sizes[0]); + } + var i = Math.floor(Math.log(bytes) / Math.log(k)); + var formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm)); + return "".concat(formattedSize, " ").concat(sizes[i]); + }, "formatSize") + }, + components: { + Button: script$1e, + Badge: script$1z, + TimesIcon: script$1g + } +}; +var _hoisted_1$1$5 = ["alt", "src", "width"]; +function render$1$6(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Badge = resolveComponent("Badge"); + var _component_TimesIcon = resolveComponent("TimesIcon"); + var _component_Button = resolveComponent("Button"); + return openBlock(true), createElementBlock(Fragment, null, renderList($props.files, function(file, index) { + return openBlock(), createElementBlock("div", mergeProps({ + key: file.name + file.type + file.size, + "class": _ctx.cx("file"), + ref_for: true + }, _ctx.ptm("file")), [createBaseVNode("img", mergeProps({ + role: "presentation", + "class": _ctx.cx("fileThumbnail"), + alt: file.name, + src: file.objectURL, + width: $props.previewWidth, + ref_for: true + }, _ctx.ptm("fileThumbnail")), null, 16, _hoisted_1$1$5), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("fileInfo"), + ref_for: true + }, _ctx.ptm("fileInfo")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("fileName"), + ref_for: true + }, _ctx.ptm("fileName")), toDisplayString(file.name), 17), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("fileSize"), + ref_for: true + }, _ctx.ptm("fileSize")), toDisplayString($options.formatSize(file.size)), 17)], 16), createVNode(_component_Badge, { + value: $props.badgeValue, + "class": normalizeClass(_ctx.cx("pcFileBadge")), + severity: $props.badgeSeverity, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcFileBadge") + }, null, 8, ["value", "class", "severity", "unstyled", "pt"]), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("fileActions"), + ref_for: true + }, _ctx.ptm("fileActions")), [createVNode(_component_Button, { + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return _ctx.$emit("remove", index); + }, "onClick"), + text: "", + rounded: "", + severity: "danger", + "class": normalizeClass(_ctx.cx("pcFileRemoveButton")), + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcFileRemoveButton") + }, { + icon: withCtx(function(iconProps) { + return [$props.templates.fileremoveicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.fileremoveicon), { + key: 0, + "class": normalizeClass(iconProps["class"]), + file, + index + }, null, 8, ["class", "file", "index"])) : (openBlock(), createBlock(_component_TimesIcon, mergeProps({ + key: 1, + "class": iconProps["class"], + "aria-hidden": "true", + ref_for: true + }, _ctx.ptm("pcFileRemoveButton")["icon"]), null, 16, ["class"]))]; + }), + _: 2 + }, 1032, ["onClick", "class", "unstyled", "pt"])], 16)], 16); + }), 128); +} +__name(render$1$6, "render$1$6"); +script$1$w.render = render$1$6; +function _toConsumableArray$9(r) { + return _arrayWithoutHoles$9(r) || _iterableToArray$9(r) || _unsupportedIterableToArray$a(r) || _nonIterableSpread$9(); +} +__name(_toConsumableArray$9, "_toConsumableArray$9"); +function _nonIterableSpread$9() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$9, "_nonIterableSpread$9"); +function _iterableToArray$9(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$9, "_iterableToArray$9"); +function _arrayWithoutHoles$9(r) { + if (Array.isArray(r)) return _arrayLikeToArray$a(r); +} +__name(_arrayWithoutHoles$9, "_arrayWithoutHoles$9"); +function _createForOfIteratorHelper$3(r, e) { + var t2 = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t2) { + if (Array.isArray(r) || (t2 = _unsupportedIterableToArray$a(r)) || e) { + t2 && (r = t2); + var _n = 0, F = /* @__PURE__ */ __name(function F2() { + }, "F"); + return { s: F, n: /* @__PURE__ */ __name(function n() { + return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + throw r2; + }, "e"), f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, a = true, u = false; + return { s: /* @__PURE__ */ __name(function s() { + t2 = t2.call(r); + }, "s"), n: /* @__PURE__ */ __name(function n() { + var r2 = t2.next(); + return a = r2.done, r2; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + u = true, o = r2; + }, "e"), f: /* @__PURE__ */ __name(function f() { + try { + a || null == t2["return"] || t2["return"](); + } finally { + if (u) throw o; + } + }, "f") }; +} +__name(_createForOfIteratorHelper$3, "_createForOfIteratorHelper$3"); +function _unsupportedIterableToArray$a(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$a(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$a(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$a, "_unsupportedIterableToArray$a"); +function _arrayLikeToArray$a(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$a, "_arrayLikeToArray$a"); +var script$Q = { + name: "FileUpload", + "extends": script$2$6, + inheritAttrs: false, + emits: ["select", "uploader", "before-upload", "progress", "upload", "error", "before-send", "clear", "remove", "remove-uploaded-file"], + duplicateIEEvent: false, + data: /* @__PURE__ */ __name(function data13() { + return { + uploadedFileCount: 0, + files: [], + messages: [], + focused: false, + progress: null, + uploadedFiles: [] + }; + }, "data"), + methods: { + upload: /* @__PURE__ */ __name(function upload() { + if (this.hasFiles) this.uploader(); + }, "upload"), + onBasicUploaderClick: /* @__PURE__ */ __name(function onBasicUploaderClick(event2) { + if (event2.button === 0) this.$refs.fileInput.click(); + }, "onBasicUploaderClick"), + onFileSelect: /* @__PURE__ */ __name(function onFileSelect(event2) { + if (event2.type !== "drop" && this.isIE11() && this.duplicateIEEvent) { + this.duplicateIEEvent = false; + return; + } + if (this.isBasic && this.hasFiles) { + this.files = []; + } + this.messages = []; + this.files = this.files || []; + var files = event2.dataTransfer ? event2.dataTransfer.files : event2.target.files; + var _iterator = _createForOfIteratorHelper$3(files), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var file = _step.value; + if (!this.isFileSelected(file) && !this.isFileLimitExceeded()) { + if (this.validate(file)) { + if (this.isImage(file)) { + file.objectURL = window.URL.createObjectURL(file); + } + this.files.push(file); + } + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + this.$emit("select", { + originalEvent: event2, + files: this.files + }); + if (this.fileLimit) { + this.checkFileLimit(); + } + if (this.auto && this.hasFiles && !this.isFileLimitExceeded()) { + this.uploader(); + } + if (event2.type !== "drop" && this.isIE11()) { + this.clearIEInput(); + } else { + this.clearInputElement(); + } + }, "onFileSelect"), + choose: /* @__PURE__ */ __name(function choose() { + this.$refs.fileInput.click(); + }, "choose"), + uploader: /* @__PURE__ */ __name(function uploader() { + var _this = this; + if (this.customUpload) { + if (this.fileLimit) { + this.uploadedFileCount += this.files.length; + } + this.$emit("uploader", { + files: this.files + }); + this.clear(); + } else { + var xhr = new XMLHttpRequest(); + var formData = new FormData(); + this.$emit("before-upload", { + xhr, + formData + }); + var _iterator2 = _createForOfIteratorHelper$3(this.files), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var file = _step2.value; + formData.append(this.name, file, file.name); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + xhr.upload.addEventListener("progress", function(event2) { + if (event2.lengthComputable) { + _this.progress = Math.round(event2.loaded * 100 / event2.total); + } + _this.$emit("progress", { + originalEvent: event2, + progress: _this.progress + }); + }); + xhr.onreadystatechange = function() { + if (xhr.readyState === 4) { + var _this$uploadedFiles; + _this.progress = 0; + if (xhr.status >= 200 && xhr.status < 300) { + if (_this.fileLimit) { + _this.uploadedFileCount += _this.files.length; + } + _this.$emit("upload", { + xhr, + files: _this.files + }); + } else { + _this.$emit("error", { + xhr, + files: _this.files + }); + } + (_this$uploadedFiles = _this.uploadedFiles).push.apply(_this$uploadedFiles, _toConsumableArray$9(_this.files)); + _this.clear(); + } + }; + xhr.open("POST", this.url, true); + this.$emit("before-send", { + xhr, + formData + }); + xhr.withCredentials = this.withCredentials; + xhr.send(formData); + } + }, "uploader"), + clear: /* @__PURE__ */ __name(function clear() { + this.files = []; + this.messages = null; + this.$emit("clear"); + if (this.isAdvanced) { + this.clearInputElement(); + } + }, "clear"), + onFocus: /* @__PURE__ */ __name(function onFocus5() { + this.focused = true; + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur4() { + this.focused = false; + }, "onBlur"), + isFileSelected: /* @__PURE__ */ __name(function isFileSelected(file) { + if (this.files && this.files.length) { + var _iterator3 = _createForOfIteratorHelper$3(this.files), _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) { + var sFile = _step3.value; + if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) return true; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + return false; + }, "isFileSelected"), + isIE11: /* @__PURE__ */ __name(function isIE11() { + return !!window["MSInputMethodContext"] && !!document["documentMode"]; + }, "isIE11"), + validate: /* @__PURE__ */ __name(function validate(file) { + if (this.accept && !this.isFileTypeValid(file)) { + this.messages.push(this.invalidFileTypeMessage.replace("{0}", file.name).replace("{1}", this.accept)); + return false; + } + if (this.maxFileSize && file.size > this.maxFileSize) { + this.messages.push(this.invalidFileSizeMessage.replace("{0}", file.name).replace("{1}", this.formatSize(this.maxFileSize))); + return false; + } + return true; + }, "validate"), + isFileTypeValid: /* @__PURE__ */ __name(function isFileTypeValid(file) { + var acceptableTypes = this.accept.split(",").map(function(type2) { + return type2.trim(); + }); + var _iterator4 = _createForOfIteratorHelper$3(acceptableTypes), _step4; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) { + var type = _step4.value; + var acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase(); + if (acceptable) { + return true; + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + return false; + }, "isFileTypeValid"), + getTypeClass: /* @__PURE__ */ __name(function getTypeClass(fileType) { + return fileType.substring(0, fileType.indexOf("/")); + }, "getTypeClass"), + isWildcard: /* @__PURE__ */ __name(function isWildcard(fileType) { + return fileType.indexOf("*") !== -1; + }, "isWildcard"), + getFileExtension: /* @__PURE__ */ __name(function getFileExtension(file) { + return "." + file.name.split(".").pop(); + }, "getFileExtension"), + isImage: /* @__PURE__ */ __name(function isImage(file) { + return /^image\//.test(file.type); + }, "isImage"), + onDragEnter: /* @__PURE__ */ __name(function onDragEnter(event2) { + if (!this.disabled) { + event2.stopPropagation(); + event2.preventDefault(); + } + }, "onDragEnter"), + onDragOver: /* @__PURE__ */ __name(function onDragOver(event2) { + if (!this.disabled) { + !this.isUnstyled && addClass(this.$refs.content, "p-fileupload-highlight"); + this.$refs.content.setAttribute("data-p-highlight", true); + event2.stopPropagation(); + event2.preventDefault(); + } + }, "onDragOver"), + onDragLeave: /* @__PURE__ */ __name(function onDragLeave() { + if (!this.disabled) { + !this.isUnstyled && removeClass(this.$refs.content, "p-fileupload-highlight"); + this.$refs.content.setAttribute("data-p-highlight", false); + } + }, "onDragLeave"), + onDrop: /* @__PURE__ */ __name(function onDrop(event2) { + if (!this.disabled) { + !this.isUnstyled && removeClass(this.$refs.content, "p-fileupload-highlight"); + this.$refs.content.setAttribute("data-p-highlight", false); + event2.stopPropagation(); + event2.preventDefault(); + var files = event2.dataTransfer ? event2.dataTransfer.files : event2.target.files; + var allowDrop = this.multiple || files && files.length === 1; + if (allowDrop) { + this.onFileSelect(event2); + } + } + }, "onDrop"), + remove: /* @__PURE__ */ __name(function remove(index) { + this.clearInputElement(); + var removedFile = this.files.splice(index, 1)[0]; + this.files = _toConsumableArray$9(this.files); + this.$emit("remove", { + file: removedFile, + files: this.files + }); + }, "remove"), + removeUploadedFile: /* @__PURE__ */ __name(function removeUploadedFile(index) { + var removedFile = this.uploadedFiles.splice(index, 1)[0]; + this.uploadedFiles = _toConsumableArray$9(this.uploadedFiles); + this.$emit("remove-uploaded-file", { + file: removedFile, + files: this.uploadedFiles + }); + }, "removeUploadedFile"), + clearInputElement: /* @__PURE__ */ __name(function clearInputElement() { + this.$refs.fileInput.value = ""; + }, "clearInputElement"), + clearIEInput: /* @__PURE__ */ __name(function clearIEInput() { + if (this.$refs.fileInput) { + this.duplicateIEEvent = true; + this.$refs.fileInput.value = ""; + } + }, "clearIEInput"), + formatSize: /* @__PURE__ */ __name(function formatSize2(bytes) { + var _this$$primevue$confi; + var k = 1024; + var dm = 3; + var sizes = ((_this$$primevue$confi = this.$primevue.config.locale) === null || _this$$primevue$confi === void 0 ? void 0 : _this$$primevue$confi.fileSizeTypes) || ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]; + if (bytes === 0) { + return "0 ".concat(sizes[0]); + } + var i = Math.floor(Math.log(bytes) / Math.log(k)); + var formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm)); + return "".concat(formattedSize, " ").concat(sizes[i]); + }, "formatSize"), + isFileLimitExceeded: /* @__PURE__ */ __name(function isFileLimitExceeded() { + if (this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount && this.focused) { + this.focused = false; + } + return this.fileLimit && this.fileLimit < this.files.length + this.uploadedFileCount; + }, "isFileLimitExceeded"), + checkFileLimit: /* @__PURE__ */ __name(function checkFileLimit() { + if (this.isFileLimitExceeded()) { + this.messages.push(this.invalidFileLimitMessage.replace("{0}", this.fileLimit.toString())); + } + }, "checkFileLimit"), + onMessageClose: /* @__PURE__ */ __name(function onMessageClose() { + this.messages = null; + }, "onMessageClose") + }, + computed: { + isAdvanced: /* @__PURE__ */ __name(function isAdvanced() { + return this.mode === "advanced"; + }, "isAdvanced"), + isBasic: /* @__PURE__ */ __name(function isBasic() { + return this.mode === "basic"; + }, "isBasic"), + chooseButtonClass: /* @__PURE__ */ __name(function chooseButtonClass() { + return [this.cx("pcChooseButton"), this["class"]]; + }, "chooseButtonClass"), + basicFileChosenLabel: /* @__PURE__ */ __name(function basicFileChosenLabel() { + var _this$$primevue$confi3; + if (this.auto) return this.chooseButtonLabel; + else if (this.hasFiles) { + var _this$$primevue$confi2; + if (this.files && this.files.length === 1) return this.files[0].name; + return (_this$$primevue$confi2 = this.$primevue.config.locale) === null || _this$$primevue$confi2 === void 0 || (_this$$primevue$confi2 = _this$$primevue$confi2.fileChosenMessage) === null || _this$$primevue$confi2 === void 0 ? void 0 : _this$$primevue$confi2.replace("{0}", this.files.length); + } + return ((_this$$primevue$confi3 = this.$primevue.config.locale) === null || _this$$primevue$confi3 === void 0 ? void 0 : _this$$primevue$confi3.noFileChosenMessage) || ""; + }, "basicFileChosenLabel"), + hasFiles: /* @__PURE__ */ __name(function hasFiles() { + return this.files && this.files.length > 0; + }, "hasFiles"), + hasUploadedFiles: /* @__PURE__ */ __name(function hasUploadedFiles() { + return this.uploadedFiles && this.uploadedFiles.length > 0; + }, "hasUploadedFiles"), + chooseDisabled: /* @__PURE__ */ __name(function chooseDisabled() { + return this.disabled || this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount; + }, "chooseDisabled"), + uploadDisabled: /* @__PURE__ */ __name(function uploadDisabled() { + return this.disabled || !this.hasFiles || this.fileLimit && this.fileLimit < this.files.length; + }, "uploadDisabled"), + cancelDisabled: /* @__PURE__ */ __name(function cancelDisabled() { + return this.disabled || !this.hasFiles; + }, "cancelDisabled"), + chooseButtonLabel: /* @__PURE__ */ __name(function chooseButtonLabel() { + return this.chooseLabel || this.$primevue.config.locale.choose; + }, "chooseButtonLabel"), + uploadButtonLabel: /* @__PURE__ */ __name(function uploadButtonLabel() { + return this.uploadLabel || this.$primevue.config.locale.upload; + }, "uploadButtonLabel"), + cancelButtonLabel: /* @__PURE__ */ __name(function cancelButtonLabel() { + return this.cancelLabel || this.$primevue.config.locale.cancel; + }, "cancelButtonLabel"), + completedLabel: /* @__PURE__ */ __name(function completedLabel() { + return this.$primevue.config.locale.completed; + }, "completedLabel"), + pendingLabel: /* @__PURE__ */ __name(function pendingLabel() { + return this.$primevue.config.locale.pending; + }, "pendingLabel") + }, + components: { + Button: script$1e, + ProgressBar: script$1A, + Message: script$1B, + FileContent: script$1$w, + PlusIcon: script$1x, + UploadIcon: script$R, + TimesIcon: script$1g + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$n = ["multiple", "accept", "disabled"]; +var _hoisted_2$g = ["files"]; +var _hoisted_3$d = ["accept", "disabled", "multiple"]; +function render$L(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Button = resolveComponent("Button"); + var _component_ProgressBar = resolveComponent("ProgressBar"); + var _component_Message = resolveComponent("Message"); + var _component_FileContent = resolveComponent("FileContent"); + return $options.isAdvanced ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [createBaseVNode("input", mergeProps({ + ref: "fileInput", + type: "file", + onChange: _cache[0] || (_cache[0] = function() { + return $options.onFileSelect && $options.onFileSelect.apply($options, arguments); + }), + multiple: _ctx.multiple, + accept: _ctx.accept, + disabled: $options.chooseDisabled + }, _ctx.ptm("input")), null, 16, _hoisted_1$n), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("header") + }, _ctx.ptm("header")), [renderSlot(_ctx.$slots, "header", { + files: $data.files, + uploadedFiles: $data.uploadedFiles, + chooseCallback: $options.choose, + uploadCallback: $options.uploader, + clearCallback: $options.clear + }, function() { + return [createVNode(_component_Button, mergeProps({ + label: $options.chooseButtonLabel, + "class": $options.chooseButtonClass, + style: _ctx.style, + disabled: _ctx.disabled, + unstyled: _ctx.unstyled, + onClick: $options.choose, + onKeydown: withKeys($options.choose, ["enter"]), + onFocus: $options.onFocus, + onBlur: $options.onBlur + }, _ctx.chooseButtonProps, { + pt: _ctx.ptm("pcChooseButton") + }), { + icon: withCtx(function(iconProps) { + return [renderSlot(_ctx.$slots, "chooseicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.chooseIcon ? "span" : "PlusIcon"), mergeProps({ + "class": [iconProps["class"], _ctx.chooseIcon], + "aria-hidden": "true" + }, _ctx.ptm("pcChooseButton")["icon"]), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["label", "class", "style", "disabled", "unstyled", "onClick", "onKeydown", "onFocus", "onBlur", "pt"]), _ctx.showUploadButton ? (openBlock(), createBlock(_component_Button, mergeProps({ + key: 0, + "class": _ctx.cx("pcUploadButton"), + label: $options.uploadButtonLabel, + onClick: $options.uploader, + disabled: $options.uploadDisabled, + unstyled: _ctx.unstyled + }, _ctx.uploadButtonProps, { + pt: _ctx.ptm("pcUploadButton") + }), { + icon: withCtx(function(iconProps) { + return [renderSlot(_ctx.$slots, "uploadicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.uploadIcon ? "span" : "UploadIcon"), mergeProps({ + "class": [iconProps["class"], _ctx.uploadIcon], + "aria-hidden": "true" + }, _ctx.ptm("pcUploadButton")["icon"], { + "data-pc-section": "uploadbuttonicon" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "label", "onClick", "disabled", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.showCancelButton ? (openBlock(), createBlock(_component_Button, mergeProps({ + key: 1, + "class": _ctx.cx("pcCancelButton"), + label: $options.cancelButtonLabel, + onClick: $options.clear, + disabled: $options.cancelDisabled, + unstyled: _ctx.unstyled + }, _ctx.cancelButtonProps, { + pt: _ctx.ptm("pcCancelButton") + }), { + icon: withCtx(function(iconProps) { + return [renderSlot(_ctx.$slots, "cancelicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.cancelIcon ? "span" : "TimesIcon"), mergeProps({ + "class": [iconProps["class"], _ctx.cancelIcon], + "aria-hidden": "true" + }, _ctx.ptm("pcCancelButton")["icon"], { + "data-pc-section": "cancelbuttonicon" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "label", "onClick", "disabled", "unstyled", "pt"])) : createCommentVNode("", true)]; + })], 16), createBaseVNode("div", mergeProps({ + ref: "content", + "class": _ctx.cx("content"), + onDragenter: _cache[1] || (_cache[1] = function() { + return $options.onDragEnter && $options.onDragEnter.apply($options, arguments); + }), + onDragover: _cache[2] || (_cache[2] = function() { + return $options.onDragOver && $options.onDragOver.apply($options, arguments); + }), + onDragleave: _cache[3] || (_cache[3] = function() { + return $options.onDragLeave && $options.onDragLeave.apply($options, arguments); + }), + onDrop: _cache[4] || (_cache[4] = function() { + return $options.onDrop && $options.onDrop.apply($options, arguments); + }) + }, _ctx.ptm("content"), { + "data-p-highlight": false + }), [renderSlot(_ctx.$slots, "content", { + files: $data.files, + uploadedFiles: $data.uploadedFiles, + removeUploadedFileCallback: $options.removeUploadedFile, + removeFileCallback: $options.remove, + progress: $data.progress, + messages: $data.messages + }, function() { + return [$options.hasFiles ? (openBlock(), createBlock(_component_ProgressBar, { + key: 0, + value: $data.progress, + showValue: false, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcProgressbar") + }, null, 8, ["value", "unstyled", "pt"])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList($data.messages, function(msg) { + return openBlock(), createBlock(_component_Message, { + key: msg, + severity: "error", + onClose: $options.onMessageClose, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcMessage") + }, { + "default": withCtx(function() { + return [createTextVNode(toDisplayString(msg), 1)]; + }), + _: 2 + }, 1032, ["onClose", "unstyled", "pt"]); + }), 128)), $options.hasFiles ? (openBlock(), createElementBlock("div", { + key: 1, + "class": normalizeClass(_ctx.cx("fileList")) + }, [createVNode(_component_FileContent, { + files: $data.files, + onRemove: $options.remove, + badgeValue: $options.pendingLabel, + previewWidth: _ctx.previewWidth, + templates: _ctx.$slots, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["files", "onRemove", "badgeValue", "previewWidth", "templates", "unstyled", "pt"])], 2)) : createCommentVNode("", true), $options.hasUploadedFiles ? (openBlock(), createElementBlock("div", { + key: 2, + "class": normalizeClass(_ctx.cx("fileList")) + }, [createVNode(_component_FileContent, { + files: $data.uploadedFiles, + onRemove: $options.removeUploadedFile, + badgeValue: $options.completedLabel, + badgeSeverity: "success", + previewWidth: _ctx.previewWidth, + templates: _ctx.$slots, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["files", "onRemove", "badgeValue", "previewWidth", "templates", "unstyled", "pt"])], 2)) : createCommentVNode("", true)]; + }), _ctx.$slots.empty && !$options.hasFiles && !$options.hasUploadedFiles ? (openBlock(), createElementBlock("div", normalizeProps(mergeProps({ + key: 0 + }, _ctx.ptm("empty"))), [renderSlot(_ctx.$slots, "empty")], 16)) : createCommentVNode("", true)], 16)], 16)) : $options.isBasic ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [(openBlock(true), createElementBlock(Fragment, null, renderList($data.messages, function(msg) { + return openBlock(), createBlock(_component_Message, { + key: msg, + severity: "error", + onClose: $options.onMessageClose, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcMessage") + }, { + "default": withCtx(function() { + return [createTextVNode(toDisplayString(msg), 1)]; + }), + _: 2 + }, 1032, ["onClose", "unstyled", "pt"]); + }), 128)), createVNode(_component_Button, mergeProps({ + label: $options.chooseButtonLabel, + "class": $options.chooseButtonClass, + style: _ctx.style, + disabled: _ctx.disabled, + unstyled: _ctx.unstyled, + onMouseup: $options.onBasicUploaderClick, + onKeydown: withKeys($options.choose, ["enter"]), + onFocus: $options.onFocus, + onBlur: $options.onBlur + }, _ctx.chooseButtonProps, { + pt: _ctx.ptm("pcChooseButton") + }), { + icon: withCtx(function(iconProps) { + return [renderSlot(_ctx.$slots, "chooseicon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.chooseIcon ? "span" : "PlusIcon"), mergeProps({ + "class": [iconProps["class"], _ctx.chooseIcon], + "aria-hidden": "true" + }, _ctx.ptm("pcChooseButton")["icon"]), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["label", "class", "style", "disabled", "unstyled", "onMouseup", "onKeydown", "onFocus", "onBlur", "pt"]), !_ctx.auto ? renderSlot(_ctx.$slots, "filelabel", { + key: 0, + "class": normalizeClass(_ctx.cx("filelabel")) + }, function() { + return [createBaseVNode("span", { + "class": normalizeClass(_ctx.cx("filelabel")), + files: $data.files + }, toDisplayString($options.basicFileChosenLabel), 11, _hoisted_2$g)]; + }) : createCommentVNode("", true), createBaseVNode("input", mergeProps({ + ref: "fileInput", + type: "file", + accept: _ctx.accept, + disabled: _ctx.disabled, + multiple: _ctx.multiple, + onChange: _cache[5] || (_cache[5] = function() { + return $options.onFileSelect && $options.onFileSelect.apply($options, arguments); + }), + onFocus: _cache[6] || (_cache[6] = function() { + return $options.onFocus && $options.onFocus.apply($options, arguments); + }), + onBlur: _cache[7] || (_cache[7] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }) + }, _ctx.ptm("input")), null, 16, _hoisted_3$d)], 16)) : createCommentVNode("", true); +} +__name(render$L, "render$L"); +script$Q.render = render$L; +var classes$v = { + root: "p-fluid" +}; +var FluidStyle = BaseStyle.extend({ + name: "fluid", + classes: classes$v +}); +var script$1$v = { + name: "BaseFluid", + "extends": script$1d, + style: FluidStyle, + provide: /* @__PURE__ */ __name(function provide20() { + return { + $pcFluid: this, + $parentInstance: this + }; + }, "provide") +}; +var script$P = { + name: "Fluid", + "extends": script$1$v, + inheritAttrs: false +}; +function render$K(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$K, "render$K"); +script$P.render = render$K; +var theme$r = /* @__PURE__ */ __name(function theme13(_ref) { + var dt = _ref.dt; + return "\n.p-iftalabel {\n display: block;\n position: relative;\n}\n\n.p-iftalabel label {\n position: absolute;\n pointer-events: none;\n top: ".concat(dt("iftalabel.top"), ";\n transition-property: all;\n transition-timing-function: ease;\n line-height: 1;\n font-size: ").concat(dt("iftalabel.font.size"), ";\n font-weight: ").concat(dt("iftalabel.font.weight"), ";\n inset-inline-start: ").concat(dt("iftalabel.position.x"), ";\n color: ").concat(dt("iftalabel.color"), ";\n transition-duration: ").concat(dt("iftalabel.transition.duration"), ";\n}\n\n.p-iftalabel .p-inputtext,\n.p-iftalabel .p-textarea,\n.p-iftalabel .p-select-label,\n.p-iftalabel .p-multiselect-label,\n.p-iftalabel .p-autocomplete-input-multiple,\n.p-iftalabel .p-cascadeselect-label,\n.p-iftalabel .p-treeselect-label {\n padding-block-start: ").concat(dt("iftalabel.input.padding.top"), ";\n padding-block-end: ").concat(dt("iftalabel.input.padding.bottom"), ";\n}\n\n.p-iftalabel:has(.p-invalid) label {\n color: ").concat(dt("iftalabel.invalid.color"), ";\n}\n\n.p-iftalabel:has(input:focus) label,\n.p-iftalabel:has(input:-webkit-autofill) label,\n.p-iftalabel:has(textarea:focus) label,\n.p-iftalabel:has(.p-inputwrapper-focus) label {\n color: ").concat(dt("iftalabel.focus.color"), ";\n}\n\n.p-iftalabel .p-inputicon {\n top: ").concat(dt("iftalabel.input.padding.top"), ";\n transform: translateY(25%);\n margin-top: 0;\n}\n"); +}, "theme"); +var classes$u = { + root: "p-iftalabel" +}; +var IftaLabelStyle = BaseStyle.extend({ + name: "iftalabel", + theme: theme$r, + classes: classes$u +}); +var script$1$u = { + name: "BaseIftaLabel", + "extends": script$1d, + style: IftaLabelStyle, + provide: /* @__PURE__ */ __name(function provide21() { + return { + $pcIftaLabel: this, + $parentInstance: this + }; + }, "provide") +}; +var script$O = { + name: "IftaLabel", + "extends": script$1$u, + inheritAttrs: false +}; +function render$J(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$J, "render$J"); +script$O.render = render$J; +var script$N = { + name: "EyeIcon", + "extends": script$1m +}; +function render$I(_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: "M0.0535499 7.25213C0.208567 7.59162 2.40413 12.4 7 12.4C11.5959 12.4 13.7914 7.59162 13.9465 7.25213C13.9487 7.2471 13.9506 7.24304 13.952 7.24001C13.9837 7.16396 14 7.08239 14 7.00001C14 6.91762 13.9837 6.83605 13.952 6.76001C13.9506 6.75697 13.9487 6.75292 13.9465 6.74788C13.7914 6.4084 11.5959 1.60001 7 1.60001C2.40413 1.60001 0.208567 6.40839 0.0535499 6.74788C0.0512519 6.75292 0.0494023 6.75697 0.048 6.76001C0.0163137 6.83605 0 6.91762 0 7.00001C0 7.08239 0.0163137 7.16396 0.048 7.24001C0.0494023 7.24304 0.0512519 7.2471 0.0535499 7.25213ZM7 11.2C3.664 11.2 1.736 7.92001 1.264 7.00001C1.736 6.08001 3.664 2.80001 7 2.80001C10.336 2.80001 12.264 6.08001 12.736 7.00001C12.264 7.92001 10.336 11.2 7 11.2ZM5.55551 9.16182C5.98308 9.44751 6.48576 9.6 7 9.6C7.68891 9.59789 8.349 9.32328 8.83614 8.83614C9.32328 8.349 9.59789 7.68891 9.59999 7C9.59999 6.48576 9.44751 5.98308 9.16182 5.55551C8.87612 5.12794 8.47006 4.7947 7.99497 4.59791C7.51988 4.40112 6.99711 4.34963 6.49276 4.44995C5.98841 4.55027 5.52513 4.7979 5.16152 5.16152C4.7979 5.52513 4.55027 5.98841 4.44995 6.49276C4.34963 6.99711 4.40112 7.51988 4.59791 7.99497C4.7947 8.47006 5.12794 8.87612 5.55551 9.16182ZM6.2222 5.83594C6.45243 5.6821 6.7231 5.6 7 5.6C7.37065 5.6021 7.72553 5.75027 7.98762 6.01237C8.24972 6.27446 8.39789 6.62934 8.4 7C8.4 7.27689 8.31789 7.54756 8.16405 7.77779C8.01022 8.00802 7.79157 8.18746 7.53575 8.29343C7.27994 8.39939 6.99844 8.42711 6.72687 8.37309C6.4553 8.31908 6.20584 8.18574 6.01005 7.98994C5.81425 7.79415 5.68091 7.54469 5.6269 7.27312C5.57288 7.00155 5.6006 6.72006 5.70656 6.46424C5.81253 6.20842 5.99197 5.98977 6.2222 5.83594Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$I, "render$I"); +script$N.render = render$I; +var script$M = { + name: "RefreshIcon", + "extends": script$1m +}; +function render$H(_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: "M6.77051 5.96336C6.84324 5.99355 6.92127 6.00891 7.00002 6.00854C7.07877 6.00891 7.1568 5.99355 7.22953 5.96336C7.30226 5.93317 7.36823 5.88876 7.42357 5.83273L9.82101 3.43529C9.93325 3.32291 9.99629 3.17058 9.99629 3.01175C9.99629 2.85292 9.93325 2.70058 9.82101 2.5882L7.42357 0.190763C7.3687 0.131876 7.30253 0.0846451 7.22901 0.0518865C7.15549 0.019128 7.07612 0.00151319 6.99564 9.32772e-05C6.91517 -0.00132663 6.83523 0.0134773 6.7606 0.0436218C6.68597 0.0737664 6.61817 0.118634 6.56126 0.175548C6.50435 0.232462 6.45948 0.300257 6.42933 0.374888C6.39919 0.449519 6.38439 0.529456 6.38581 0.609933C6.38722 0.690409 6.40484 0.769775 6.4376 0.843296C6.47036 0.916817 6.51759 0.982986 6.57647 1.03786L7.95103 2.41241H6.99998C5.46337 2.41241 3.98969 3.02283 2.90314 4.10938C1.81659 5.19593 1.20618 6.66961 1.20618 8.20622C1.20618 9.74283 1.81659 11.2165 2.90314 12.3031C3.98969 13.3896 5.46337 14 6.99998 14C8.53595 13.9979 10.0084 13.3868 11.0945 12.3007C12.1806 11.2146 12.7917 9.74218 12.7938 8.20622C12.7938 8.04726 12.7306 7.89481 12.6182 7.78241C12.5058 7.67001 12.3534 7.60686 12.1944 7.60686C12.0355 7.60686 11.883 7.67001 11.7706 7.78241C11.6582 7.89481 11.5951 8.04726 11.5951 8.20622C11.5951 9.11504 11.3256 10.0035 10.8207 10.7591C10.3157 11.5148 9.59809 12.1037 8.75845 12.4515C7.9188 12.7993 6.99489 12.8903 6.10353 12.713C5.21217 12.5357 4.3934 12.0981 3.75077 11.4554C3.10813 10.8128 2.67049 9.99404 2.49319 9.10268C2.31589 8.21132 2.40688 7.2874 2.75468 6.44776C3.10247 5.60811 3.69143 4.89046 4.44709 4.38554C5.20275 3.88063 6.09116 3.61113 6.99998 3.61113H7.95098L6.57647 4.98564C6.46423 5.09802 6.40119 5.25035 6.40119 5.40918C6.40119 5.56801 6.46423 5.72035 6.57647 5.83273C6.63181 5.88876 6.69778 5.93317 6.77051 5.96336Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$H, "render$H"); +script$M.render = render$H; +var script$L = { + name: "SearchMinusIcon", + "extends": script$1m +}; +function render$G(_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: "M6.0208 12.0411C4.83005 12.0411 3.66604 11.688 2.67596 11.0265C1.68589 10.3649 0.914216 9.42464 0.458534 8.32452C0.00285271 7.22441 -0.116374 6.01388 0.11593 4.84601C0.348235 3.67813 0.921637 2.60537 1.76363 1.76338C2.60562 0.921393 3.67838 0.34799 4.84625 0.115686C6.01412 -0.116618 7.22466 0.00260857 8.32477 0.45829C9.42488 0.913972 10.3652 1.68564 11.0267 2.67572C11.6883 3.66579 12.0414 4.8298 12.0414 6.02056C12.0395 7.41563 11.5542 8.76029 10.6783 9.8305L13.8244 12.9765C13.9367 13.089 13.9997 13.2414 13.9997 13.4003C13.9997 13.5592 13.9367 13.7116 13.8244 13.8241C13.769 13.8801 13.703 13.9245 13.6302 13.9548C13.5575 13.985 13.4794 14.0003 13.4006 14C13.3218 14.0003 13.2437 13.985 13.171 13.9548C13.0982 13.9245 13.0322 13.8801 12.9768 13.8241L9.83082 10.678C8.76059 11.5539 7.4159 12.0393 6.0208 12.0411ZM6.0208 1.20731C5.07199 1.20731 4.14449 1.48867 3.35559 2.0158C2.56669 2.54292 1.95181 3.29215 1.58872 4.16874C1.22562 5.04532 1.13062 6.00989 1.31572 6.94046C1.50083 7.87104 1.95772 8.72583 2.62863 9.39674C3.29954 10.0676 4.15433 10.5245 5.0849 10.7096C6.01548 10.8947 6.98005 10.7997 7.85663 10.4367C8.73322 10.0736 9.48244 9.45868 10.0096 8.66978C10.5367 7.88088 10.8181 6.95337 10.8181 6.00457C10.8181 4.73226 10.3126 3.51206 9.41297 2.6124C8.51331 1.71274 7.29311 1.20731 6.0208 1.20731ZM4.00591 6.60422H8.00362C8.16266 6.60422 8.31518 6.54104 8.42764 6.42859C8.5401 6.31613 8.60328 6.1636 8.60328 6.00456C8.60328 5.84553 8.5401 5.693 8.42764 5.58054C8.31518 5.46809 8.16266 5.40491 8.00362 5.40491H4.00591C3.84687 5.40491 3.69434 5.46809 3.58189 5.58054C3.46943 5.693 3.40625 5.84553 3.40625 6.00456C3.40625 6.1636 3.46943 6.31613 3.58189 6.42859C3.69434 6.54104 3.84687 6.60422 4.00591 6.60422Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$G, "render$G"); +script$L.render = render$G; +var script$K = { + name: "SearchPlusIcon", + "extends": script$1m +}; +function render$F(_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: "M2.67596 11.0265C3.66604 11.688 4.83005 12.0411 6.0208 12.0411C6.81143 12.0411 7.59432 11.8854 8.32477 11.5828C8.86999 11.357 9.37802 11.0526 9.83311 10.6803L12.9768 13.8241C13.0322 13.8801 13.0982 13.9245 13.171 13.9548C13.2437 13.985 13.3218 14.0003 13.4006 14C13.4794 14.0003 13.5575 13.985 13.6302 13.9548C13.703 13.9245 13.769 13.8801 13.8244 13.8241C13.9367 13.7116 13.9997 13.5592 13.9997 13.4003C13.9997 13.2414 13.9367 13.089 13.8244 12.9765L10.6806 9.8328C11.0529 9.37773 11.3572 8.86972 11.5831 8.32452C11.8856 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0267 2.67572C10.3652 1.68564 9.42488 0.913972 8.32477 0.45829C7.22466 0.00260857 6.01412 -0.116618 4.84625 0.115686C3.67838 0.34799 2.60562 0.921393 1.76363 1.76338C0.921637 2.60537 0.348235 3.67813 0.11593 4.84601C-0.116374 6.01388 0.00285271 7.22441 0.458534 8.32452C0.914216 9.42464 1.68589 10.3649 2.67596 11.0265ZM3.35559 2.0158C4.14449 1.48867 5.07199 1.20731 6.0208 1.20731C7.29311 1.20731 8.51331 1.71274 9.41297 2.6124C10.3126 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5367 7.88088 10.0096 8.66978C9.48244 9.45868 8.73322 10.0736 7.85663 10.4367C6.98005 10.7997 6.01548 10.8947 5.0849 10.7096C4.15433 10.5245 3.29954 10.0676 2.62863 9.39674C1.95772 8.72583 1.50083 7.87104 1.31572 6.94046C1.13062 6.00989 1.22562 5.04532 1.58872 4.16874C1.95181 3.29215 2.56669 2.54292 3.35559 2.0158ZM6.00481 8.60309C5.84641 8.60102 5.69509 8.53718 5.58308 8.42517C5.47107 8.31316 5.40722 8.16183 5.40515 8.00344V6.60422H4.00591C3.84687 6.60422 3.69434 6.54104 3.58189 6.42859C3.46943 6.31613 3.40625 6.1636 3.40625 6.00456C3.40625 5.84553 3.46943 5.693 3.58189 5.58054C3.69434 5.46809 3.84687 5.40491 4.00591 5.40491H5.40515V4.00572C5.40515 3.84668 5.46833 3.69416 5.58079 3.5817C5.69324 3.46924 5.84577 3.40607 6.00481 3.40607C6.16385 3.40607 6.31637 3.46924 6.42883 3.5817C6.54129 3.69416 6.60447 3.84668 6.60447 4.00572V5.40491H8.00362C8.16266 5.40491 8.31518 5.46809 8.42764 5.58054C8.5401 5.693 8.60328 5.84553 8.60328 6.00456C8.60328 6.1636 8.5401 6.31613 8.42764 6.42859C8.31518 6.54104 8.16266 6.60422 8.00362 6.60422H6.60447V8.00344C6.60239 8.16183 6.53855 8.31316 6.42654 8.42517C6.31453 8.53718 6.1632 8.60102 6.00481 8.60309Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$F, "render$F"); +script$K.render = render$F; +var script$J = { + name: "UndoIcon", + "extends": script$1m +}; +function render$E(_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: "M6.77042 5.96336C6.84315 5.99355 6.92118 6.00891 6.99993 6.00854C7.07868 6.00891 7.15671 5.99355 7.22944 5.96336C7.30217 5.93317 7.36814 5.88876 7.42348 5.83273C7.53572 5.72035 7.59876 5.56801 7.59876 5.40918C7.59876 5.25035 7.53572 5.09802 7.42348 4.98564L6.04897 3.61113H6.99998C7.9088 3.61113 8.79722 3.88063 9.55288 4.38554C10.3085 4.89046 10.8975 5.60811 11.2453 6.44776C11.5931 7.2874 11.6841 8.21132 11.5068 9.10268C11.3295 9.99404 10.8918 10.8128 10.2492 11.4554C9.60657 12.0981 8.7878 12.5357 7.89644 12.713C7.00508 12.8903 6.08116 12.7993 5.24152 12.4515C4.40188 12.1037 3.68422 11.5148 3.17931 10.7591C2.67439 10.0035 2.4049 9.11504 2.4049 8.20622C2.4049 8.04726 2.34175 7.89481 2.22935 7.78241C2.11695 7.67001 1.9645 7.60686 1.80554 7.60686C1.64658 7.60686 1.49413 7.67001 1.38172 7.78241C1.26932 7.89481 1.20618 8.04726 1.20618 8.20622C1.20829 9.74218 1.81939 11.2146 2.90548 12.3007C3.99157 13.3868 5.46402 13.9979 6.99998 14C8.5366 14 10.0103 13.3896 11.0968 12.3031C12.1834 11.2165 12.7938 9.74283 12.7938 8.20622C12.7938 6.66961 12.1834 5.19593 11.0968 4.10938C10.0103 3.02283 8.5366 2.41241 6.99998 2.41241H6.04892L7.42348 1.03786C7.48236 0.982986 7.5296 0.916817 7.56235 0.843296C7.59511 0.769775 7.61273 0.690409 7.61415 0.609933C7.61557 0.529456 7.60076 0.449519 7.57062 0.374888C7.54047 0.300257 7.49561 0.232462 7.43869 0.175548C7.38178 0.118634 7.31398 0.0737664 7.23935 0.0436218C7.16472 0.0134773 7.08478 -0.00132663 7.00431 9.32772e-05C6.92383 0.00151319 6.84447 0.019128 6.77095 0.0518865C6.69742 0.0846451 6.63126 0.131876 6.57638 0.190763L4.17895 2.5882C4.06671 2.70058 4.00366 2.85292 4.00366 3.01175C4.00366 3.17058 4.06671 3.32291 4.17895 3.43529L6.57638 5.83273C6.63172 5.88876 6.69769 5.93317 6.77042 5.96336Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$E, "render$E"); +script$J.render = render$E; +var theme$q = /* @__PURE__ */ __name(function theme14(_ref) { + var dt = _ref.dt; + return "\n.p-image-mask {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-image-preview {\n position: relative;\n display: inline-flex;\n line-height: 0;\n}\n\n.p-image-preview-mask {\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.3s;\n border: 0 none;\n padding: 0;\n cursor: pointer;\n background: transparent;\n color: ".concat(dt("image.preview.mask.color"), ";\n transition: background ").concat(dt("image.transition.duration"), ";\n}\n\n.p-image-preview:hover > .p-image-preview-mask {\n opacity: 1;\n cursor: pointer;\n background: ").concat(dt("image.preview.mask.background"), ";\n}\n\n.p-image-preview-icon {\n font-size: ").concat(dt("image.preview.icon.size"), ";\n width: ").concat(dt("image.preview.icon.size"), ";\n height: ").concat(dt("image.preview.icon.size"), ";\n}\n\n.p-image-toolbar {\n position: absolute;\n inset-block-start: ").concat(dt("image.toolbar.position.top"), ";\n inset-inline-end: ").concat(dt("image.toolbar.position.right"), ";\n inset-inline-start: ").concat(dt("image.toolbar.position.left"), ";\n inset-block-end: ").concat(dt("image.toolbar.position.bottom"), ";\n display: flex;\n z-index: 1;\n padding: ").concat(dt("image.toolbar.padding"), ";\n background: ").concat(dt("image.toolbar.background"), ";\n backdrop-filter: blur(").concat(dt("image.toolbar.blur"), ");\n border-color: ").concat(dt("image.toolbar.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("image.toolbar.border.width"), ";\n border-radius: ").concat(dt("image.toolbar.border.radius"), ";\n gap: ").concat(dt("image.toolbar.gap"), ";\n}\n\n.p-image-action {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n color: ").concat(dt("image.action.color"), ";\n background: transparent;\n width: ").concat(dt("image.action.size"), ";\n height: ").concat(dt("image.action.size"), ";\n margin: 0;\n padding: 0;\n border: 0 none;\n cursor: pointer;\n user-select: none;\n border-radius: ").concat(dt("image.action.border.radius"), ";\n outline-color: transparent;\n transition: background ").concat(dt("image.transition.duration"), ", color ").concat(dt("image.transition.duration"), ", outline-color ").concat(dt("image.transition.duration"), ", box-shadow ").concat(dt("image.transition.duration"), ";\n}\n\n.p-image-action:hover {\n color: ").concat(dt("image.action.hover.color"), ";\n background: ").concat(dt("image.action.hover.background"), ";\n}\n\n.p-image-action:focus-visible {\n box-shadow: ").concat(dt("image.action.focus.ring.shadow"), ";\n outline: ").concat(dt("image.action.focus.ring.width"), " ").concat(dt("image.action.focus.ring.style"), " ").concat(dt("image.action.focus.ring.color"), ";\n outline-offset: ").concat(dt("image.action.focus.ring.offset"), ";\n}\n\n.p-image-action .p-icon {\n font-size: ").concat(dt("image.action.icon.size"), ";\n width: ").concat(dt("image.action.icon.size"), ";\n height: ").concat(dt("image.action.icon.size"), ";\n}\n\n.p-image-action.p-disabled {\n pointer-events: auto;\n}\n\n.p-image-original {\n transition: transform 0.15s;\n max-width: 100vw;\n max-height: 100vh;\n}\n\n.p-image-original-enter-active {\n transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-image-original-leave-active {\n transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.p-image-original-enter-from,\n.p-image-original-leave-to {\n opacity: 0;\n transform: scale(0.7);\n}\n"); +}, "theme"); +var classes$t = { + root: /* @__PURE__ */ __name(function root13(_ref2) { + var props = _ref2.props; + return ["p-image p-component", { + "p-image-preview": props.preview + }]; + }, "root"), + previewMask: "p-image-preview-mask", + previewIcon: "p-image-preview-icon", + mask: "p-image-mask p-overlay-mask p-overlay-mask-enter", + toolbar: "p-image-toolbar", + rotateRightButton: "p-image-action p-image-rotate-right-button", + rotateLeftButton: "p-image-action p-image-rotate-left-button", + zoomOutButton: /* @__PURE__ */ __name(function zoomOutButton(_ref3) { + var instance = _ref3.instance; + return ["p-image-action p-image-zoom-out-button", { + "p-disabled": instance.isZoomOutDisabled + }]; + }, "zoomOutButton"), + zoomInButton: /* @__PURE__ */ __name(function zoomInButton(_ref4) { + var instance = _ref4.instance; + return ["p-image-action p-image-zoom-in-button", { + "p-disabled": instance.isZoomInDisabled + }]; + }, "zoomInButton"), + closeButton: "p-image-action p-image-close-button", + original: "p-image-original" +}; +var ImageStyle = BaseStyle.extend({ + name: "image", + theme: theme$q, + classes: classes$t +}); +var script$1$t = { + name: "BaseImage", + "extends": script$1d, + props: { + preview: { + type: Boolean, + "default": false + }, + "class": { + type: null, + "default": null + }, + style: { + type: null, + "default": null + }, + imageStyle: { + type: null, + "default": null + }, + imageClass: { + type: null, + "default": null + }, + previewButtonProps: { + type: null, + "default": null + }, + indicatorIcon: { + type: String, + "default": void 0 + }, + previewIcon: { + type: String, + "default": void 0 + }, + zoomInDisabled: { + type: Boolean, + "default": false + }, + zoomOutDisabled: { + type: Boolean, + "default": false + } + }, + style: ImageStyle, + provide: /* @__PURE__ */ __name(function provide22() { + return { + $pcImage: this, + $parentInstance: this + }; + }, "provide") +}; +var script$I = { + name: "Image", + "extends": script$1$t, + inheritAttrs: false, + emits: ["show", "hide", "error"], + mask: null, + data: /* @__PURE__ */ __name(function data14() { + return { + maskVisible: false, + previewVisible: false, + rotate: 0, + scale: 1 + }; + }, "data"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount7() { + if (this.mask) { + ZIndex.clear(this.container); + } + }, "beforeUnmount"), + methods: { + maskRef: /* @__PURE__ */ __name(function maskRef2(el) { + this.mask = el; + }, "maskRef"), + toolbarRef: /* @__PURE__ */ __name(function toolbarRef(el) { + this.toolbarRef = el; + }, "toolbarRef"), + onImageClick: /* @__PURE__ */ __name(function onImageClick() { + var _this = this; + if (this.preview) { + blockBodyScroll(); + this.maskVisible = true; + setTimeout(function() { + _this.previewVisible = true; + }, 25); + } + }, "onImageClick"), + onPreviewImageClick: /* @__PURE__ */ __name(function onPreviewImageClick() { + this.previewClick = true; + }, "onPreviewImageClick"), + onMaskClick: /* @__PURE__ */ __name(function onMaskClick2(event2) { + var isBarActionsClicked = isAttributeEquals(event2.target, "data-pc-section-group", "action") || event2.target.closest('[data-pc-section-group="action"]'); + if (!this.previewClick && !isBarActionsClicked) { + this.previewVisible = false; + this.rotate = 0; + this.scale = 1; + } + this.previewClick = false; + }, "onMaskClick"), + onMaskKeydown: /* @__PURE__ */ __name(function onMaskKeydown(event2) { + var _this2 = this; + switch (event2.code) { + case "Escape": + this.hidePreview(); + setTimeout(function() { + focus(_this2.$refs.previewButton); + }, 200); + event2.preventDefault(); + break; + } + }, "onMaskKeydown"), + onError: /* @__PURE__ */ __name(function onError2() { + this.$emit("error"); + }, "onError"), + rotateRight: /* @__PURE__ */ __name(function rotateRight() { + this.rotate += 90; + this.previewClick = true; + }, "rotateRight"), + rotateLeft: /* @__PURE__ */ __name(function rotateLeft() { + this.rotate -= 90; + this.previewClick = true; + }, "rotateLeft"), + zoomIn: /* @__PURE__ */ __name(function zoomIn() { + this.scale = this.scale + 0.1; + this.previewClick = true; + }, "zoomIn"), + zoomOut: /* @__PURE__ */ __name(function zoomOut() { + this.scale = this.scale - 0.1; + this.previewClick = true; + }, "zoomOut"), + onBeforeEnter: /* @__PURE__ */ __name(function onBeforeEnter() { + ZIndex.set("modal", this.mask, this.$primevue.config.zIndex.modal); + }, "onBeforeEnter"), + onEnter: /* @__PURE__ */ __name(function onEnter2() { + this.focus(); + this.$emit("show"); + }, "onEnter"), + onBeforeLeave: /* @__PURE__ */ __name(function onBeforeLeave2() { + !this.isUnstyled && addClass(this.mask, "p-overlay-mask-leave"); + }, "onBeforeLeave"), + onLeave: /* @__PURE__ */ __name(function onLeave2() { + unblockBodyScroll(); + this.$emit("hide"); + }, "onLeave"), + onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave2(el) { + ZIndex.clear(el); + this.maskVisible = false; + }, "onAfterLeave"), + focus: /* @__PURE__ */ __name(function focus2() { + var focusTarget = this.mask.querySelector("[autofocus]"); + if (focusTarget) { + focusTarget.focus(); + } + }, "focus"), + hidePreview: /* @__PURE__ */ __name(function hidePreview() { + this.previewVisible = false; + this.rotate = 0; + this.scale = 1; + unblockBodyScroll(); + }, "hidePreview") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass2() { + return [this.cx("root"), this["class"]]; + }, "containerClass"), + rotateClass: /* @__PURE__ */ __name(function rotateClass() { + return "p-image-preview-rotate-" + this.rotate; + }, "rotateClass"), + imagePreviewStyle: /* @__PURE__ */ __name(function imagePreviewStyle() { + return { + transform: "rotate(" + this.rotate + "deg) scale(" + this.scale + ")" + }; + }, "imagePreviewStyle"), + isZoomInDisabled: /* @__PURE__ */ __name(function isZoomInDisabled() { + return this.zoomInDisabled || this.scale >= 1.5; + }, "isZoomInDisabled"), + isZoomOutDisabled: /* @__PURE__ */ __name(function isZoomOutDisabled() { + return this.zoomOutDisabled || this.scale <= 0.5; + }, "isZoomOutDisabled"), + rightAriaLabel: /* @__PURE__ */ __name(function rightAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.rotateRight : void 0; + }, "rightAriaLabel"), + leftAriaLabel: /* @__PURE__ */ __name(function leftAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.rotateLeft : void 0; + }, "leftAriaLabel"), + zoomInAriaLabel: /* @__PURE__ */ __name(function zoomInAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomIn : void 0; + }, "zoomInAriaLabel"), + zoomOutAriaLabel: /* @__PURE__ */ __name(function zoomOutAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomOut : void 0; + }, "zoomOutAriaLabel"), + zoomImageAriaLabel: /* @__PURE__ */ __name(function zoomImageAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomImage : void 0; + }, "zoomImageAriaLabel"), + closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel2() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0; + }, "closeAriaLabel") + }, + components: { + Portal: script$1f, + EyeIcon: script$N, + RefreshIcon: script$M, + UndoIcon: script$J, + SearchMinusIcon: script$L, + SearchPlusIcon: script$K, + TimesIcon: script$1g + }, + directives: { + focustrap: FocusTrap + } +}; +function _typeof$h(o) { + "@babel/helpers - typeof"; + return _typeof$h = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$h(o); +} +__name(_typeof$h, "_typeof$h"); +function ownKeys$f(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$f, "ownKeys$f"); +function _objectSpread$f(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$f(Object(t2), true).forEach(function(r2) { + _defineProperty$g(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$f(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$f, "_objectSpread$f"); +function _defineProperty$g(e, r, t2) { + return (r = _toPropertyKey$g(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$g, "_defineProperty$g"); +function _toPropertyKey$g(t2) { + var i = _toPrimitive$g(t2, "string"); + return "symbol" == _typeof$h(i) ? i : i + ""; +} +__name(_toPropertyKey$g, "_toPropertyKey$g"); +function _toPrimitive$g(t2, r) { + if ("object" != _typeof$h(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$h(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$g, "_toPrimitive$g"); +var _hoisted_1$m = ["aria-label"]; +var _hoisted_2$f = ["aria-modal"]; +var _hoisted_3$c = ["aria-label"]; +var _hoisted_4$8 = ["aria-label"]; +var _hoisted_5$3 = ["disabled", "aria-label"]; +var _hoisted_6$1 = ["disabled", "aria-label"]; +var _hoisted_7$1 = ["aria-label"]; +var _hoisted_8 = ["src"]; +function render$D(_ctx, _cache, $props, $setup, $data, $options) { + var _component_RefreshIcon = resolveComponent("RefreshIcon"); + var _component_UndoIcon = resolveComponent("UndoIcon"); + var _component_SearchMinusIcon = resolveComponent("SearchMinusIcon"); + var _component_SearchPlusIcon = resolveComponent("SearchPlusIcon"); + var _component_TimesIcon = resolveComponent("TimesIcon"); + var _component_Portal = resolveComponent("Portal"); + var _directive_focustrap = resolveDirective("focustrap"); + return openBlock(), createElementBlock("span", mergeProps({ + "class": $options.containerClass, + style: _ctx.style + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "image", { + errorCallback: $options.onError + }, function() { + return [createBaseVNode("img", mergeProps({ + style: _ctx.imageStyle, + "class": _ctx.imageClass, + onError: _cache[0] || (_cache[0] = function() { + return $options.onError && $options.onError.apply($options, arguments); + }) + }, _objectSpread$f(_objectSpread$f({}, _ctx.$attrs), _ctx.ptm("image"))), null, 16)]; + }), _ctx.preview ? (openBlock(), createElementBlock("button", mergeProps({ + key: 0, + ref: "previewButton", + "aria-label": $options.zoomImageAriaLabel, + type: "button", + "class": _ctx.cx("previewMask"), + onClick: _cache[1] || (_cache[1] = function() { + return $options.onImageClick && $options.onImageClick.apply($options, arguments); + }) + }, _objectSpread$f(_objectSpread$f({}, _ctx.previewButtonProps), _ctx.ptm("previewMask"))), [renderSlot(_ctx.$slots, _ctx.$slots.previewicon ? "previewicon" : "indicatoricon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.previewIcon || _ctx.indicatorIcon ? "i" : "EyeIcon"), mergeProps({ + "class": _ctx.cx("previewIcon") + }, _ctx.ptm("previewIcon")), null, 16, ["class"]))]; + })], 16, _hoisted_1$m)) : createCommentVNode("", true), createVNode(_component_Portal, null, { + "default": withCtx(function() { + return [$data.maskVisible ? withDirectives((openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.maskRef, + role: "dialog", + "class": _ctx.cx("mask"), + "aria-modal": $data.maskVisible, + onClick: _cache[8] || (_cache[8] = function() { + return $options.onMaskClick && $options.onMaskClick.apply($options, arguments); + }), + onKeydown: _cache[9] || (_cache[9] = function() { + return $options.onMaskKeydown && $options.onMaskKeydown.apply($options, arguments); + }) + }, _ctx.ptm("mask")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("toolbar") + }, _ctx.ptm("toolbar")), [createBaseVNode("button", mergeProps({ + "class": _ctx.cx("rotateRightButton"), + onClick: _cache[2] || (_cache[2] = function() { + return $options.rotateRight && $options.rotateRight.apply($options, arguments); + }), + type: "button", + "aria-label": $options.rightAriaLabel + }, _ctx.ptm("rotateRightButton"), { + "data-pc-group-section": "action" + }), [renderSlot(_ctx.$slots, "refresh", {}, function() { + return [createVNode(_component_RefreshIcon, normalizeProps(guardReactiveProps(_ctx.ptm("rotateRightIcon"))), null, 16)]; + })], 16, _hoisted_3$c), createBaseVNode("button", mergeProps({ + "class": _ctx.cx("rotateLeftButton"), + onClick: _cache[3] || (_cache[3] = function() { + return $options.rotateLeft && $options.rotateLeft.apply($options, arguments); + }), + type: "button", + "aria-label": $options.leftAriaLabel + }, _ctx.ptm("rotateLeftButton"), { + "data-pc-group-section": "action" + }), [renderSlot(_ctx.$slots, "undo", {}, function() { + return [createVNode(_component_UndoIcon, normalizeProps(guardReactiveProps(_ctx.ptm("rotateLeftIcon"))), null, 16)]; + })], 16, _hoisted_4$8), createBaseVNode("button", mergeProps({ + "class": _ctx.cx("zoomOutButton"), + onClick: _cache[4] || (_cache[4] = function() { + return $options.zoomOut && $options.zoomOut.apply($options, arguments); + }), + type: "button", + disabled: $options.isZoomOutDisabled, + "aria-label": $options.zoomOutAriaLabel + }, _ctx.ptm("zoomOutButton"), { + "data-pc-group-section": "action" + }), [renderSlot(_ctx.$slots, "zoomout", {}, function() { + return [createVNode(_component_SearchMinusIcon, normalizeProps(guardReactiveProps(_ctx.ptm("zoomOutIcon"))), null, 16)]; + })], 16, _hoisted_5$3), createBaseVNode("button", mergeProps({ + "class": _ctx.cx("zoomInButton"), + onClick: _cache[5] || (_cache[5] = function() { + return $options.zoomIn && $options.zoomIn.apply($options, arguments); + }), + type: "button", + disabled: $options.isZoomInDisabled, + "aria-label": $options.zoomInAriaLabel + }, _ctx.ptm("zoomInButton"), { + "data-pc-group-section": "action" + }), [renderSlot(_ctx.$slots, "zoomin", {}, function() { + return [createVNode(_component_SearchPlusIcon, normalizeProps(guardReactiveProps(_ctx.ptm("zoomInIcon"))), null, 16)]; + })], 16, _hoisted_6$1), createBaseVNode("button", mergeProps({ + "class": _ctx.cx("closeButton"), + type: "button", + onClick: _cache[6] || (_cache[6] = function() { + return $options.hidePreview && $options.hidePreview.apply($options, arguments); + }), + "aria-label": $options.closeAriaLabel, + autofocus: "" + }, _ctx.ptm("closeButton"), { + "data-pc-group-section": "action" + }), [renderSlot(_ctx.$slots, "close", {}, function() { + return [createVNode(_component_TimesIcon, normalizeProps(guardReactiveProps(_ctx.ptm("closeIcon"))), null, 16)]; + })], 16, _hoisted_7$1)], 16), createVNode(Transition, mergeProps({ + name: "p-image-original", + onBeforeEnter: $options.onBeforeEnter, + onEnter: $options.onEnter, + onLeave: $options.onLeave, + onBeforeLeave: $options.onBeforeLeave, + onAfterLeave: $options.onAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [$data.previewVisible ? (openBlock(), createElementBlock("div", normalizeProps(mergeProps({ + key: 0 + }, _ctx.ptm("originalContainer"))), [renderSlot(_ctx.$slots, _ctx.$slots.original ? "original" : "preview", { + "class": normalizeClass(_ctx.cx("original")), + style: normalizeStyle($options.imagePreviewStyle), + previewCallback: $options.onPreviewImageClick + }, function() { + return [createBaseVNode("img", mergeProps({ + src: _ctx.$attrs.src, + "class": _ctx.cx("original"), + style: $options.imagePreviewStyle, + onClick: _cache[7] || (_cache[7] = function() { + return $options.onPreviewImageClick && $options.onPreviewImageClick.apply($options, arguments); + }) + }, _ctx.ptm("original")), null, 16, _hoisted_8)]; + })], 16)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onBeforeEnter", "onEnter", "onLeave", "onBeforeLeave", "onAfterLeave"])], 16, _hoisted_2$f)), [[_directive_focustrap]]) : createCommentVNode("", true)]; + }), + _: 3 + })], 16); +} +__name(render$D, "render$D"); +script$I.render = render$D; +var theme$p = /* @__PURE__ */ __name(function theme15(_ref) { + var dt = _ref.dt; + return "\n.p-imagecompare {\n position: relative;\n overflow: hidden;\n width: 100%;\n aspect-ratio: 16 / 9;\n}\n\n.p-imagecompare img {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.p-imagecompare img + img {\n clip-path: polygon(0 0, ".concat(dt("imagecompare.scope.x", "50%"), " 0, ").concat(dt("imagecompare.scope.x", "50%"), " 100%, 0 100%);\n}\n\n.p-imagecompare:dir(rtl) img + img {\n clip-path: polygon(calc(100% - ").concat(dt("imagecompare.scope.x", "50%"), ") 0, 100% 0, 100% 100%, calc(100% - ").concat(dt("imagecompare.scope.x", "50%"), ") 100%);\n}\n\n.p-imagecompare-slider {\n position: relative;\n -webkit-appearance: none;\n width: calc(100% + ").concat(dt("imagecompare.handle.size"), ");\n height: 100%;\n margin-inline-start: calc(-1 * calc(").concat(dt("imagecompare.handle.size"), " / 2));\n background-color: transparent;\n outline: none;\n transition: all ").concat(dt("imagecompare.handle.transition.duration"), ";\n}\n\n.p-imagecompare-slider::-webkit-slider-thumb {\n -webkit-appearance: none;\n height: ").concat(dt("imagecompare.handle.size"), ";\n width: ").concat(dt("imagecompare.handle.size"), ";\n background: ").concat(dt("imagecompare.handle.background"), ";\n border: ").concat(dt("imagecompare.handle.border.width"), " solid ").concat(dt("imagecompare.handle.border.color"), ";\n border-radius: ").concat(dt("imagecompare.handle.border.radius"), ";\n background-size: contain;\n cursor: ew-resize;\n transition: all ").concat(dt("imagecompare.handle.transition.duration"), ";\n}\n\n.p-imagecompare-slider::-moz-range-thumb {\n height: ").concat(dt("imagecompare.handle.size"), ";\n width: ").concat(dt("imagecompare.handle.size"), ";\n background: ").concat(dt("imagecompare.handle.background"), ";\n border: ").concat(dt("imagecompare.handle.border.width"), " ").concat(dt("imagecompare.handle.border.style"), " ").concat(dt("imagecompare.handle.border.color"), ";\n border-radius: ").concat(dt("imagecompare.handle.border.radius"), ";\n background-size: contain;\n cursor: ew-resize;\n}\n\n.p-imagecompare-slider:focus-visible::-webkit-slider-thumb {\n box-shadow: ").concat(dt("imagecompare.handle.focus.ring.shadow"), ";\n outline: ").concat(dt("imagecompare.handle.focus.ring.width"), " ").concat(dt("imagecompare.handle.focus.ring.style"), " ").concat(dt("imagecompare.handle.focus.ring.color"), ";\n outline-offset: ").concat(dt("imagecompare.handle.focus.ring.offset"), ";\n}\n\n.p-imagecompare-slider:focus-visible::-moz-range-thumb {\n box-shadow: ").concat(dt("imagecompare.handle.focus.ring.shadow"), ";\n outline: ").concat(dt("imagecompare.handle.focus.ring.width"), " ").concat(dt("imagecompare.handle.focus.ring.style"), " ").concat(dt("imagecompare.handle.focus.ring.color"), ";\n outline-offset: ").concat(dt("imagecompare.handle.focus.ring.offset"), ";\n}\n\n.p-imagecompare-slider:hover {\n width: calc(100% + ").concat(dt("imagecompare.handle.hover.size"), ");\n margin-inline-start: calc(-1 * calc(").concat(dt("imagecompare.handle.hover.size"), " / 2));\n}\n\n.p-imagecompare-slider:hover::-webkit-slider-thumb {\n background: ").concat(dt("imagecompare.handle.hover.background"), ";\n border-color: ").concat(dt("imagecompare.handle.hover.border.color"), ";\n height: ").concat(dt("imagecompare.handle.hover.size"), ";\n width: ").concat(dt("imagecompare.handle.hover.size"), ";\n}\n\n.p-imagecompare-slider:hover::-moz-range-thumb {\n background: ").concat(dt("imagecompare.handle.hover.background"), ";\n border-color: ").concat(dt("imagecompare.handle.hover.border.color"), ";\n height: ").concat(dt("imagecompare.handle.hover.size"), ";\n width: ").concat(dt("imagecompare.handle.hover.size"), ";\n}\n"); +}, "theme"); +var classes$s = { + root: "p-imagecompare", + slider: "p-imagecompare-slider" +}; +var ImageCompareStyle = BaseStyle.extend({ + name: "imagecompare", + theme: theme$p, + classes: classes$s +}); +var script$1$s = { + name: "BaseImageCompare", + "extends": script$1d, + props: { + tabindex: { + type: Number, + "default": 0 + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: ImageCompareStyle, + provide: /* @__PURE__ */ __name(function provide23() { + return { + $pcImageCompare: this, + $parentInstance: this + }; + }, "provide") +}; +var script$H = { + name: "ImageCompare", + "extends": script$1$s, + methods: { + onSlide: /* @__PURE__ */ __name(function onSlide(event2) { + var value2 = event2.target.value; + var image = event2.target.previousElementSibling; + setCSSProperty(image, $dt("imagecompare.scope.x").name, "".concat(value2, "%")); + }, "onSlide") + } +}; +var _hoisted_1$l = ["aria-labelledby", "aria-label"]; +function render$C(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "left"), renderSlot(_ctx.$slots, "right"), createBaseVNode("input", mergeProps({ + type: "range", + min: "0", + max: "100", + value: "50", + onInput: _cache[0] || (_cache[0] = function() { + return $options.onSlide && $options.onSlide.apply($options, arguments); + }), + "class": _ctx.cx("slider") + }, _ctx.ptm("slider")), null, 16)], 16, _hoisted_1$l); +} +__name(render$C, "render$C"); +script$H.render = render$C; +var theme$o = /* @__PURE__ */ __name(function theme16(_ref) { + var dt = _ref.dt; + return "\n.p-inlinemessage {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: ".concat(dt("inlinemessage.padding"), ";\n border-radius: ").concat(dt("inlinemessage.border.radius"), ";\n gap: ").concat(dt("inlinemessage.gap"), ";\n}\n\n.p-inlinemessage-text {\n font-weight: ").concat(dt("inlinemessage.text.font.weight"), ";\n}\n\n.p-inlinemessage-icon {\n flex-shrink: 0;\n font-size: ").concat(dt("inlinemessage.icon.size"), ";\n width: ").concat(dt("inlinemessage.icon.size"), ";\n height: ").concat(dt("inlinemessage.icon.size"), ";\n}\n\n.p-inlinemessage-icon-only .p-inlinemessage-text {\n visibility: hidden;\n width: 0;\n}\n\n.p-inlinemessage-info {\n background: ").concat(dt("inlinemessage.info.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.info.border.color"), ";\n color: ").concat(dt("inlinemessage.info.color"), ";\n box-shadow: ").concat(dt("inlinemessage.info.shadow"), ";\n}\n\n.p-inlinemessage-info .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.info.color"), ";\n}\n\n.p-inlinemessage-success {\n background: ").concat(dt("inlinemessage.success.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.success.border.color"), ";\n color: ").concat(dt("inlinemessage.success.color"), ";\n box-shadow: ").concat(dt("inlinemessage.success.shadow"), ";\n}\n\n.p-inlinemessage-success .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.success.color"), ";\n}\n\n.p-inlinemessage-warn {\n background: ").concat(dt("inlinemessage.warn.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.warn.border.color"), ";\n color: ").concat(dt("inlinemessage.warn.color"), ";\n box-shadow: ").concat(dt("inlinemessage.warn.shadow"), ";\n}\n\n.p-inlinemessage-warn .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.warn.color"), ";\n}\n\n.p-inlinemessage-error {\n background: ").concat(dt("inlinemessage.error.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.error.border.color"), ";\n color: ").concat(dt("inlinemessage.error.color"), ";\n box-shadow: ").concat(dt("inlinemessage.error.shadow"), ";\n}\n\n.p-inlinemessage-error .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.error.color"), ";\n}\n\n.p-inlinemessage-secondary {\n background: ").concat(dt("inlinemessage.secondary.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.secondary.border.color"), ";\n color: ").concat(dt("inlinemessage.secondary.color"), ";\n box-shadow: ").concat(dt("inlinemessage.secondary.shadow"), ";\n}\n\n.p-inlinemessage-secondary .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.secondary.color"), ";\n}\n\n.p-inlinemessage-contrast {\n background: ").concat(dt("inlinemessage.contrast.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.contrast.border.color"), ";\n color: ").concat(dt("inlinemessage.contrast.color"), ";\n box-shadow: ").concat(dt("inlinemessage.contrast.shadow"), ";\n}\n\n.p-inlinemessage-contrast .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.contrast.color"), ";\n}\n"); +}, "theme"); +var classes$r = { + root: /* @__PURE__ */ __name(function root14(_ref2) { + var props = _ref2.props, instance = _ref2.instance; + return ["p-inlinemessage p-component p-inlinemessage-" + props.severity, { + "p-inlinemessage-icon-only": !instance.$slots["default"] + }]; + }, "root"), + icon: /* @__PURE__ */ __name(function icon(_ref3) { + var props = _ref3.props; + return ["p-inlinemessage-icon", props.icon]; + }, "icon"), + text: "p-inlinemessage-text" +}; +var InlineMessageStyle = BaseStyle.extend({ + name: "inlinemessage", + theme: theme$o, + classes: classes$r +}); +var script$1$r = { + name: "BaseInlineMessage", + "extends": script$1d, + props: { + severity: { + type: String, + "default": "error" + }, + icon: { + type: String, + "default": void 0 + } + }, + style: InlineMessageStyle, + provide: /* @__PURE__ */ __name(function provide24() { + return { + $pcInlineMessage: this, + $parentInstance: this + }; + }, "provide") +}; +var script$G = { + name: "InlineMessage", + "extends": script$1$r, + inheritAttrs: false, + timeout: null, + data: /* @__PURE__ */ __name(function data15() { + return { + visible: true + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted18() { + var _this = this; + if (!this.sticky) { + setTimeout(function() { + _this.visible = false; + }, this.life); + } + }, "mounted"), + computed: { + iconComponent: /* @__PURE__ */ __name(function iconComponent() { + return { + info: script$1C, + success: script$1D, + warn: script$1E, + error: script$1F + }[this.severity]; + }, "iconComponent") + } +}; +function render$B(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + role: "alert", + "aria-live": "assertive", + "aria-atomic": "true", + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "icon", {}, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon ? "span" : $options.iconComponent), mergeProps({ + "class": _ctx.cx("icon") + }, _ctx.ptm("icon")), null, 16, ["class"]))]; + }), _ctx.$slots["default"] ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("text") + }, _ctx.ptm("text")), [renderSlot(_ctx.$slots, "default")], 16)) : createCommentVNode("", true)], 16); +} +__name(render$B, "render$B"); +script$G.render = render$B; +var theme$n = /* @__PURE__ */ __name(function theme17(_ref) { + var dt = _ref.dt; + return "\n.p-inplace-display {\n display: inline-block;\n cursor: pointer;\n border: 1px solid transparent;\n padding: ".concat(dt("inplace.padding"), ";\n border-radius: ").concat(dt("inplace.border.radius"), ";\n transition: background ").concat(dt("inplace.transition.duration"), ", color ").concat(dt("inplace.transition.duration"), ", outline-color ").concat(dt("inplace.transition.duration"), ", box-shadow ").concat(dt("inplace.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-inplace-display:not(.p-disabled):hover {\n background: ").concat(dt("inplace.display.hover.background"), ";\n color: ").concat(dt("inplace.display.hover.color"), ";\n}\n\n.p-inplace-display:focus-visible {\n box-shadow: ").concat(dt("inplace.focus.ring.shadow"), ";\n outline: ").concat(dt("inplace.focus.ring.width"), " ").concat(dt("inplace.focus.ring.style"), " ").concat(dt("inplace.focus.ring.color"), ";\n outline-offset: ").concat(dt("inplace.focus.ring.offset"), ";\n}\n\n.p-inplace-content {\n display: block;\n}\n"); +}, "theme"); +var classes$q = { + root: "p-inplace p-component", + display: /* @__PURE__ */ __name(function display(_ref2) { + var props = _ref2.props; + return ["p-inplace-display", { + "p-disabled": props.disabled + }]; + }, "display"), + content: "p-inplace-content" +}; +var InplaceStyle = BaseStyle.extend({ + name: "inplace", + theme: theme$n, + classes: classes$q +}); +var script$1$q = { + name: "BaseInplace", + "extends": script$1d, + props: { + active: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + displayProps: { + type: null, + "default": null + } + }, + style: InplaceStyle, + provide: /* @__PURE__ */ __name(function provide25() { + return { + $pcInplace: this, + $parentInstance: this + }; + }, "provide") +}; +var script$F = { + name: "Inplace", + "extends": script$1$q, + inheritAttrs: false, + emits: ["open", "close", "update:active"], + data: /* @__PURE__ */ __name(function data16() { + return { + d_active: this.active + }; + }, "data"), + watch: { + active: /* @__PURE__ */ __name(function active2(newValue) { + this.d_active = newValue; + }, "active") + }, + methods: { + open: /* @__PURE__ */ __name(function open(event2) { + if (this.disabled) { + return; + } + this.d_active = true; + this.$emit("open", event2); + this.$emit("update:active", true); + }, "open"), + close: /* @__PURE__ */ __name(function close(event2) { + var _this = this; + this.d_active = false; + this.$emit("close", event2); + this.$emit("update:active", false); + setTimeout(function() { + _this.$refs.display.focus(); + }, 0); + }, "close") + } +}; +function _typeof$g(o) { + "@babel/helpers - typeof"; + return _typeof$g = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$g(o); +} +__name(_typeof$g, "_typeof$g"); +function ownKeys$e(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$e, "ownKeys$e"); +function _objectSpread$e(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$e(Object(t2), true).forEach(function(r2) { + _defineProperty$f(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$e(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$e, "_objectSpread$e"); +function _defineProperty$f(e, r, t2) { + return (r = _toPropertyKey$f(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$f, "_defineProperty$f"); +function _toPropertyKey$f(t2) { + var i = _toPrimitive$f(t2, "string"); + return "symbol" == _typeof$g(i) ? i : i + ""; +} +__name(_toPropertyKey$f, "_toPropertyKey$f"); +function _toPrimitive$f(t2, r) { + if ("object" != _typeof$g(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$g(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$f, "_toPrimitive$f"); +var _hoisted_1$k = ["tabindex"]; +function render$A(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + "aria-live": "polite" + }, _ctx.ptmi("root")), [!$data.d_active ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: "display", + "class": _ctx.cx("display"), + tabindex: _ctx.$attrs.tabindex || "0", + role: "button", + onClick: _cache[0] || (_cache[0] = function() { + return $options.open && $options.open.apply($options, arguments); + }), + onKeydown: _cache[1] || (_cache[1] = withKeys(function() { + return $options.open && $options.open.apply($options, arguments); + }, ["enter"])) + }, _objectSpread$e(_objectSpread$e({}, _ctx.displayProps), _ctx.ptm("display"))), [renderSlot(_ctx.$slots, "display")], 16, _hoisted_1$k)) : (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("content") + }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "content", { + closeCallback: $options.close + })], 16))], 16); +} +__name(render$A, "render$A"); +script$F.render = render$A; +var theme$m = /* @__PURE__ */ __name(function theme18(_ref) { + var dt = _ref.dt; + return "\n.p-inputgroup,\n.p-inputgroup .p-iconfield,\n.p-inputgroup .p-floatlabel,\n.p-inputgroup .p-iftalabel {\n display: flex;\n align-items: stretch;\n width: 100%;\n}\n\n.p-inputgroup .p-inputtext,\n.p-inputgroup .p-inputwrapper {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-inputgroupaddon {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ".concat(dt("inputgroup.addon.padding"), ";\n background: ").concat(dt("inputgroup.addon.background"), ";\n color: ").concat(dt("inputgroup.addon.color"), ";\n border-block-start: 1px solid ").concat(dt("inputgroup.addon.border.color"), ";\n border-block-end: 1px solid ").concat(dt("inputgroup.addon.border.color"), ";\n min-width: ").concat(dt("inputgroup.addon.min.width"), ";\n}\n\n.p-inputgroupaddon:first-child,\n.p-inputgroupaddon + .p-inputgroupaddon {\n border-inline-start: 1px solid ").concat(dt("inputgroup.addon.border.color"), ";\n}\n\n.p-inputgroupaddon:last-child {\n border-inline-end: 1px solid ").concat(dt("inputgroup.addon.border.color"), ";\n}\n\n.p-inputgroupaddon:has(.p-button) {\n padding: 0;\n overflow: hidden;\n}\n\n.p-inputgroupaddon .p-button {\n border-radius: 0;\n}\n\n.p-inputgroup > .p-component,\n.p-inputgroup > .p-inputwrapper > .p-component,\n.p-inputgroup > .p-iconfield > .p-component,\n.p-inputgroup > .p-floatlabel > .p-component,\n.p-inputgroup > .p-floatlabel > .p-inputwrapper > .p-component,\n.p-inputgroup > .p-iftalabel > .p-component,\n.p-inputgroup > .p-iftalabel > .p-inputwrapper > .p-component {\n border-radius: 0;\n margin: 0;\n}\n\n.p-inputgroupaddon:first-child,\n.p-inputgroup > .p-component:first-child,\n.p-inputgroup > .p-inputwrapper:first-child > .p-component,\n.p-inputgroup > .p-iconfield:first-child > .p-component,\n.p-inputgroup > .p-floatlabel:first-child > .p-component,\n.p-inputgroup > .p-floatlabel:first-child > .p-inputwrapper > .p-component,\n.p-inputgroup > .p-iftalabel:first-child > .p-component,\n.p-inputgroup > .p-iftalabel:first-child > .p-inputwrapper > .p-component {\n border-start-start-radius: ").concat(dt("inputgroup.addon.border.radius"), ";\n border-end-start-radius: ").concat(dt("inputgroup.addon.border.radius"), ";\n}\n\n.p-inputgroupaddon:last-child,\n.p-inputgroup > .p-component:last-child,\n.p-inputgroup > .p-inputwrapper:last-child > .p-component,\n.p-inputgroup > .p-iconfield:last-child > .p-component,\n.p-inputgroup > .p-floatlabel:last-child > .p-component,\n.p-inputgroup > .p-floatlabel:last-child > .p-inputwrapper > .p-component,\n.p-inputgroup > .p-iftalabel:last-child > .p-component,\n.p-inputgroup > .p-iftalabel:last-child > .p-inputwrapper > .p-component {\n border-start-end-radius: ").concat(dt("inputgroup.addon.border.radius"), ";\n border-end-end-radius: ").concat(dt("inputgroup.addon.border.radius"), ";\n}\n\n.p-inputgroup .p-component:focus,\n.p-inputgroup .p-component.p-focus,\n.p-inputgroup .p-inputwrapper-focus,\n.p-inputgroup .p-component:focus ~ label,\n.p-inputgroup .p-component.p-focus ~ label,\n.p-inputgroup .p-inputwrapper-focus ~ label {\n z-index: 1;\n}\n\n.p-inputgroup > .p-button:not(.p-button-icon-only) {\n width: auto;\n}\n\n.p-inputgroup .p-iconfield + .p-iconfield .p-inputtext {\n border-inline-start: 0;\n}\n"); +}, "theme"); +var classes$p = { + root: "p-inputgroup" +}; +var InputGroupStyle = BaseStyle.extend({ + name: "inputgroup", + theme: theme$m, + classes: classes$p +}); +var script$1$p = { + name: "BaseInputGroup", + "extends": script$1d, + style: InputGroupStyle, + provide: /* @__PURE__ */ __name(function provide26() { + return { + $pcInputGroup: this, + $parentInstance: this + }; + }, "provide") +}; +var script$E = { + name: "InputGroup", + "extends": script$1$p, + inheritAttrs: false +}; +function render$z(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$z, "render$z"); +script$E.render = render$z; +var classes$o = { + root: "p-inputgroupaddon" +}; +var InputGroupAddonStyle = BaseStyle.extend({ + name: "inputgroupaddon", + classes: classes$o +}); +var script$1$o = { + name: "BaseInputGroupAddon", + "extends": script$1d, + style: InputGroupAddonStyle, + provide: /* @__PURE__ */ __name(function provide27() { + return { + $pcInputGroupAddon: this, + $parentInstance: this + }; + }, "provide") +}; +var script$D = { + name: "InputGroupAddon", + "extends": script$1$o, + inheritAttrs: false +}; +function render$y(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$y, "render$y"); +script$D.render = render$y; +var classes$n = { + root: /* @__PURE__ */ __name(function root15(_ref) { + var instance = _ref.instance; + return ["p-inputmask", { + "p-filled": instance.$filled + }]; + }, "root") +}; +var InputMaskStyle = BaseStyle.extend({ + name: "inputmask", + classes: classes$n +}); +var script$1$n = { + name: "BaseInputMask", + "extends": script$1n, + props: { + slotChar: { + type: String, + "default": "_" + }, + id: { + type: String, + "default": null + }, + "class": { + type: [String, Object], + "default": null + }, + mask: { + type: String, + "default": null + }, + placeholder: { + type: String, + "default": null + }, + autoClear: { + type: Boolean, + "default": true + }, + unmask: { + type: Boolean, + "default": false + }, + readonly: { + type: Boolean, + "default": false + } + }, + style: InputMaskStyle, + provide: /* @__PURE__ */ __name(function provide28() { + return { + $pcInputMask: this, + $parentInstance: this + }; + }, "provide") +}; +var script$C = { + name: "InputMask", + "extends": script$1$n, + inheritAttrs: false, + emits: ["focus", "blur", "keydown", "complete", "keypress", "paste"], + inject: { + $pcFluid: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data17() { + return { + currentVal: "" + }; + }, "data"), + watch: { + mask: /* @__PURE__ */ __name(function mask3(newMask, oldMask) { + if (oldMask !== newMask) { + this.initMask(); + } + }, "mask") + }, + mounted: /* @__PURE__ */ __name(function mounted19() { + this.initMask(); + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated4() { + if (this.isValueUpdated()) { + this.updateValue(); + } + }, "updated"), + methods: { + onInput: /* @__PURE__ */ __name(function onInput3(event2) { + if (!event2.isComposing) { + if (this.androidChrome) this.handleAndroidInput(event2); + else this.handleInputChange(event2); + this.updateModelValue(event2.target.value); + } + }, "onInput"), + onFocus: /* @__PURE__ */ __name(function onFocus6(event2) { + var _this = this; + if (this.readonly) { + return; + } + this.focus = true; + clearTimeout(this.caretTimeoutId); + var pos; + this.focusText = this.$el.value; + pos = this.checkVal(); + this.caretTimeoutId = setTimeout(function() { + if (_this.$el !== document.activeElement) { + return; + } + _this.writeBuffer(); + if (pos === _this.mask.replace("?", "").length) { + _this.caret(0, pos); + } else { + _this.caret(pos); + } + }, 10); + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur5(event2) { + var _this$formField$onBlu, _this$formField; + this.focus = false; + this.checkVal(); + this.updateModelValue(event2.target.value); + if (this.$el.value !== this.focusText) { + var e = document.createEvent("HTMLEvents"); + e.initEvent("change", true, false); + this.$el.dispatchEvent(e); + } + this.$emit("blur", event2); + (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField, event2); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown5(event2) { + if (this.readonly) { + return; + } + var k = event2.code, pos, begin, end; + var iPhone = /iphone/i.test(getUserAgent()); + this.oldVal = this.$el.value; + if (k === "Backspace" || k === "Delete" || iPhone && k === "Escape") { + pos = this.caret(); + begin = pos.begin; + end = pos.end; + if (end - begin === 0) { + begin = k !== "Delete" ? this.seekPrev(begin) : end = this.seekNext(begin - 1); + end = k === "Delete" ? this.seekNext(end) : end; + } + this.clearBuffer(begin, end); + this.shiftL(begin, end - 1); + this.updateModelValue(event2.target.value); + event2.preventDefault(); + } else if (k === "Enter") { + this.$el.blur(); + this.updateModelValue(event2.target.value); + } else if (k === "Escape") { + this.$el.value = this.focusText; + this.caret(0, this.checkVal()); + this.updateModelValue(event2.target.value); + event2.preventDefault(); + } + this.$emit("keydown", event2); + }, "onKeyDown"), + onKeyPress: /* @__PURE__ */ __name(function onKeyPress(event2) { + var _this2 = this; + if (this.readonly) { + return; + } + var k = event2.code, pos = this.caret(), p, c, next, completed; + if (event2.ctrlKey || event2.altKey || event2.metaKey || event2.shiftKey || event2.key === "CapsLock" || event2.key === "Escape" || event2.key === "Tab") { + return; + } else if (k && k !== "Enter") { + if (pos.end - pos.begin !== 0) { + this.clearBuffer(pos.begin, pos.end); + this.shiftL(pos.begin, pos.end - 1); + } + p = this.seekNext(pos.begin - 1); + if (p < this.len) { + c = event2.key; + if (this.tests[p].test(c)) { + this.shiftR(p); + this.buffer[p] = c; + this.writeBuffer(); + next = this.seekNext(p); + if (/android/i.test(getUserAgent())) { + var proxy = /* @__PURE__ */ __name(function proxy2() { + _this2.caret(next); + }, "proxy"); + setTimeout(proxy, 0); + } else { + this.caret(next); + } + if (pos.begin <= this.lastRequiredNonMaskPos) { + completed = this.isCompleted(); + } + } + } + event2.preventDefault(); + } + this.updateModelValue(event2.target.value); + if (completed) { + this.$emit("complete", event2); + } + this.$emit("keypress", event2); + }, "onKeyPress"), + onPaste: /* @__PURE__ */ __name(function onPaste2(event2) { + this.handleInputChange(event2); + this.$emit("paste", event2); + }, "onPaste"), + caret: /* @__PURE__ */ __name(function caret(first3, last) { + var range, begin, end; + if (!this.$el.offsetParent || this.$el !== document.activeElement) { + return; + } + if (typeof first3 === "number") { + begin = first3; + end = typeof last === "number" ? last : begin; + if (this.$el.setSelectionRange) { + this.$el.setSelectionRange(begin, end); + } else if (this.$el["createTextRange"]) { + range = this.$el["createTextRange"](); + range.collapse(true); + range.moveEnd("character", end); + range.moveStart("character", begin); + range.select(); + } + } else { + if (this.$el.setSelectionRange) { + begin = this.$el.selectionStart; + end = this.$el.selectionEnd; + } else if (document["selection"] && document["selection"].createRange) { + range = document["selection"].createRange(); + begin = 0 - range.duplicate().moveStart("character", -1e5); + end = begin + range.text.length; + } + return { + begin, + end + }; + } + }, "caret"), + isCompleted: /* @__PURE__ */ __name(function isCompleted() { + for (var i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) { + if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) { + return false; + } + } + return true; + }, "isCompleted"), + getPlaceholder: /* @__PURE__ */ __name(function getPlaceholder(i) { + if (i < this.slotChar.length) { + return this.slotChar.charAt(i); + } + return this.slotChar.charAt(0); + }, "getPlaceholder"), + seekNext: /* @__PURE__ */ __name(function seekNext(pos) { + while (++pos < this.len && !this.tests[pos]) ; + return pos; + }, "seekNext"), + seekPrev: /* @__PURE__ */ __name(function seekPrev(pos) { + while (--pos >= 0 && !this.tests[pos]) ; + return pos; + }, "seekPrev"), + shiftL: /* @__PURE__ */ __name(function shiftL(begin, end) { + var i, j; + if (begin < 0) { + return; + } + for (i = begin, j = this.seekNext(end); i < this.len; i++) { + if (this.tests[i]) { + if (j < this.len && this.tests[i].test(this.buffer[j])) { + this.buffer[i] = this.buffer[j]; + this.buffer[j] = this.getPlaceholder(j); + } else { + break; + } + j = this.seekNext(j); + } + } + this.writeBuffer(); + this.caret(Math.max(this.firstNonMaskPos, begin)); + }, "shiftL"), + shiftR: /* @__PURE__ */ __name(function shiftR(pos) { + var i, c, j, t2; + for (i = pos, c = this.getPlaceholder(pos); i < this.len; i++) { + if (this.tests[i]) { + j = this.seekNext(i); + t2 = this.buffer[i]; + this.buffer[i] = c; + if (j < this.len && this.tests[j].test(t2)) { + c = t2; + } else { + break; + } + } + } + }, "shiftR"), + handleAndroidInput: /* @__PURE__ */ __name(function handleAndroidInput(event2) { + var curVal = this.$el.value; + var pos = this.caret(); + if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) { + this.checkVal(true); + while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--; + if (pos.begin === 0) { + while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) pos.begin++; + } + this.caret(pos.begin, pos.begin); + } else { + this.checkVal(true); + while (pos.begin < this.len && !this.tests[pos.begin]) pos.begin++; + this.caret(pos.begin, pos.begin); + } + if (this.isCompleted()) { + this.$emit("complete", event2); + } + }, "handleAndroidInput"), + clearBuffer: /* @__PURE__ */ __name(function clearBuffer(start, end) { + var i; + for (i = start; i < end && i < this.len; i++) { + if (this.tests[i]) { + this.buffer[i] = this.getPlaceholder(i); + } + } + }, "clearBuffer"), + writeBuffer: /* @__PURE__ */ __name(function writeBuffer() { + this.$el.value = this.buffer.join(""); + }, "writeBuffer"), + checkVal: /* @__PURE__ */ __name(function checkVal(allow) { + this.isValueChecked = true; + var test = this.$el.value, lastMatch = -1, i, c, pos; + for (i = 0, pos = 0; i < this.len; i++) { + if (this.tests[i]) { + this.buffer[i] = this.getPlaceholder(i); + while (pos++ < test.length) { + c = test.charAt(pos - 1); + if (this.tests[i].test(c)) { + this.buffer[i] = c; + lastMatch = i; + break; + } + } + if (pos > test.length) { + this.clearBuffer(i + 1, this.len); + break; + } + } else { + if (this.buffer[i] === test.charAt(pos)) { + pos++; + } + if (i < this.partialPosition) { + lastMatch = i; + } + } + } + if (allow) { + this.writeBuffer(); + } else if (lastMatch + 1 < this.partialPosition) { + if (this.autoClear || this.buffer.join("") === this.defaultBuffer) { + if (this.$el.value) this.$el.value = ""; + this.clearBuffer(0, this.len); + } else { + this.writeBuffer(); + } + } else { + this.writeBuffer(); + this.$el.value = this.$el.value.substring(0, lastMatch + 1); + } + return this.partialPosition ? i : this.firstNonMaskPos; + }, "checkVal"), + handleInputChange: /* @__PURE__ */ __name(function handleInputChange(event2) { + var isPasteEvent = event2.type === "paste"; + if (this.readonly || isPasteEvent) { + return; + } + var pos = this.checkVal(true); + this.caret(pos); + this.updateModelValue(event2.target.value); + if (this.isCompleted()) { + this.$emit("complete", event2); + } + }, "handleInputChange"), + getUnmaskedValue: /* @__PURE__ */ __name(function getUnmaskedValue() { + var unmaskedBuffer = []; + for (var i = 0; i < this.buffer.length; i++) { + var c = this.buffer[i]; + if (this.tests[i] && c !== this.getPlaceholder(i)) { + unmaskedBuffer.push(c); + } + } + return unmaskedBuffer.join(""); + }, "getUnmaskedValue"), + updateModelValue: /* @__PURE__ */ __name(function updateModelValue(value2) { + if (this.currentVal === value2) return; + var val = this.unmask ? this.getUnmaskedValue() : value2; + this.currentVal = value2; + this.writeValue(this.defaultBuffer !== val ? val : ""); + }, "updateModelValue"), + updateValue: /* @__PURE__ */ __name(function updateValue2() { + var _this3 = this; + var updateModel8 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true; + if (this.$el) { + if (this.d_value == null) { + this.$el.value = ""; + updateModel8 && this.updateModelValue(""); + } else { + this.$el.value = this.d_value; + this.checkVal(); + setTimeout(function() { + if (_this3.$el) { + _this3.writeBuffer(); + _this3.checkVal(); + if (updateModel8) _this3.updateModelValue(_this3.$el.value); + } + }, 10); + } + this.focusText = this.$el.value; + } + }, "updateValue"), + initMask: /* @__PURE__ */ __name(function initMask() { + this.tests = []; + this.partialPosition = this.mask.length; + this.len = this.mask.length; + this.firstNonMaskPos = null; + this.defs = { + 9: "[0-9]", + a: "[A-Za-z]", + "*": "[A-Za-z0-9]" + }; + var ua = getUserAgent(); + this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua); + var maskTokens = this.mask.split(""); + for (var i = 0; i < maskTokens.length; i++) { + var c = maskTokens[i]; + if (c === "?") { + this.len--; + this.partialPosition = i; + } else if (this.defs[c]) { + this.tests.push(new RegExp(this.defs[c])); + if (this.firstNonMaskPos === null) { + this.firstNonMaskPos = this.tests.length - 1; + } + if (i < this.partialPosition) { + this.lastRequiredNonMaskPos = this.tests.length - 1; + } + } else { + this.tests.push(null); + } + } + this.buffer = []; + for (var _i = 0; _i < maskTokens.length; _i++) { + var _c = maskTokens[_i]; + if (_c !== "?") { + if (this.defs[_c]) this.buffer.push(this.getPlaceholder(_i)); + else this.buffer.push(_c); + } + } + this.defaultBuffer = this.buffer.join(""); + this.updateValue(false); + }, "initMask"), + isValueUpdated: /* @__PURE__ */ __name(function isValueUpdated() { + return this.unmask ? this.d_value != this.getUnmaskedValue() : this.defaultBuffer !== this.$el.value && this.$el.value !== this.d_value; + }, "isValueUpdated") + }, + computed: { + inputClass: /* @__PURE__ */ __name(function inputClass() { + return [this.cx("root"), this["class"]]; + }, "inputClass"), + rootPTOptions: /* @__PURE__ */ __name(function rootPTOptions() { + return { + root: mergeProps(this.ptm("pcInputText", this.ptmParams), this.ptmi("root", this.ptmParams)) + }; + }, "rootPTOptions"), + ptmParams: /* @__PURE__ */ __name(function ptmParams() { + return { + context: { + filled: this.$filled + } + }; + }, "ptmParams") + }, + components: { + InputText: script$1o + } +}; +function render$x(_ctx, _cache, $props, $setup, $data, $options) { + var _component_InputText = resolveComponent("InputText"); + return openBlock(), createBlock(_component_InputText, { + id: _ctx.id, + value: $data.currentVal, + "class": normalizeClass($options.inputClass), + readonly: _ctx.readonly, + disabled: _ctx.disabled, + invalid: _ctx.invalid, + size: _ctx.size, + name: _ctx.name, + variant: _ctx.variant, + placeholder: _ctx.placeholder, + fluid: _ctx.$fluid, + unstyled: _ctx.unstyled, + onInput: $options.onInput, + onCompositionend: $options.onInput, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeydown: $options.onKeyDown, + onKeypress: $options.onKeyPress, + onPaste: $options.onPaste, + pt: $options.rootPTOptions + }, null, 8, ["id", "value", "class", "readonly", "disabled", "invalid", "size", "name", "variant", "placeholder", "fluid", "unstyled", "onInput", "onCompositionend", "onFocus", "onBlur", "onKeydown", "onKeypress", "onPaste", "pt"]); +} +__name(render$x, "render$x"); +script$C.render = render$x; +var theme$l = /* @__PURE__ */ __name(function theme19(_ref) { + var dt = _ref.dt; + return "\n.p-inputotp {\n display: flex;\n align-items: center;\n gap: ".concat(dt("inputotp.gap"), ";\n}\n\n.p-inputotp-input {\n text-align: center;\n width: ").concat(dt("inputotp.input.width"), ";\n}\n\n.p-inputotp-input.p-inputtext-sm {\n text-align: center;\n width: ").concat(dt("inputotp.input.sm.width"), ";\n}\n\n.p-inputotp-input.p-inputtext-lg {\n text-align: center;\n width: ").concat(dt("inputotp.input.lg.width"), ";\n}\n"); +}, "theme"); +var classes$m = { + root: "p-inputotp p-component", + pcInputText: "p-inputotp-input" +}; +var InputOtpStyle = BaseStyle.extend({ + name: "inputotp", + theme: theme$l, + classes: classes$m +}); +var script$1$m = { + name: "BaseInputOtp", + "extends": script$1n, + props: { + readonly: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": null + }, + length: { + type: Number, + "default": 4 + }, + mask: { + type: Boolean, + "default": false + }, + integerOnly: { + type: Boolean, + "default": false + } + }, + style: InputOtpStyle, + provide: /* @__PURE__ */ __name(function provide29() { + return { + $pcInputOtp: this, + $parentInstance: this + }; + }, "provide") +}; +var script$B = { + name: "InputOtp", + "extends": script$1$m, + inheritAttrs: false, + emits: ["change", "focus", "blur"], + data: /* @__PURE__ */ __name(function data18() { + return { + tokens: [] + }; + }, "data"), + watch: { + modelValue: { + immediate: true, + handler: /* @__PURE__ */ __name(function handler2(newValue) { + this.tokens = newValue ? newValue.split("") : new Array(this.length); + }, "handler") + } + }, + methods: { + getTemplateAttrs: /* @__PURE__ */ __name(function getTemplateAttrs(index) { + return { + value: this.tokens[index] + }; + }, "getTemplateAttrs"), + getTemplateEvents: /* @__PURE__ */ __name(function getTemplateEvents(index) { + var _this = this; + return { + input: /* @__PURE__ */ __name(function input2(event2) { + return _this.onInput(event2, index); + }, "input"), + keydown: /* @__PURE__ */ __name(function keydown(event2) { + return _this.onKeyDown(event2); + }, "keydown"), + focus: /* @__PURE__ */ __name(function focus4(event2) { + return _this.onFocus(event2); + }, "focus"), + blur: /* @__PURE__ */ __name(function blur(event2) { + return _this.onBlur(event2); + }, "blur"), + paste: /* @__PURE__ */ __name(function paste(event2) { + return _this.onPaste(event2); + }, "paste") + }; + }, "getTemplateEvents"), + onInput: /* @__PURE__ */ __name(function onInput4(event2, index) { + this.tokens[index] = event2.target.value; + this.updateModel(event2); + if (event2.inputType === "deleteContentBackward") { + this.moveToPrev(event2); + } else if (event2.inputType === "insertText" || event2.inputType === "deleteContentForward" || isTouchDevice() && event2 instanceof CustomEvent) { + this.moveToNext(event2); + } + }, "onInput"), + updateModel: /* @__PURE__ */ __name(function updateModel4(event2) { + var newValue = this.tokens.join(""); + this.writeValue(newValue, event2); + this.$emit("change", { + originalEvent: event2, + value: newValue + }); + }, "updateModel"), + moveToPrev: /* @__PURE__ */ __name(function moveToPrev(event2) { + var prevInput = this.findPrevInput(event2.target); + if (prevInput) { + prevInput.focus(); + prevInput.select(); + } + }, "moveToPrev"), + moveToNext: /* @__PURE__ */ __name(function moveToNext(event2) { + var nextInput = this.findNextInput(event2.target); + if (nextInput) { + nextInput.focus(); + nextInput.select(); + } + }, "moveToNext"), + findNextInput: /* @__PURE__ */ __name(function findNextInput(element) { + var nextElement = element.nextElementSibling; + if (!nextElement) return; + return nextElement.nodeName === "INPUT" ? nextElement : this.findNextInput(nextElement); + }, "findNextInput"), + findPrevInput: /* @__PURE__ */ __name(function findPrevInput(element) { + var prevElement = element.previousElementSibling; + if (!prevElement) return; + return prevElement.nodeName === "INPUT" ? prevElement : this.findPrevInput(prevElement); + }, "findPrevInput"), + onFocus: /* @__PURE__ */ __name(function onFocus7(event2) { + event2.target.select(); + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur6(event2) { + this.$emit("blur", event2); + }, "onBlur"), + onClick: /* @__PURE__ */ __name(function onClick3(event2) { + setTimeout(function() { + return event2.target.select(); + }, 1); + }, "onClick"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown6(event2) { + if (event2.ctrlKey || event2.metaKey) { + return; + } + switch (event2.code) { + case "ArrowLeft": + this.moveToPrev(event2); + event2.preventDefault(); + break; + case "ArrowUp": + case "ArrowDown": + event2.preventDefault(); + break; + case "Backspace": + if (event2.target.value.length === 0) { + this.moveToPrev(event2); + event2.preventDefault(); + } + break; + case "ArrowRight": + this.moveToNext(event2); + event2.preventDefault(); + break; + case "Enter": + case "NumpadEnter": + case "Tab": + break; + default: + if (this.integerOnly && !(event2.code !== "Space" && Number(event2.key) >= 0 && Number(event2.key) <= 9) || this.tokens.join("").length >= this.length && event2.code !== "Delete") { + event2.preventDefault(); + } + break; + } + }, "onKeyDown"), + onPaste: /* @__PURE__ */ __name(function onPaste3(event2) { + var paste = event2.clipboardData.getData("text"); + if (paste.length) { + var pastedCode = paste.substring(0, this.length); + if (!this.integerOnly || !isNaN(pastedCode)) { + this.tokens = pastedCode.split(""); + this.updateModel(event2); + } + } + event2.preventDefault(); + }, "onPaste") + }, + computed: { + inputMode: /* @__PURE__ */ __name(function inputMode() { + return this.integerOnly ? "numeric" : "text"; + }, "inputMode"), + inputType: /* @__PURE__ */ __name(function inputType() { + return this.mask ? "password" : "text"; + }, "inputType") + }, + components: { + OtpInputText: script$1o + } +}; +function render$w(_ctx, _cache, $props, $setup, $data, $options) { + var _component_OtpInputText = resolveComponent("OtpInputText"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.length, function(i) { + return renderSlot(_ctx.$slots, "default", { + key: i, + events: $options.getTemplateEvents(i - 1), + attrs: $options.getTemplateAttrs(i - 1), + index: i + }, function() { + return [createVNode(_component_OtpInputText, { + value: $data.tokens[i - 1], + type: $options.inputType, + "class": normalizeClass(_ctx.cx("pcInputText")), + name: _ctx.$formName, + inputmode: $options.inputMode, + variant: _ctx.variant, + readonly: _ctx.readonly, + disabled: _ctx.disabled, + size: _ctx.size, + invalid: _ctx.invalid, + tabindex: _ctx.tabindex, + unstyled: _ctx.unstyled, + onInput: /* @__PURE__ */ __name(function onInput6($event) { + return $options.onInput($event, i - 1); + }, "onInput"), + onFocus: _cache[0] || (_cache[0] = function($event) { + return $options.onFocus($event); + }), + onBlur: _cache[1] || (_cache[1] = function($event) { + return $options.onBlur($event); + }), + onPaste: _cache[2] || (_cache[2] = function($event) { + return $options.onPaste($event); + }), + onKeydown: _cache[3] || (_cache[3] = function($event) { + return $options.onKeyDown($event); + }), + onClick: _cache[4] || (_cache[4] = function($event) { + return $options.onClick($event); + }), + pt: _ctx.ptm("pcInputText") + }, null, 8, ["value", "type", "class", "name", "inputmode", "variant", "readonly", "disabled", "size", "invalid", "tabindex", "unstyled", "onInput", "pt"])]; + }); + }), 128))], 16); +} +__name(render$w, "render$w"); +script$B.render = render$w; +var script$A = { + name: "InputSwitch", + "extends": script$1G, + mounted: /* @__PURE__ */ __name(function mounted20() { + console.warn("Deprecated since v4. Use ToggleSwitch component instead."); + }, "mounted") +}; +var InputSwitchStyle = BaseStyle.extend({ + name: "inputswitch" +}); +var KeyFilterStyle = BaseStyle.extend({ + name: "keyfilter-directive" +}); +var BaseKeyFilter = BaseDirective.extend({ + style: KeyFilterStyle +}); +function _toConsumableArray$8(r) { + return _arrayWithoutHoles$8(r) || _iterableToArray$8(r) || _unsupportedIterableToArray$9(r) || _nonIterableSpread$8(); +} +__name(_toConsumableArray$8, "_toConsumableArray$8"); +function _nonIterableSpread$8() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$8, "_nonIterableSpread$8"); +function _unsupportedIterableToArray$9(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$9(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$9(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$9, "_unsupportedIterableToArray$9"); +function _iterableToArray$8(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$8, "_iterableToArray$8"); +function _arrayWithoutHoles$8(r) { + if (Array.isArray(r)) return _arrayLikeToArray$9(r); +} +__name(_arrayWithoutHoles$8, "_arrayWithoutHoles$8"); +function _arrayLikeToArray$9(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$9, "_arrayLikeToArray$9"); +function _typeof$f(o) { + "@babel/helpers - typeof"; + return _typeof$f = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$f(o); +} +__name(_typeof$f, "_typeof$f"); +var KeyFilter = BaseKeyFilter.extend("keyfilter", { + beforeMount: /* @__PURE__ */ __name(function beforeMount(el, options4) { + var target = this.getTarget(el); + if (!target) return; + target.$_pkeyfilterModifier = this.getModifiers(options4); + if (_typeof$f(options4.value)) { + var _options$value, _options$value2; + target.$_pkeyfilterPattern = ((_options$value = options4.value) === null || _options$value === void 0 ? void 0 : _options$value.pattern) || options4.value; + target.$_pkeyfilterValidateOnly = ((_options$value2 = options4.value) === null || _options$value2 === void 0 ? void 0 : _options$value2.validateOnly) || false; + } + this.bindEvents(target); + target.setAttribute("data-pd-keyfilter", true); + }, "beforeMount"), + updated: /* @__PURE__ */ __name(function updated5(el, options4) { + var target = this.getTarget(el); + if (!target) return; + target.$_pkeyfilterModifier = this.getModifiers(options4); + this.unbindEvents(el, options4); + if (_typeof$f(options4.value)) { + var _options$value3, _options$value4; + target.$_pkeyfilterPattern = ((_options$value3 = options4.value) === null || _options$value3 === void 0 ? void 0 : _options$value3.pattern) || options4.value; + target.$_pkeyfilterValidateOnly = ((_options$value4 = options4.value) === null || _options$value4 === void 0 ? void 0 : _options$value4.validateOnly) || false; + } + this.bindEvents(target); + }, "updated"), + unmounted: /* @__PURE__ */ __name(function unmounted3(el, options4) { + this.unbindEvents(el, options4); + }, "unmounted"), + DEFAULT_PATTERNS: { + pint: /[\d]/, + "int": /[\d\-]/, + pnum: /[\d\.]/, + money: /[\d\.\s,]/, + num: /[\d\-\.]/, + hex: /[0-9a-f]/i, + email: /[a-z0-9_\.\-@]/i, + alpha: /[a-z_]/i, + alphanum: /[a-z0-9_]/i + }, + methods: { + getTarget: /* @__PURE__ */ __name(function getTarget(el) { + return isAttributeEquals(el, "data-pc-name", "inputtext") || isAttributeEquals(el, "data-pc-name", "textarea") ? el : null; + }, "getTarget"), + getModifiers: /* @__PURE__ */ __name(function getModifiers(options4) { + if (options4.modifiers && Object.keys(options4.modifiers).length) { + return Object.keys(options4.modifiers)[Object.keys.length - 1]; + } + return ""; + }, "getModifiers"), + getRegex: /* @__PURE__ */ __name(function getRegex(target) { + return target.$_pkeyfilterPattern ? target.$_pkeyfilterPattern : target.$_pkeyfilterModifier ? this.DEFAULT_PATTERNS[target.$_pkeyfilterModifier] : /./; + }, "getRegex"), + bindEvents: /* @__PURE__ */ __name(function bindEvents(el) { + var _this = this; + el.$_keyfilterKeydownEvent = function(event2) { + return _this.onKeydown(event2, el); + }; + el.$_keyfilterPasteEvent = function(event2) { + return _this.onPaste(event2, el); + }; + el.addEventListener("keypress", el.$_keyfilterKeydownEvent); + el.addEventListener("paste", el.$_keyfilterPasteEvent); + }, "bindEvents"), + unbindEvents: /* @__PURE__ */ __name(function unbindEvents(el) { + el.removeEventListener("keypress", el.$_keyfilterKeydownEvent); + el.removeEventListener("paste", el.$_keyfilterPasteEvent); + el.$_keyfilterKeydownEvent = null; + el.$_keyfilterPasteEvent = null; + }, "unbindEvents"), + onKeydown: /* @__PURE__ */ __name(function onKeydown3(event2, target) { + if (event2.ctrlKey || event2.altKey || event2.metaKey || event2.key === "Tab") { + return; + } + var regex = this.getRegex(target); + if (regex === "") { + return; + } + var testKey = "".concat(event2.key); + if (target.$_pkeyfilterValidateOnly) { + testKey = "".concat(event2.target.value).concat(event2.key); + } + if (!regex.test(testKey)) { + event2.preventDefault(); + } + }, "onKeydown"), + onPaste: /* @__PURE__ */ __name(function onPaste4(event2, target) { + var regex = this.getRegex(target); + if (regex === "") { + return; + } + var clipboard = event2.clipboardData.getData("text"); + var testKey = ""; + _toConsumableArray$8(clipboard).forEach(function(c) { + if (target.$_pkeyfilterValidateOnly) { + testKey += c; + } else { + testKey = c; + } + if (!regex.test(testKey)) { + event2.preventDefault(); + return false; + } + }); + }, "onPaste") + } +}); +var theme$k = /* @__PURE__ */ __name(function theme20(_ref) { + var dt = _ref.dt; + return "\n.p-knob-range {\n fill: none;\n transition: stroke 0.1s ease-in;\n}\n\n.p-knob-value {\n animation-name: p-knob-dash-frame;\n animation-fill-mode: forwards;\n fill: none;\n}\n\n.p-knob-text {\n font-size: 1.3rem;\n text-align: center;\n}\n\n.p-knob svg {\n border-radius: 50%;\n outline-color: transparent;\n transition: background ".concat(dt("knob.transition.duration"), ", color ").concat(dt("knob.transition.duration"), ", outline-color ").concat(dt("knob.transition.duration"), ", box-shadow ").concat(dt("knob.transition.duration"), ";\n}\n\n.p-knob svg:focus-visible {\n box-shadow: ").concat(dt("knob.focus.ring.shadow"), ";\n outline: ").concat(dt("knob.focus.ring.width"), " ").concat(dt("knob.focus.ring.style"), " ").concat(dt("knob.focus.ring.color"), ";\n outline-offset: ").concat(dt("knob.focus.ring.offset"), ";\n}\n\n@keyframes p-knob-dash-frame {\n 100% {\n stroke-dashoffset: 0;\n }\n}\n"); +}, "theme"); +var classes$l = { + root: /* @__PURE__ */ __name(function root16(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-knob p-component", { + "p-disabled": props.disabled, + "p-invalid": instance.$invalid + }]; + }, "root"), + range: "p-knob-range", + value: "p-knob-value", + text: "p-knob-text" +}; +var KnobStyle = BaseStyle.extend({ + name: "knob", + theme: theme$k, + classes: classes$l +}); +var script$1$l = { + name: "BaseKnob", + "extends": script$1s, + props: { + size: { + type: Number, + "default": 100 + }, + readonly: { + type: Boolean, + "default": false + }, + step: { + type: Number, + "default": 1 + }, + min: { + type: Number, + "default": 0 + }, + max: { + type: Number, + "default": 100 + }, + valueColor: { + type: String, + "default": /* @__PURE__ */ __name(function _default10() { + return $dt("knob.value.background").variable; + }, "_default") + }, + rangeColor: { + type: String, + "default": /* @__PURE__ */ __name(function _default11() { + return $dt("knob.range.background").variable; + }, "_default") + }, + textColor: { + type: String, + "default": /* @__PURE__ */ __name(function _default12() { + return $dt("knob.text.color").variable; + }, "_default") + }, + strokeWidth: { + type: Number, + "default": 14 + }, + showValue: { + type: Boolean, + "default": true + }, + valueTemplate: { + type: [String, Function], + "default": "{value}" + }, + tabindex: { + type: Number, + "default": 0 + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: KnobStyle, + provide: /* @__PURE__ */ __name(function provide30() { + return { + $pcKnob: this, + $parentInstance: this + }; + }, "provide") +}; +var Math_PI$1 = 3.14159265358979; +var script$z = { + name: "Knob", + "extends": script$1$l, + inheritAttrs: false, + emits: ["change"], + data: /* @__PURE__ */ __name(function data19() { + return { + radius: 40, + midX: 50, + midY: 50, + minRadians: 4 * Math_PI$1 / 3, + maxRadians: -Math_PI$1 / 3 + }; + }, "data"), + methods: { + updateValueByOffset: /* @__PURE__ */ __name(function updateValueByOffset(offsetX, offsetY) { + var dx = offsetX - this.size / 2; + var dy = this.size / 2 - offsetY; + var angle = Math.atan2(dy, dx); + var start = -Math_PI$1 / 2 - Math_PI$1 / 6; + this.updateModel(angle, start); + }, "updateValueByOffset"), + updateModel: /* @__PURE__ */ __name(function updateModel5(angle, start) { + var mappedValue; + if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min, this.max); + else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math_PI$1, this.minRadians, this.maxRadians, this.min, this.max); + else return; + var newValue = Math.round((mappedValue - this.min) / this.step) * this.step + this.min; + this.writeValue(newValue); + this.$emit("change", newValue); + }, "updateModel"), + updateModelValue: /* @__PURE__ */ __name(function updateModelValue2(newValue) { + if (newValue > this.max) this.writeValue(this.max); + else if (newValue < this.min) this.writeValue(this.min); + else this.writeValue(newValue); + }, "updateModelValue"), + mapRange: /* @__PURE__ */ __name(function mapRange(x, inMin, inMax, outMin, outMax) { + return (x - inMin) * (outMax - outMin) / (inMax - inMin) + outMin; + }, "mapRange"), + onClick: /* @__PURE__ */ __name(function onClick4(event2) { + if (!this.disabled && !this.readonly) { + this.updateValueByOffset(event2.offsetX, event2.offsetY); + } + }, "onClick"), + onBlur: /* @__PURE__ */ __name(function onBlur7(event2) { + var _this$formField$onBlu, _this$formField; + (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField, event2); + }, "onBlur"), + onMouseDown: /* @__PURE__ */ __name(function onMouseDown(event2) { + if (!this.disabled && !this.readonly) { + window.addEventListener("mousemove", this.onMouseMove); + window.addEventListener("mouseup", this.onMouseUp); + event2.preventDefault(); + } + }, "onMouseDown"), + onMouseUp: /* @__PURE__ */ __name(function onMouseUp(event2) { + if (!this.disabled && !this.readonly) { + window.removeEventListener("mousemove", this.onMouseMove); + window.removeEventListener("mouseup", this.onMouseUp); + event2.preventDefault(); + } + }, "onMouseUp"), + onTouchStart: /* @__PURE__ */ __name(function onTouchStart(event2) { + if (!this.disabled && !this.readonly) { + window.addEventListener("touchmove", this.onTouchMove); + window.addEventListener("touchend", this.onTouchEnd); + event2.preventDefault(); + } + }, "onTouchStart"), + onTouchEnd: /* @__PURE__ */ __name(function onTouchEnd(event2) { + if (!this.disabled && !this.readonly) { + window.removeEventListener("touchmove", this.onTouchMove); + window.removeEventListener("touchend", this.onTouchEnd); + event2.preventDefault(); + } + }, "onTouchEnd"), + onMouseMove: /* @__PURE__ */ __name(function onMouseMove(event2) { + if (!this.disabled && !this.readonly) { + this.updateValueByOffset(event2.offsetX, event2.offsetY); + event2.preventDefault(); + } + }, "onMouseMove"), + onTouchMove: /* @__PURE__ */ __name(function onTouchMove(event2) { + if (!this.disabled && !this.readonly && event2.touches.length == 1) { + var rect = this.$el.getBoundingClientRect(); + var touch = event2.targetTouches.item(0); + var offsetX = touch.clientX - rect.left; + var offsetY = touch.clientY - rect.top; + this.updateValueByOffset(offsetX, offsetY); + } + }, "onTouchMove"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown7(event2) { + if (!this.disabled && !this.readonly) { + switch (event2.code) { + case "ArrowRight": + case "ArrowUp": { + event2.preventDefault(); + this.updateModelValue(this.d_value + this.step); + break; + } + case "ArrowLeft": + case "ArrowDown": { + event2.preventDefault(); + this.updateModelValue(this.d_value - this.step); + break; + } + case "Home": { + event2.preventDefault(); + this.writeValue(this.min); + break; + } + case "End": { + event2.preventDefault(); + this.writeValue(this.max); + break; + } + case "PageUp": { + event2.preventDefault(); + this.updateModelValue(this.d_value + 10); + break; + } + case "PageDown": { + event2.preventDefault(); + this.updateModelValue(this.d_value - 10); + break; + } + } + } + }, "onKeyDown") + }, + computed: { + rangePath: /* @__PURE__ */ __name(function rangePath() { + return "M ".concat(this.minX, " ").concat(this.minY, " A ").concat(this.radius, " ").concat(this.radius, " 0 1 1 ").concat(this.maxX, " ").concat(this.maxY); + }, "rangePath"), + valuePath: /* @__PURE__ */ __name(function valuePath() { + return "M ".concat(this.zeroX, " ").concat(this.zeroY, " A ").concat(this.radius, " ").concat(this.radius, " 0 ").concat(this.largeArc, " ").concat(this.sweep, " ").concat(this.valueX, " ").concat(this.valueY); + }, "valuePath"), + zeroRadians: /* @__PURE__ */ __name(function zeroRadians() { + if (this.min > 0 && this.max > 0) return this.mapRange(this.min, this.min, this.max, this.minRadians, this.maxRadians); + else return this.mapRange(0, this.min, this.max, this.minRadians, this.maxRadians); + }, "zeroRadians"), + valueRadians: /* @__PURE__ */ __name(function valueRadians() { + return this.mapRange(this.d_value, this.min, this.max, this.minRadians, this.maxRadians); + }, "valueRadians"), + minX: /* @__PURE__ */ __name(function minX() { + return this.midX + Math.cos(this.minRadians) * this.radius; + }, "minX"), + minY: /* @__PURE__ */ __name(function minY() { + return this.midY - Math.sin(this.minRadians) * this.radius; + }, "minY"), + maxX: /* @__PURE__ */ __name(function maxX() { + return this.midX + Math.cos(this.maxRadians) * this.radius; + }, "maxX"), + maxY: /* @__PURE__ */ __name(function maxY() { + return this.midY - Math.sin(this.maxRadians) * this.radius; + }, "maxY"), + zeroX: /* @__PURE__ */ __name(function zeroX() { + return this.midX + Math.cos(this.zeroRadians) * this.radius; + }, "zeroX"), + zeroY: /* @__PURE__ */ __name(function zeroY() { + return this.midY - Math.sin(this.zeroRadians) * this.radius; + }, "zeroY"), + valueX: /* @__PURE__ */ __name(function valueX() { + return this.midX + Math.cos(this.valueRadians) * this.radius; + }, "valueX"), + valueY: /* @__PURE__ */ __name(function valueY() { + return this.midY - Math.sin(this.valueRadians) * this.radius; + }, "valueY"), + largeArc: /* @__PURE__ */ __name(function largeArc() { + return Math.abs(this.zeroRadians - this.valueRadians) < Math_PI$1 ? 0 : 1; + }, "largeArc"), + sweep: /* @__PURE__ */ __name(function sweep() { + return this.valueRadians > this.zeroRadians ? 0 : 1; + }, "sweep"), + valueToDisplay: /* @__PURE__ */ __name(function valueToDisplay() { + if (typeof this.valueTemplate === "string") { + return this.valueTemplate.replace(/{value}/g, this.d_value); + } else { + return this.valueTemplate(this.d_value); + } + }, "valueToDisplay") + } +}; +var _hoisted_1$j = ["width", "height", "tabindex", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-labelledby", "aria-label"]; +var _hoisted_2$e = ["d", "stroke-width", "stroke"]; +var _hoisted_3$b = ["d", "stroke-width", "stroke"]; +var _hoisted_4$7 = ["fill"]; +function render$v(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [(openBlock(), createElementBlock("svg", mergeProps({ + viewBox: "0 0 100 100", + role: "slider", + width: _ctx.size, + height: _ctx.size, + tabindex: _ctx.readonly || _ctx.disabled ? -1 : _ctx.tabindex, + "aria-valuemin": _ctx.min, + "aria-valuemax": _ctx.max, + "aria-valuenow": _ctx.d_value, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onClick && $options.onClick.apply($options, arguments); + }), + onBlur: _cache[1] || (_cache[1] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }), + onKeydown: _cache[2] || (_cache[2] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }), + onMousedown: _cache[3] || (_cache[3] = function() { + return $options.onMouseDown && $options.onMouseDown.apply($options, arguments); + }), + onMouseup: _cache[4] || (_cache[4] = function() { + return $options.onMouseUp && $options.onMouseUp.apply($options, arguments); + }), + onTouchstartPassive: _cache[5] || (_cache[5] = function() { + return $options.onTouchStart && $options.onTouchStart.apply($options, arguments); + }), + onTouchend: _cache[6] || (_cache[6] = function() { + return $options.onTouchEnd && $options.onTouchEnd.apply($options, arguments); + }) + }, _ctx.ptm("svg")), [createBaseVNode("path", mergeProps({ + d: $options.rangePath, + "stroke-width": _ctx.strokeWidth, + stroke: _ctx.rangeColor, + "class": _ctx.cx("range") + }, _ctx.ptm("range")), null, 16, _hoisted_2$e), createBaseVNode("path", mergeProps({ + d: $options.valuePath, + "stroke-width": _ctx.strokeWidth, + stroke: _ctx.valueColor, + "class": _ctx.cx("value") + }, _ctx.ptm("value")), null, 16, _hoisted_3$b), _ctx.showValue ? (openBlock(), createElementBlock("text", mergeProps({ + key: 0, + x: 50, + y: 57, + "text-anchor": "middle", + fill: _ctx.textColor, + "class": _ctx.cx("text") + }, _ctx.ptm("text")), toDisplayString($options.valueToDisplay), 17, _hoisted_4$7)) : createCommentVNode("", true)], 16, _hoisted_1$j))], 16); +} +__name(render$v, "render$v"); +script$z.render = render$v; +var theme$j = /* @__PURE__ */ __name(function theme21(_ref) { + var dt = _ref.dt; + return "\n.p-megamenu {\n position: relative;\n display: flex;\n align-items: center;\n background: ".concat(dt("megamenu.background"), ";\n border: 1px solid ").concat(dt("megamenu.border.color"), ";\n border-radius: ").concat(dt("megamenu.border.radius"), ";\n color: ").concat(dt("megamenu.color"), ";\n gap: ").concat(dt("megamenu.gap"), ";\n}\n\n.p-megamenu-start,\n.p-megamenu-end {\n display: flex;\n align-items: center;\n}\n\n.p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n outline: 0 none;\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: ").concat(dt("megamenu.gap"), ";\n}\n\n.p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content {\n border-radius: ").concat(dt("megamenu.base.item.border.radius"), ";\n}\n\n.p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content > .p-megamenu-item-link {\n padding: ").concat(dt("megamenu.base.item.padding"), ";\n}\n\n.p-megamenu-item-content {\n transition: background ").concat(dt("megamenu.transition.duration"), ", color ").concat(dt("megamenu.transition.duration"), ";\n border-radius: ").concat(dt("megamenu.item.border.radius"), ";\n color: ").concat(dt("megamenu.item.color"), ";\n}\n\n.p-megamenu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("megamenu.item.padding"), ";\n gap: ").concat(dt("megamenu.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-megamenu-item-label {\n line-height: 1;\n}\n\n.p-megamenu-item-icon {\n color: ").concat(dt("megamenu.item.icon.color"), ";\n}\n\n.p-megamenu-submenu-icon {\n color: ").concat(dt("megamenu.submenu.icon.color"), ";\n font-size: ").concat(dt("megamenu.submenu.icon.size"), ";\n width: ").concat(dt("megamenu.submenu.icon.size"), ";\n height: ").concat(dt("megamenu.submenu.icon.size"), ";\n}\n\n.p-megamenu-item.p-focus > .p-megamenu-item-content {\n color: ").concat(dt("megamenu.item.focus.color"), ";\n background: ").concat(dt("megamenu.item.focus.background"), ";\n}\n\n.p-megamenu-item.p-focus > .p-megamenu-item-content .p-megamenu-item-icon {\n color: ").concat(dt("megamenu.item.icon.focus.color"), ";\n}\n\n.p-megamenu-item.p-focus > .p-megamenu-item-content .p-megamenu-submenu-icon {\n color: ").concat(dt("megamenu.submenu.icon.focus.color"), ";\n}\n\n.p-megamenu-item:not(.p-disabled) > .p-megamenu-item-content:hover {\n color: ").concat(dt("megamenu.item.focus.color"), ";\n background: ").concat(dt("megamenu.item.focus.background"), ";\n}\n\n.p-megamenu-item:not(.p-disabled) > .p-megamenu-item-content:hover .p-megamenu-item-icon {\n color: ").concat(dt("megamenu.item.icon.focus.color"), ";\n}\n\n.p-megamenu-item:not(.p-disabled) > .p-megamenu-item-content:hover .p-megamenu-submenu-icon {\n color: ").concat(dt("megamenu.submenu.icon.focus.color"), ";\n}\n\n.p-megamenu-item-active > .p-megamenu-item-content {\n color: ").concat(dt("megamenu.item.active.color"), ";\n background: ").concat(dt("megamenu.item.active.background"), ";\n}\n\n.p-megamenu-item-active > .p-megamenu-item-content .p-megamenu-item-icon {\n color: ").concat(dt("megamenu.item.icon.active.color"), ";\n}\n\n.p-megamenu-item-active > .p-megamenu-item-content .p-megamenu-submenu-icon {\n color: ").concat(dt("megamenu.submenu.icon.active.color"), ";\n}\n\n.p-megamenu-overlay {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n left: 0;\n min-width: 100%;\n padding: ").concat(dt("megamenu.overlay.padding"), ";\n background: ").concat(dt("megamenu.overlay.background"), ";\n color: ").concat(dt("megamenu.overlay.color"), ";\n border: 1px solid ").concat(dt("megamenu.overlay.border.color"), ";\n border-radius: ").concat(dt("megamenu.overlay.border.radius"), ";\n box-shadow: ").concat(dt("megamenu.overlay.shadow"), ";\n}\n\n.p-megamenu-overlay:dir(rtl) {\n left: auto;\n right: 0;\n}\n\n.p-megamenu-root-list > .p-megamenu-item-active > .p-megamenu-overlay {\n display: block;\n}\n\n.p-megamenu-submenu {\n margin: 0;\n list-style: none;\n padding: ").concat(dt("megamenu.submenu.padding"), ";\n min-width: 12.5rem;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("megamenu.submenu.gap"), "\n}\n\n.p-megamenu-submenu-label {\n padding: ").concat(dt("megamenu.submenu.label.padding"), ";\n color: ").concat(dt("megamenu.submenu.label.color"), ";\n font-weight: ").concat(dt("megamenu.submenu.label.font.weight"), ";\n background: ").concat(dt("megamenu.submenu.label.background"), ";\n}\n\n.p-megamenu-separator {\n border-block-start: 1px solid ").concat(dt("megamenu.separator.border.color"), ";\n}\n\n.p-megamenu-horizontal {\n align-items: center;\n padding: ").concat(dt("megamenu.horizontal.orientation.padding"), ";\n}\n\n.p-megamenu-horizontal .p-megamenu-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: ").concat(dt("megamenu.horizontal.orientation.gap"), ";\n}\n\n.p-megamenu-horizontal .p-megamenu-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-megamenu-horizontal .p-megamenu-end:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-megamenu-vertical {\n display: inline-flex;\n min-width: 12.5rem;\n flex-direction: column;\n align-items: stretch;\n padding: ").concat(dt("megamenu.vertical.orientation.padding"), ";\n}\n\n.p-megamenu-vertical .p-megamenu-root-list {\n align-items: stretch;\n flex-direction: column;\n gap: ").concat(dt("megamenu.vertical.orientation.gap"), ";\n}\n\n.p-megamenu-vertical .p-megamenu-root-list > .p-megamenu-item-active > .p-megamenu-overlay {\n left: 100%;\n top: 0;\n}\n\n.p-megamenu-vertical .p-megamenu-root-list > .p-megamenu-item-active > .p-megamenu-overlay:dir(rtl) {\n left: auto;\n right: 100%;\n}\n\n.p-megamenu-vertical .p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content .p-megamenu-submenu-icon {\n margin-left: auto;\n}\n\n.p-megamenu-vertical .p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content .p-megamenu-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n transform: rotate(180deg);\n}\n\n.p-megamenu-grid {\n display: flex;\n}\n\n.p-megamenu-col-2,\n.p-megamenu-col-3,\n.p-megamenu-col-4,\n.p-megamenu-col-6,\n.p-megamenu-col-12 {\n flex: 0 0 auto;\n padding: ").concat(dt("megamenu.overlay.gap"), ";\n}\n\n.p-megamenu-col-2 {\n width: 16.6667%;\n}\n\n.p-megamenu-col-3 {\n width: 25%;\n}\n\n.p-megamenu-col-4 {\n width: 33.3333%;\n}\n\n.p-megamenu-col-6 {\n width: 50%;\n}\n\n.p-megamenu-col-12 {\n width: 100%;\n}\n\n.p-megamenu-button {\n display: none;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n width: ").concat(dt("megamenu.mobile.button.size"), ";\n height: ").concat(dt("megamenu.mobile.button.size"), ";\n position: relative;\n color: ").concat(dt("megamenu.mobile.button.color"), ";\n border: 0 none;\n background: transparent;\n border-radius: ").concat(dt("megamenu.mobile.button.border.radius"), ";\n transition: background ").concat(dt("megamenu.transition.duration"), ", color ").concat(dt("megamenu.transition.duration"), ", outline-color ").concat(dt("megamenu.transition.duration"), ", box-shadow ").concat(dt("megamenu.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-megamenu-button:hover {\n color: ").concat(dt("megamenu.mobile.button.hover.color"), ";\n background: ").concat(dt("megamenu.mobile.button.hover.background"), ";\n}\n\n.p-megamenu-button:focus-visible {\n box-shadow: ").concat(dt("megamenu.mobile.button.focus.ring.shadow"), ";\n outline: ").concat(dt("megamenu.mobile.button.focus.ring.width"), " ").concat(dt("megamenu.mobile.button.focus.ring.style"), " ").concat(dt("megamenu.mobile.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("megamenu.mobile.button.focus.ring.offset"), ";\n}\n\n.p-megamenu-mobile {\n display: flex;\n}\n\n.p-megamenu-mobile .p-megamenu-button {\n display: flex;\n}\n\n.p-megamenu-mobile .p-megamenu-root-list {\n position: absolute;\n display: none;\n flex-direction: column;\n top: 100%;\n left: 0;\n z-index: 1;\n width: 100%;\n padding: ").concat(dt("megamenu.submenu.padding"), ";\n gap: ").concat(dt("megamenu.submenu.gap"), ";\n background: ").concat(dt("megamenu.overlay.background"), ";\n border: 1px solid ").concat(dt("megamenu.overlay.border.color"), ";\n box-shadow: ").concat(dt("megamenu.overlay.shadow"), ";\n}\n\n.p-megamenu-mobile .p-megamenu-root-list:dir(rtl) {\n left: auto;\n right: 0;\n}\n\n.p-megamenu-mobile-active .p-megamenu-root-list {\n display: block;\n}\n\n.p-megamenu-mobile .p-megamenu-root-list .p-megamenu-item {\n width: 100%;\n position: static;\n}\n\n.p-megamenu-mobile .p-megamenu-overlay {\n position: static;\n border: 0 none;\n border-radius: 0;\n box-shadow: none;\n}\n\n.p-megamenu-mobile .p-megamenu-grid {\n flex-wrap: wrap;\n overflow: auto;\n max-height: 90%;\n}\n\n.p-megamenu-mobile .p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content .p-megamenu-submenu-icon {\n margin-left: auto;\n transition: transform 0.2s;\n}\n\n.p-megamenu-mobile .p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content .p-megamenu-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-megamenu-mobile .p-megamenu-root-list > .p-megamenu-item-active > .p-megamenu-item-content .p-megamenu-submenu-icon {\n transform: rotate(-180deg);\n}\n"); +}, "theme"); +var inlineStyles$6 = { + rootList: /* @__PURE__ */ __name(function rootList(_ref2) { + var props = _ref2.props; + return { + "max-height": props.scrollHeight, + overflow: "auto" + }; + }, "rootList") +}; +var classes$k = { + root: /* @__PURE__ */ __name(function root17(_ref3) { + var instance = _ref3.instance; + return ["p-megamenu p-component", { + "p-megamenu-mobile": instance.queryMatches, + "p-megamenu-mobile-active": instance.mobileActive, + "p-megamenu-horizontal": instance.horizontal, + "p-megamenu-vertical": instance.vertical + }]; + }, "root"), + start: "p-megamenu-start", + button: "p-megamenu-button", + rootList: "p-megamenu-root-list", + submenuLabel: /* @__PURE__ */ __name(function submenuLabel(_ref4) { + var instance = _ref4.instance, processedItem = _ref4.processedItem; + return ["p-megamenu-submenu-label", { + "p-disabled": instance.isItemDisabled(processedItem) + }]; + }, "submenuLabel"), + item: /* @__PURE__ */ __name(function item3(_ref5) { + var instance = _ref5.instance, processedItem = _ref5.processedItem; + return ["p-megamenu-item", { + "p-megamenu-item-active": instance.isItemActive(processedItem), + "p-focus": instance.isItemFocused(processedItem), + "p-disabled": instance.isItemDisabled(processedItem) + }]; + }, "item"), + itemContent: "p-megamenu-item-content", + itemLink: "p-megamenu-item-link", + itemIcon: "p-megamenu-item-icon", + itemLabel: "p-megamenu-item-label", + submenuIcon: "p-megamenu-submenu-icon", + overlay: "p-megamenu-overlay", + grid: "p-megamenu-grid", + column: /* @__PURE__ */ __name(function column(_ref6) { + var instance = _ref6.instance, processedItem = _ref6.processedItem; + var length = instance.isItemGroup(processedItem) ? processedItem.items.length : 0; + var columnClass; + if (instance.$parentInstance.queryMatches) columnClass = "p-megamenu-col-12"; + else { + switch (length) { + case 2: + columnClass = "p-megamenu-col-6"; + break; + case 3: + columnClass = "p-megamenu-col-4"; + break; + case 4: + columnClass = "p-megamenu-col-3"; + break; + case 6: + columnClass = "p-megamenu-col-2"; + break; + default: + columnClass = "p-megamenu-col-12"; + break; + } + } + return columnClass; + }, "column"), + submenu: "p-megamenu-submenu", + separator: "p-megamenu-separator", + end: "p-megamenu-end" +}; +var MegaMenuStyle = BaseStyle.extend({ + name: "megamenu", + theme: theme$j, + classes: classes$k, + inlineStyles: inlineStyles$6 +}); +var script$2$5 = { + name: "BaseMegaMenu", + "extends": script$1d, + props: { + model: { + type: Array, + "default": null + }, + orientation: { + type: String, + "default": "horizontal" + }, + breakpoint: { + type: String, + "default": "960px" + }, + disabled: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": 0 + }, + scrollHeight: { + type: String, + "default": "20rem" + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: MegaMenuStyle, + provide: /* @__PURE__ */ __name(function provide31() { + return { + $pcMegaMenu: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$k = { + name: "MegaMenuSub", + hostName: "MegaMenu", + "extends": script$1d, + emits: ["item-click", "item-mouseenter"], + props: { + menuId: { + type: String, + "default": null + }, + focusedItemId: { + type: String, + "default": null + }, + horizontal: { + type: Boolean, + "default": false + }, + submenu: { + type: Object, + "default": null + }, + mobileActive: { + type: Boolean, + "default": false + }, + items: { + type: Array, + "default": null + }, + level: { + type: Number, + "default": 0 + }, + templates: { + type: Object, + "default": null + }, + activeItem: { + type: Object, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + } + }, + methods: { + getSubListId: /* @__PURE__ */ __name(function getSubListId(processedItem) { + return "".concat(this.getItemId(processedItem), "_list"); + }, "getSubListId"), + getSubListKey: /* @__PURE__ */ __name(function getSubListKey(processedItem) { + return this.getSubListId(processedItem); + }, "getSubListKey"), + getItemId: /* @__PURE__ */ __name(function getItemId2(processedItem) { + return "".concat(this.menuId, "_").concat(processedItem.key); + }, "getItemId"), + getItemKey: /* @__PURE__ */ __name(function getItemKey(processedItem) { + return this.getItemId(processedItem); + }, "getItemKey"), + getItemProp: /* @__PURE__ */ __name(function getItemProp2(processedItem, name4, params) { + return processedItem && processedItem.item ? resolve(processedItem.item[name4], params) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel(processedItem) { + return this.getItemProp(processedItem, "label"); + }, "getItemLabel"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions3(processedItem, index, key) { + return this.ptm(key, { + context: { + item: processedItem.item, + index, + active: this.isItemActive(processedItem), + focused: this.isItemFocused(processedItem), + disabled: this.isItemDisabled(processedItem) + } + }); + }, "getPTOptions"), + isItemActive: /* @__PURE__ */ __name(function isItemActive3(processedItem) { + return isNotEmpty(this.activeItem) ? this.activeItem.key === processedItem.key : false; + }, "isItemActive"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible(processedItem) { + return this.getItemProp(processedItem, "visible") !== false; + }, "isItemVisible"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled(processedItem) { + return this.getItemProp(processedItem, "disabled"); + }, "isItemDisabled"), + isItemFocused: /* @__PURE__ */ __name(function isItemFocused(processedItem) { + return this.focusedItemId === this.getItemId(processedItem); + }, "isItemFocused"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup(processedItem) { + return isNotEmpty(processedItem.items); + }, "isItemGroup"), + onItemClick: /* @__PURE__ */ __name(function onItemClick2(event2, processedItem) { + this.getItemProp(processedItem, "command", { + originalEvent: event2, + item: processedItem.item + }); + this.$emit("item-click", { + originalEvent: event2, + processedItem, + isFocus: true + }); + }, "onItemClick"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter2(event2, processedItem) { + this.$emit("item-mouseenter", { + originalEvent: event2, + processedItem + }); + }, "onItemMouseEnter"), + getAriaSetSize: /* @__PURE__ */ __name(function getAriaSetSize() { + var _this = this; + return this.items.filter(function(processedItem) { + return _this.isItemVisible(processedItem) && !_this.getItemProp(processedItem, "separator"); + }).length; + }, "getAriaSetSize"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset(index) { + var _this2 = this; + return index - this.items.slice(0, index).filter(function(processedItem) { + return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, "separator"); + }).length + 1; + }, "getAriaPosInset"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps3(processedItem, index) { + return { + action: mergeProps({ + "class": this.cx("itemLink"), + tabindex: -1 + }, this.getPTOptions(processedItem, index, "itemLink")), + icon: mergeProps({ + "class": [this.cx("itemIcon"), this.getItemProp(processedItem, "icon")] + }, this.getPTOptions(processedItem, index, "itemIcon")), + label: mergeProps({ + "class": this.cx("label") + }, this.getPTOptions(processedItem, index, "label")), + submenuicon: mergeProps({ + "class": this.cx("submenuIcon") + }, this.getPTOptions(processedItem, index, "submenuIcon")) + }; + }, "getMenuItemProps") + }, + components: { + AngleRightIcon: script$1q, + AngleDownIcon: script$1H + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$1$4 = ["tabindex"]; +var _hoisted_2$1$3 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-level", "aria-setsize", "aria-posinset", "data-p-active", "data-p-focused", "data-p-disabled"]; +var _hoisted_3$a = ["onClick", "onMouseenter"]; +var _hoisted_4$6 = ["href", "target"]; +var _hoisted_5$2 = ["id"]; +function render$1$5(_ctx, _cache, $props, $setup, $data, $options) { + var _component_MegaMenuSub = resolveComponent("MegaMenuSub", true); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("ul", mergeProps({ + "class": $props.level === 0 ? _ctx.cx("rootList") : _ctx.cx("submenu"), + tabindex: $props.tabindex + }, $props.level === 0 ? _ctx.ptm("rootList") : _ctx.ptm("submenu")), [$props.submenu ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + "class": [_ctx.cx("submenuLabel", { + submenu: $props.submenu + }), $options.getItemProp($props.submenu, "class")], + style: $options.getItemProp($props.submenu, "style"), + role: "presentation" + }, _ctx.ptm("submenuLabel")), toDisplayString($options.getItemLabel($props.submenu)), 17)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function(processedItem, index) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getItemKey(processedItem) + }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $options.getItemId(processedItem), + style: $options.getItemProp(processedItem, "style"), + "class": [_ctx.cx("item", { + processedItem + }), $options.getItemProp(processedItem, "class")], + role: "menuitem", + "aria-label": $options.getItemLabel(processedItem), + "aria-disabled": $options.isItemDisabled(processedItem) || void 0, + "aria-expanded": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : void 0, + "aria-haspopup": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, "to") ? "menu" : void 0, + "aria-level": $props.level + 1, + "aria-setsize": $options.getAriaSetSize(), + "aria-posinset": $options.getAriaPosInset(index), + ref_for: true + }, $options.getPTOptions(processedItem, index, "item"), { + "data-p-active": $options.isItemActive(processedItem), + "data-p-focused": $options.isItemFocused(processedItem), + "data-p-disabled": $options.isItemDisabled(processedItem) + }), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("itemContent"), + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onItemClick($event, processedItem); + }, "onClick"), + onMouseenter: /* @__PURE__ */ __name(function onMouseenter($event) { + return $options.onItemMouseEnter($event, processedItem); + }, "onMouseenter"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemContent")), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock("a", mergeProps({ + key: 0, + href: $options.getItemProp(processedItem, "url"), + "class": _ctx.cx("itemLink"), + target: $options.getItemProp(processedItem, "target"), + tabindex: "-1", + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemLink")), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), { + key: 0, + item: processedItem.item, + "class": normalizeClass(_ctx.cx("itemIcon")) + }, null, 8, ["item", "class"])) : $options.getItemProp(processedItem, "icon") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": [_ctx.cx("itemIcon"), $options.getItemProp(processedItem, "icon")], + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemIcon")), null, 16)) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("itemLabel"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemLabel")), toDisplayString($options.getItemLabel(processedItem)), 17), $options.isItemGroup(processedItem) ? (openBlock(), createElementBlock(Fragment, { + key: 2 + }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), mergeProps({ + key: 0, + active: $options.isItemActive(processedItem), + "class": _ctx.cx("submenuIcon"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["active", "class"])) : (openBlock(), createBlock(resolveDynamicComponent($props.horizontal || $props.mobileActive ? "AngleDownIcon" : "AngleRightIcon"), mergeProps({ + key: 1, + "class": _ctx.cx("submenuIcon"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_4$6)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { + key: 1, + item: processedItem.item, + hasSubmenu: $options.isItemGroup(processedItem), + label: $options.getItemLabel(processedItem), + props: $options.getMenuItemProps(processedItem, index) + }, null, 8, ["item", "hasSubmenu", "label", "props"]))], 16, _hoisted_3$a), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("overlay"), + ref_for: true + }, _ctx.ptm("overlay")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("grid"), + ref_for: true + }, _ctx.ptm("grid")), [(openBlock(true), createElementBlock(Fragment, null, renderList(processedItem.items, function(col) { + return openBlock(), createElementBlock("div", mergeProps({ + key: $options.getItemKey(col), + "class": _ctx.cx("column", { + processedItem + }), + ref_for: true + }, _ctx.ptm("column")), [(openBlock(true), createElementBlock(Fragment, null, renderList(col, function(submenu) { + return openBlock(), createBlock(_component_MegaMenuSub, { + key: $options.getSubListKey(submenu), + id: $options.getSubListId(submenu), + style: normalizeStyle(_ctx.sx("submenu", true, { + processedItem + })), + role: "menu", + menuId: $props.menuId, + focusedItemId: $props.focusedItemId, + submenu, + items: submenu.items, + templates: $props.templates, + level: $props.level + 1, + mobileActive: $props.mobileActive, + pt: _ctx.pt, + unstyled: _ctx.unstyled, + onItemClick: _cache[0] || (_cache[0] = function($event) { + return _ctx.$emit("item-click", $event); + }), + onItemMouseenter: _cache[1] || (_cache[1] = function($event) { + return _ctx.$emit("item-mouseenter", $event); + }) + }, null, 8, ["id", "style", "menuId", "focusedItemId", "submenu", "items", "templates", "level", "mobileActive", "pt", "unstyled"]); + }), 128))], 16); + }), 128))], 16)], 16)) : createCommentVNode("", true)], 16, _hoisted_2$1$3)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 1, + id: $options.getItemId(processedItem), + "class": [_ctx.cx("separator"), $options.getItemProp(processedItem, "class")], + style: $options.getItemProp(processedItem, "style"), + role: "separator", + ref_for: true + }, _ctx.ptm("separator")), null, 16, _hoisted_5$2)) : createCommentVNode("", true)], 64); + }), 128))], 16, _hoisted_1$1$4); +} +__name(render$1$5, "render$1$5"); +script$1$k.render = render$1$5; +var script$y = { + name: "MegaMenu", + "extends": script$2$5, + inheritAttrs: false, + emits: ["focus", "blur"], + outsideClickListener: null, + resizeListener: null, + matchMediaListener: null, + container: null, + menubar: null, + searchTimeout: null, + searchValue: null, + data: /* @__PURE__ */ __name(function data20() { + return { + id: this.$attrs.id, + mobileActive: false, + focused: false, + focusedItemInfo: { + index: -1, + key: "", + parentKey: "" + }, + activeItem: null, + dirty: false, + query: null, + queryMatches: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId5(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + activeItem: /* @__PURE__ */ __name(function activeItem(newItem) { + if (isNotEmpty(newItem)) { + this.bindOutsideClickListener(); + this.bindResizeListener(); + } else { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + } + }, "activeItem") + }, + mounted: /* @__PURE__ */ __name(function mounted21() { + this.id = this.id || UniqueComponentId(); + this.bindMatchMediaListener(); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount8() { + this.mobileActive = false; + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + this.unbindMatchMediaListener(); + }, "beforeUnmount"), + methods: { + getItemProp: /* @__PURE__ */ __name(function getItemProp3(item8, name4) { + return item8 ? resolve(item8[name4]) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel2(item8) { + return this.getItemProp(item8, "label"); + }, "getItemLabel"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled2(item8) { + return this.getItemProp(item8, "disabled"); + }, "isItemDisabled"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible2(item8) { + return this.getItemProp(item8, "visible") !== false; + }, "isItemVisible"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup2(item8) { + return isNotEmpty(this.getItemProp(item8, "items")); + }, "isItemGroup"), + isItemSeparator: /* @__PURE__ */ __name(function isItemSeparator(item8) { + return this.getItemProp(item8, "separator"); + }, "isItemSeparator"), + getProccessedItemLabel: /* @__PURE__ */ __name(function getProccessedItemLabel(processedItem) { + return processedItem ? this.getItemLabel(processedItem.item) : void 0; + }, "getProccessedItemLabel"), + isProccessedItemGroup: /* @__PURE__ */ __name(function isProccessedItemGroup(processedItem) { + return processedItem && isNotEmpty(processedItem.items); + }, "isProccessedItemGroup"), + toggle: /* @__PURE__ */ __name(function toggle2(event2) { + var _this = this; + if (this.mobileActive) { + this.mobileActive = false; + ZIndex.clear(this.menubar); + this.hide(); + } else { + this.mobileActive = true; + ZIndex.set("menu", this.menubar, this.$primevue.config.zIndex.menu); + setTimeout(function() { + _this.show(); + }, 1); + } + this.bindOutsideClickListener(); + event2.preventDefault(); + }, "toggle"), + show: /* @__PURE__ */ __name(function show2() { + this.focusedItemInfo = { + index: this.findFirstFocusedItemIndex(), + level: 0, + parentKey: "" + }; + focus(this.menubar); + }, "show"), + hide: /* @__PURE__ */ __name(function hide3(event2, isFocus) { + var _this2 = this; + if (this.mobileActive) { + this.mobileActive = false; + setTimeout(function() { + focus(_this2.$refs.menubutton, { + preventScroll: true + }); + }, 1); + } + this.activeItem = null; + this.focusedItemInfo = { + index: -1, + key: "", + parentKey: "" + }; + isFocus && focus(this.menubar); + this.dirty = false; + }, "hide"), + onFocus: /* @__PURE__ */ __name(function onFocus8(event2) { + this.focused = true; + if (this.focusedItemInfo.index === -1) { + var index = this.findFirstFocusedItemIndex(); + var processedItem = this.findVisibleItem(index); + this.focusedItemInfo = { + index, + key: processedItem.key, + parentKey: processedItem.parentKey + }; + } + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur8(event2) { + this.focused = false; + this.focusedItemInfo = { + index: -1, + key: "", + parentKey: "" + }; + this.searchValue = ""; + this.dirty = false; + this.$emit("blur", event2); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown8(event2) { + if (this.disabled) { + event2.preventDefault(); + return; + } + var metaKey = event2.metaKey || event2.ctrlKey; + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "ArrowUp": + this.onArrowUpKey(event2); + break; + case "ArrowLeft": + this.onArrowLeftKey(event2); + break; + case "ArrowRight": + this.onArrowRightKey(event2); + break; + case "Home": + this.onHomeKey(event2); + break; + case "End": + this.onEndKey(event2); + break; + case "Space": + this.onSpaceKey(event2); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event2); + break; + case "Escape": + this.onEscapeKey(event2); + break; + case "Tab": + this.onTabKey(event2); + break; + case "PageDown": + case "PageUp": + case "Backspace": + case "ShiftLeft": + case "ShiftRight": + break; + default: + if (!metaKey && isPrintableCharacter(event2.key)) { + this.searchItems(event2, event2.key); + } + break; + } + }, "onKeyDown"), + onItemChange: /* @__PURE__ */ __name(function onItemChange(event2) { + var processedItem = event2.processedItem, isFocus = event2.isFocus; + if (isEmpty(processedItem)) return; + var index = processedItem.index, key = processedItem.key, parentKey = processedItem.parentKey, items2 = processedItem.items; + var grouped = isNotEmpty(items2); + grouped && (this.activeItem = processedItem); + this.focusedItemInfo = { + index, + key, + parentKey + }; + grouped && (this.dirty = true); + isFocus && focus(this.menubar); + }, "onItemChange"), + onItemClick: /* @__PURE__ */ __name(function onItemClick3(event2) { + var originalEvent = event2.originalEvent, processedItem = event2.processedItem; + var grouped = this.isProccessedItemGroup(processedItem); + var root35 = isEmpty(processedItem.parent); + var selected3 = this.isSelected(processedItem); + if (selected3) { + var index = processedItem.index, key = processedItem.key, parentKey = processedItem.parentKey; + this.activeItem = null; + this.focusedItemInfo = { + index, + key, + parentKey + }; + this.dirty = !root35; + if (!this.mobileActive) { + focus(this.menubar, { + preventScroll: true + }); + } + } else { + if (grouped) { + this.onItemChange(event2); + } else { + this.hide(originalEvent); + } + } + }, "onItemClick"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter3(event2) { + if (!this.mobileActive && this.dirty) { + this.onItemChange(event2); + } + }, "onItemMouseEnter"), + menuButtonClick: /* @__PURE__ */ __name(function menuButtonClick(event2) { + this.toggle(event2); + }, "menuButtonClick"), + menuButtonKeydown: /* @__PURE__ */ __name(function menuButtonKeydown(event2) { + (event2.code === "Enter" || event2.code === "NumpadEnter" || event2.code === "Space") && this.menuButtonClick(event2); + }, "menuButtonKeydown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey4(event2) { + if (this.horizontal) { + if (isNotEmpty(this.activeItem) && this.activeItem.key === this.focusedItemInfo.key) { + this.focusedItemInfo = { + index: -1, + key: "", + parentKey: this.activeItem.key + }; + } else { + var processedItem = this.findVisibleItem(this.focusedItemInfo.index); + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + this.onItemChange({ + originalEvent: event2, + processedItem + }); + this.focusedItemInfo = { + index: -1, + key: processedItem.key, + parentKey: processedItem.parentKey + }; + this.searchValue = ""; + } + } + } + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex(); + this.changeFocusedItemInfo(event2, itemIndex); + event2.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey4(event2) { + if (event2.altKey && this.horizontal) { + if (this.focusedItemInfo.index !== -1) { + var processedItem = this.findVisibleItem(this.focusedItemInfo.index); + var grouped = this.isProccessedItemGroup(processedItem); + if (!grouped && isNotEmpty(this.activeItem)) { + if (this.focusedItemInfo.index === 0) { + this.focusedItemInfo = { + index: this.activeItem.index, + key: this.activeItem.key, + parentKey: this.activeItem.parentKey + }; + this.activeItem = null; + } else { + this.changeFocusedItemInfo(event2, this.findFirstItemIndex()); + } + } + } + event2.preventDefault(); + } else { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex(); + this.changeFocusedItemInfo(event2, itemIndex); + event2.preventDefault(); + } + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey2(event2) { + var processedItem = this.findVisibleItem(this.focusedItemInfo.index); + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + if (this.horizontal) { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex(); + this.changeFocusedItemInfo(event2, itemIndex); + } + } else { + if (this.vertical && isNotEmpty(this.activeItem)) { + if (processedItem.columnIndex === 0) { + this.focusedItemInfo = { + index: this.activeItem.index, + key: this.activeItem.key, + parentKey: this.activeItem.parentKey + }; + this.activeItem = null; + } + } + var columnIndex = processedItem.columnIndex - 1; + var _itemIndex = this.visibleItems.findIndex(function(item8) { + return item8.columnIndex === columnIndex; + }); + _itemIndex !== -1 && this.changeFocusedItemInfo(event2, _itemIndex); + } + event2.preventDefault(); + }, "onArrowLeftKey"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey2(event2) { + var processedItem = this.findVisibleItem(this.focusedItemInfo.index); + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + if (this.vertical) { + if (isNotEmpty(this.activeItem) && this.activeItem.key === processedItem.key) { + this.focusedItemInfo = { + index: -1, + key: "", + parentKey: this.activeItem.key + }; + } else { + var _processedItem = this.findVisibleItem(this.focusedItemInfo.index); + var _grouped = this.isProccessedItemGroup(_processedItem); + if (_grouped) { + this.onItemChange({ + originalEvent: event2, + processedItem: _processedItem + }); + this.focusedItemInfo = { + index: -1, + key: _processedItem.key, + parentKey: _processedItem.parentKey + }; + this.searchValue = ""; + } + } + } + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex(); + this.changeFocusedItemInfo(event2, itemIndex); + } else { + var columnIndex = processedItem.columnIndex + 1; + var _itemIndex2 = this.visibleItems.findIndex(function(item8) { + return item8.columnIndex === columnIndex; + }); + _itemIndex2 !== -1 && this.changeFocusedItemInfo(event2, _itemIndex2); + } + event2.preventDefault(); + }, "onArrowRightKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey4(event2) { + this.changeFocusedItemInfo(event2, this.findFirstItemIndex()); + event2.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey4(event2) { + this.changeFocusedItemInfo(event2, this.findLastItemIndex()); + event2.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey3(event2) { + if (this.focusedItemInfo.index !== -1) { + var element = findSingle(this.menubar, 'li[id="'.concat("".concat(this.focusedItemId), '"]')); + var anchorElement = element && findSingle(element, 'a[data-pc-section="itemlink"]'); + anchorElement ? anchorElement.click() : element && element.click(); + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && this.changeFocusedItemInfo(event2, this.findFirstFocusedItemIndex()); + } + event2.preventDefault(); + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey3(event2) { + this.onEnterKey(event2); + }, "onSpaceKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey2(event2) { + if (isNotEmpty(this.activeItem)) { + this.focusedItemInfo = { + index: this.activeItem.index, + key: this.activeItem.key + }; + this.activeItem = null; + } + event2.preventDefault(); + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey2(event2) { + if (this.focusedItemInfo.index !== -1) { + var processedItem = this.findVisibleItem(this.focusedItemInfo.index); + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && this.onItemChange({ + originalEvent: event2, + processedItem + }); + } + this.hide(); + }, "onTabKey"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener4() { + var _this3 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event2) { + var isOutsideContainer = _this3.container && !_this3.container.contains(event2.target); + var isOutsideTarget = !(_this3.target && (_this3.target === event2.target || _this3.target.contains(event2.target))); + if (isOutsideContainer && isOutsideTarget) { + _this3.hide(); + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener4() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener3() { + var _this4 = this; + if (!this.resizeListener) { + this.resizeListener = function(event2) { + if (!isTouchDevice()) { + _this4.hide(event2, true); + } + _this4.mobileActive = false; + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener3() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + bindMatchMediaListener: /* @__PURE__ */ __name(function bindMatchMediaListener4() { + var _this5 = this; + if (!this.matchMediaListener) { + var query = matchMedia("(max-width: ".concat(this.breakpoint, ")")); + this.query = query; + this.queryMatches = query.matches; + this.matchMediaListener = function() { + _this5.queryMatches = query.matches; + _this5.mobileActive = false; + }; + this.query.addEventListener("change", this.matchMediaListener); + } + }, "bindMatchMediaListener"), + unbindMatchMediaListener: /* @__PURE__ */ __name(function unbindMatchMediaListener4() { + if (this.matchMediaListener) { + this.query.removeEventListener("change", this.matchMediaListener); + this.matchMediaListener = null; + } + }, "unbindMatchMediaListener"), + isItemMatched: /* @__PURE__ */ __name(function isItemMatched(processedItem) { + var _this$getProccessedIt; + return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())); + }, "isItemMatched"), + isValidItem: /* @__PURE__ */ __name(function isValidItem(processedItem) { + return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item); + }, "isValidItem"), + isValidSelectedItem: /* @__PURE__ */ __name(function isValidSelectedItem(processedItem) { + return this.isValidItem(processedItem) && this.isSelected(processedItem); + }, "isValidSelectedItem"), + isSelected: /* @__PURE__ */ __name(function isSelected3(processedItem) { + return isNotEmpty(this.activeItem) ? this.activeItem.key === processedItem.key : false; + }, "isSelected"), + findFirstItemIndex: /* @__PURE__ */ __name(function findFirstItemIndex() { + var _this6 = this; + return this.visibleItems.findIndex(function(processedItem) { + return _this6.isValidItem(processedItem); + }); + }, "findFirstItemIndex"), + findLastItemIndex: /* @__PURE__ */ __name(function findLastItemIndex() { + var _this7 = this; + return findLastIndex(this.visibleItems, function(processedItem) { + return _this7.isValidItem(processedItem); + }); + }, "findLastItemIndex"), + findNextItemIndex: /* @__PURE__ */ __name(function findNextItemIndex(index) { + var _this8 = this; + var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function(processedItem) { + return _this8.isValidItem(processedItem); + }) : -1; + return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index; + }, "findNextItemIndex"), + findPrevItemIndex: /* @__PURE__ */ __name(function findPrevItemIndex(index) { + var _this9 = this; + var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function(processedItem) { + return _this9.isValidItem(processedItem); + }) : -1; + return matchedItemIndex > -1 ? matchedItemIndex : index; + }, "findPrevItemIndex"), + findSelectedItemIndex: /* @__PURE__ */ __name(function findSelectedItemIndex() { + var _this10 = this; + return this.visibleItems.findIndex(function(processedItem) { + return _this10.isValidSelectedItem(processedItem); + }); + }, "findSelectedItemIndex"), + findFirstFocusedItemIndex: /* @__PURE__ */ __name(function findFirstFocusedItemIndex() { + var selectedIndex = this.findSelectedItemIndex(); + return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex; + }, "findFirstFocusedItemIndex"), + findLastFocusedItemIndex: /* @__PURE__ */ __name(function findLastFocusedItemIndex() { + var selectedIndex = this.findSelectedItemIndex(); + return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex; + }, "findLastFocusedItemIndex"), + findVisibleItem: /* @__PURE__ */ __name(function findVisibleItem(index) { + return isNotEmpty(this.visibleItems) ? this.visibleItems[index] : null; + }, "findVisibleItem"), + searchItems: /* @__PURE__ */ __name(function searchItems(event2, _char) { + var _this11 = this; + this.searchValue = (this.searchValue || "") + _char; + var itemIndex = -1; + var matched = false; + if (this.focusedItemInfo.index !== -1) { + itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function(processedItem) { + return _this11.isItemMatched(processedItem); + }); + itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function(processedItem) { + return _this11.isItemMatched(processedItem); + }) : itemIndex + this.focusedItemInfo.index; + } else { + itemIndex = this.visibleItems.findIndex(function(processedItem) { + return _this11.isItemMatched(processedItem); + }); + } + if (itemIndex !== -1) { + matched = true; + } + if (itemIndex === -1 && this.focusedItemInfo.index === -1) { + itemIndex = this.findFirstFocusedItemIndex(); + } + if (itemIndex !== -1) { + this.changeFocusedItemInfo(event2, itemIndex); + } + if (this.searchTimeout) { + clearTimeout(this.searchTimeout); + } + this.searchTimeout = setTimeout(function() { + _this11.searchValue = ""; + _this11.searchTimeout = null; + }, 500); + return matched; + }, "searchItems"), + changeFocusedItemInfo: /* @__PURE__ */ __name(function changeFocusedItemInfo(event2, index) { + var processedItem = this.findVisibleItem(index); + this.focusedItemInfo.index = index; + this.focusedItemInfo.key = isNotEmpty(processedItem) ? processedItem.key : ""; + this.scrollInView(); + }, "changeFocusedItemInfo"), + scrollInView: /* @__PURE__ */ __name(function scrollInView3() { + var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + var id4 = index !== -1 ? "".concat(this.id, "_").concat(index) : this.focusedItemId; + var element; + if (id4 === null && this.queryMatches) { + element = this.$refs.menubutton; + } else { + element = findSingle(this.menubar, 'li[id="'.concat(id4, '"]')); + } + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "nearest", + behavior: "smooth" + }); + } + }, "scrollInView"), + createProcessedItems: /* @__PURE__ */ __name(function createProcessedItems(items2) { + var _this12 = this; + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + var parent = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var parentKey = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ""; + var columnIndex = arguments.length > 4 ? arguments[4] : void 0; + var processedItems3 = []; + items2 && items2.forEach(function(item8, index) { + var key = (parentKey !== "" ? parentKey + "_" : "") + (columnIndex !== void 0 ? columnIndex + "_" : "") + index; + var newItem = { + item: item8, + index, + level, + key, + parent, + parentKey, + columnIndex: columnIndex !== void 0 ? columnIndex : parent.columnIndex !== void 0 ? parent.columnIndex : index + }; + newItem["items"] = level === 0 && item8.items && item8.items.length > 0 ? item8.items.map(function(_items, _index) { + return _this12.createProcessedItems(_items, level + 1, newItem, key, _index); + }) : _this12.createProcessedItems(item8.items, level + 1, newItem, key); + processedItems3.push(newItem); + }); + return processedItems3; + }, "createProcessedItems"), + containerRef: /* @__PURE__ */ __name(function containerRef3(el) { + this.container = el; + }, "containerRef"), + menubarRef: /* @__PURE__ */ __name(function menubarRef(el) { + this.menubar = el ? el.$el : void 0; + }, "menubarRef") + }, + computed: { + processedItems: /* @__PURE__ */ __name(function processedItems() { + return this.createProcessedItems(this.model || []); + }, "processedItems"), + visibleItems: /* @__PURE__ */ __name(function visibleItems() { + var processedItem = isNotEmpty(this.activeItem) ? this.activeItem : null; + return processedItem && processedItem.key === this.focusedItemInfo.parentKey ? processedItem.items.reduce(function(items2, col) { + col.forEach(function(submenu) { + submenu.items.forEach(function(a) { + items2.push(a); + }); + }); + return items2; + }, []) : this.processedItems; + }, "visibleItems"), + horizontal: /* @__PURE__ */ __name(function horizontal() { + return this.orientation === "horizontal"; + }, "horizontal"), + vertical: /* @__PURE__ */ __name(function vertical() { + return this.orientation === "vertical"; + }, "vertical"), + focusedItemId: /* @__PURE__ */ __name(function focusedItemId() { + return isNotEmpty(this.focusedItemInfo.key) ? "".concat(this.id, "_").concat(this.focusedItemInfo.key) : null; + }, "focusedItemId") + }, + components: { + MegaMenuSub: script$1$k, + BarsIcon: script$1I + } +}; +var _hoisted_1$i = ["id"]; +var _hoisted_2$d = ["aria-haspopup", "aria-expanded", "aria-controls", "aria-label"]; +function render$u(_ctx, _cache, $props, $setup, $data, $options) { + var _component_BarsIcon = resolveComponent("BarsIcon"); + var _component_MegaMenuSub = resolveComponent("MegaMenuSub"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: $options.containerRef, + id: $data.id, + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [_ctx.$slots.start ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("start") + }, _ctx.ptm("start")), [renderSlot(_ctx.$slots, "start")], 16)) : createCommentVNode("", true), renderSlot(_ctx.$slots, _ctx.$slots.button ? "button" : "menubutton", { + id: $data.id, + "class": normalizeClass(_ctx.cx("button")), + toggleCallback: /* @__PURE__ */ __name(function toggleCallback(event2) { + return $options.menuButtonClick(event2); + }, "toggleCallback") + }, function() { + var _ctx$$primevue$config; + return [_ctx.model && _ctx.model.length > 0 ? (openBlock(), createElementBlock("a", mergeProps({ + key: 0, + ref: "menubutton", + role: "button", + tabindex: "0", + "class": _ctx.cx("button"), + "aria-haspopup": _ctx.model.length && _ctx.model.length > 0 ? true : false, + "aria-expanded": $data.mobileActive, + "aria-controls": $data.id, + "aria-label": (_ctx$$primevue$config = _ctx.$primevue.config.locale.aria) === null || _ctx$$primevue$config === void 0 ? void 0 : _ctx$$primevue$config.navigation, + onClick: _cache[0] || (_cache[0] = function($event) { + return $options.menuButtonClick($event); + }), + onKeydown: _cache[1] || (_cache[1] = function($event) { + return $options.menuButtonKeydown($event); + }) + }, _ctx.ptm("button")), [renderSlot(_ctx.$slots, _ctx.$slots.buttonicon ? "buttonicon" : "menubuttonicon", {}, function() { + return [createVNode(_component_BarsIcon, normalizeProps(guardReactiveProps(_ctx.ptm("buttonIcon"))), null, 16)]; + })], 16, _hoisted_2$d)) : createCommentVNode("", true)]; + }), createVNode(_component_MegaMenuSub, { + ref: $options.menubarRef, + id: $data.id + "_list", + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + role: "menubar", + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-disabled": _ctx.disabled || void 0, + "aria-orientation": _ctx.orientation, + "aria-activedescendant": $data.focused ? $options.focusedItemId : void 0, + menuId: $data.id, + focusedItemId: $data.focused ? $options.focusedItemId : void 0, + items: $options.processedItems, + horizontal: $options.horizontal, + templates: _ctx.$slots, + activeItem: $data.activeItem, + mobileActive: $data.mobileActive, + level: 0, + style: normalizeStyle(_ctx.sx("rootList")), + pt: _ctx.pt, + unstyled: _ctx.unstyled, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeydown: $options.onKeyDown, + onItemClick: $options.onItemClick, + onItemMouseenter: $options.onItemMouseEnter + }, null, 8, ["id", "tabindex", "aria-label", "aria-labelledby", "aria-disabled", "aria-orientation", "aria-activedescendant", "menuId", "focusedItemId", "items", "horizontal", "templates", "activeItem", "mobileActive", "style", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter"]), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("end") + }, _ctx.ptm("end")), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$i); +} +__name(render$u, "render$u"); +script$y.render = render$u; +var theme$i = /* @__PURE__ */ __name(function theme22(_ref) { + var dt = _ref.dt; + return "\n.p-menu {\n background: ".concat(dt("menu.background"), ";\n color: ").concat(dt("menu.color"), ";\n border: 1px solid ").concat(dt("menu.border.color"), ";\n border-radius: ").concat(dt("menu.border.radius"), ";\n min-width: 12.5rem;\n}\n\n.p-menu-list {\n margin: 0;\n padding: ").concat(dt("menu.list.padding"), ";\n outline: 0 none;\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("menu.list.gap"), ";\n}\n\n.p-menu-item-content {\n transition: background ").concat(dt("menu.transition.duration"), ", color ").concat(dt("menu.transition.duration"), ";\n border-radius: ").concat(dt("menu.item.border.radius"), ";\n color: ").concat(dt("menu.item.color"), ";\n}\n\n.p-menu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("menu.item.padding"), ";\n gap: ").concat(dt("menu.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-menu-item-label {\n line-height: 1;\n}\n\n.p-menu-item-icon {\n color: ").concat(dt("menu.item.icon.color"), ";\n}\n\n.p-menu-item.p-focus .p-menu-item-content {\n color: ").concat(dt("menu.item.focus.color"), ";\n background: ").concat(dt("menu.item.focus.background"), ";\n}\n\n.p-menu-item.p-focus .p-menu-item-icon {\n color: ").concat(dt("menu.item.icon.focus.color"), ";\n}\n\n.p-menu-item:not(.p-disabled) .p-menu-item-content:hover {\n color: ").concat(dt("menu.item.focus.color"), ";\n background: ").concat(dt("menu.item.focus.background"), ";\n}\n\n.p-menu-item:not(.p-disabled) .p-menu-item-content:hover .p-menu-item-icon {\n color: ").concat(dt("menu.item.icon.focus.color"), ";\n}\n\n.p-menu-overlay {\n box-shadow: ").concat(dt("menu.shadow"), ";\n}\n\n.p-menu-submenu-label {\n background: ").concat(dt("menu.submenu.label.background"), ";\n padding: ").concat(dt("menu.submenu.label.padding"), ";\n color: ").concat(dt("menu.submenu.label.color"), ";\n font-weight: ").concat(dt("menu.submenu.label.font.weight"), ";\n}\n\n.p-menu-separator {\n border-block-start: 1px solid ").concat(dt("menu.separator.border.color"), ";\n}\n"); +}, "theme"); +var classes$j = { + root: /* @__PURE__ */ __name(function root18(_ref2) { + var props = _ref2.props; + return ["p-menu p-component", { + "p-menu-overlay": props.popup + }]; + }, "root"), + start: "p-menu-start", + list: "p-menu-list", + submenuLabel: "p-menu-submenu-label", + separator: "p-menu-separator", + end: "p-menu-end", + item: /* @__PURE__ */ __name(function item4(_ref3) { + var instance = _ref3.instance; + return ["p-menu-item", { + "p-focus": instance.id === instance.focusedOptionId, + "p-disabled": instance.disabled() + }]; + }, "item"), + itemContent: "p-menu-item-content", + itemLink: "p-menu-item-link", + itemIcon: "p-menu-item-icon", + itemLabel: "p-menu-item-label" +}; +var MenuStyle = BaseStyle.extend({ + name: "menu", + theme: theme$i, + classes: classes$j +}); +var script$2$4 = { + name: "BaseMenu", + "extends": script$1d, + props: { + popup: { + type: Boolean, + "default": false + }, + model: { + type: Array, + "default": null + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + autoZIndex: { + type: Boolean, + "default": true + }, + baseZIndex: { + type: Number, + "default": 0 + }, + tabindex: { + type: Number, + "default": 0 + }, + ariaLabel: { + type: String, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + } + }, + style: MenuStyle, + provide: /* @__PURE__ */ __name(function provide32() { + return { + $pcMenu: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$j = { + name: "Menuitem", + hostName: "Menu", + "extends": script$1d, + inheritAttrs: false, + emits: ["item-click", "item-mousemove"], + props: { + item: null, + templates: null, + id: null, + focusedOptionId: null, + index: null + }, + methods: { + getItemProp: /* @__PURE__ */ __name(function getItemProp4(processedItem, name4) { + return processedItem && processedItem.item ? resolve(processedItem.item[name4]) : void 0; + }, "getItemProp"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions4(key) { + return this.ptm(key, { + context: { + item: this.item, + index: this.index, + focused: this.isItemFocused(), + disabled: this.disabled() + } + }); + }, "getPTOptions"), + isItemFocused: /* @__PURE__ */ __name(function isItemFocused2() { + return this.focusedOptionId === this.id; + }, "isItemFocused"), + onItemClick: /* @__PURE__ */ __name(function onItemClick4(event2) { + var command = this.getItemProp(this.item, "command"); + command && command({ + originalEvent: event2, + item: this.item.item + }); + this.$emit("item-click", { + originalEvent: event2, + item: this.item, + id: this.id + }); + }, "onItemClick"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove(event2) { + this.$emit("item-mousemove", { + originalEvent: event2, + item: this.item, + id: this.id + }); + }, "onItemMouseMove"), + visible: /* @__PURE__ */ __name(function visible2() { + return typeof this.item.visible === "function" ? this.item.visible() : this.item.visible !== false; + }, "visible"), + disabled: /* @__PURE__ */ __name(function disabled3() { + return typeof this.item.disabled === "function" ? this.item.disabled() : this.item.disabled; + }, "disabled"), + label: /* @__PURE__ */ __name(function label4() { + return typeof this.item.label === "function" ? this.item.label() : this.item.label; + }, "label"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps4(item8) { + return { + action: mergeProps({ + "class": this.cx("itemLink"), + tabindex: "-1" + }, this.getPTOptions("itemLink")), + icon: mergeProps({ + "class": [this.cx("itemIcon"), item8.icon] + }, this.getPTOptions("itemIcon")), + label: mergeProps({ + "class": this.cx("itemLabel") + }, this.getPTOptions("itemLabel")) + }; + }, "getMenuItemProps") + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$1$3 = ["id", "aria-label", "aria-disabled", "data-p-focused", "data-p-disabled"]; +var _hoisted_2$1$2 = ["href", "target"]; +function render$1$4(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return $options.visible() ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $props.id, + "class": [_ctx.cx("item"), $props.item["class"]], + role: "menuitem", + style: $props.item.style, + "aria-label": $options.label(), + "aria-disabled": $options.disabled() + }, $options.getPTOptions("item"), { + "data-p-focused": $options.isItemFocused(), + "data-p-disabled": $options.disabled() || false + }), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("itemContent"), + onClick: _cache[0] || (_cache[0] = function($event) { + return $options.onItemClick($event); + }), + onMousemove: _cache[1] || (_cache[1] = function($event) { + return $options.onItemMouseMove($event); + }) + }, $options.getPTOptions("itemContent")), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock("a", mergeProps({ + key: 0, + href: $props.item.url, + "class": _ctx.cx("itemLink"), + target: $props.item.target, + tabindex: "-1" + }, $options.getPTOptions("itemLink")), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), { + key: 0, + item: $props.item, + "class": normalizeClass(_ctx.cx("itemIcon")) + }, null, 8, ["item", "class"])) : $props.item.icon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": [_ctx.cx("itemIcon"), $props.item.icon] + }, $options.getPTOptions("itemIcon")), null, 16)) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("itemLabel") + }, $options.getPTOptions("itemLabel")), toDisplayString($options.label()), 17)], 16, _hoisted_2$1$2)), [[_directive_ripple]]) : $props.templates.item ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { + key: 1, + item: $props.item, + label: $options.label(), + props: $options.getMenuItemProps($props.item) + }, null, 8, ["item", "label", "props"])) : createCommentVNode("", true)], 16)], 16, _hoisted_1$1$3)) : createCommentVNode("", true); +} +__name(render$1$4, "render$1$4"); +script$1$j.render = render$1$4; +function _toConsumableArray$7(r) { + return _arrayWithoutHoles$7(r) || _iterableToArray$7(r) || _unsupportedIterableToArray$8(r) || _nonIterableSpread$7(); +} +__name(_toConsumableArray$7, "_toConsumableArray$7"); +function _nonIterableSpread$7() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$7, "_nonIterableSpread$7"); +function _unsupportedIterableToArray$8(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$8(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$8(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$8, "_unsupportedIterableToArray$8"); +function _iterableToArray$7(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$7, "_iterableToArray$7"); +function _arrayWithoutHoles$7(r) { + if (Array.isArray(r)) return _arrayLikeToArray$8(r); +} +__name(_arrayWithoutHoles$7, "_arrayWithoutHoles$7"); +function _arrayLikeToArray$8(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$8, "_arrayLikeToArray$8"); +var script$x = { + name: "Menu", + "extends": script$2$4, + inheritAttrs: false, + emits: ["show", "hide", "focus", "blur"], + data: /* @__PURE__ */ __name(function data21() { + return { + id: this.$attrs.id, + overlayVisible: false, + focused: false, + focusedOptionIndex: -1, + selectedOptionIndex: -1 + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId6(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId") + }, + target: null, + outsideClickListener: null, + scrollHandler: null, + resizeListener: null, + container: null, + list: null, + mounted: /* @__PURE__ */ __name(function mounted22() { + this.id = this.id || UniqueComponentId(); + if (!this.popup) { + this.bindResizeListener(); + this.bindOutsideClickListener(); + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount9() { + this.unbindResizeListener(); + this.unbindOutsideClickListener(); + if (this.scrollHandler) { + this.scrollHandler.destroy(); + this.scrollHandler = null; + } + this.target = null; + if (this.container && this.autoZIndex) { + ZIndex.clear(this.container); + } + this.container = null; + }, "beforeUnmount"), + methods: { + itemClick: /* @__PURE__ */ __name(function itemClick(event2) { + var item8 = event2.item; + if (this.disabled(item8)) { + return; + } + if (item8.command) { + item8.command(event2); + } + if (this.overlayVisible) this.hide(); + if (!this.popup && this.focusedOptionIndex !== event2.id) { + this.focusedOptionIndex = event2.id; + } + }, "itemClick"), + itemMouseMove: /* @__PURE__ */ __name(function itemMouseMove(event2) { + if (this.focused) { + this.focusedOptionIndex = event2.id; + } + }, "itemMouseMove"), + onListFocus: /* @__PURE__ */ __name(function onListFocus2(event2) { + this.focused = true; + !this.popup && this.changeFocusedOptionIndex(0); + this.$emit("focus", event2); + }, "onListFocus"), + onListBlur: /* @__PURE__ */ __name(function onListBlur2(event2) { + this.focused = false; + this.focusedOptionIndex = -1; + this.$emit("blur", event2); + }, "onListBlur"), + onListKeyDown: /* @__PURE__ */ __name(function onListKeyDown2(event2) { + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "ArrowUp": + this.onArrowUpKey(event2); + break; + case "Home": + this.onHomeKey(event2); + break; + case "End": + this.onEndKey(event2); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event2); + break; + case "Space": + this.onSpaceKey(event2); + break; + case "Escape": + if (this.popup) { + focus(this.target); + this.hide(); + } + case "Tab": + this.overlayVisible && this.hide(); + break; + } + }, "onListKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey5(event2) { + var optionIndex = this.findNextOptionIndex(this.focusedOptionIndex); + this.changeFocusedOptionIndex(optionIndex); + event2.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey5(event2) { + if (event2.altKey && this.popup) { + focus(this.target); + this.hide(); + event2.preventDefault(); + } else { + var optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex); + this.changeFocusedOptionIndex(optionIndex); + event2.preventDefault(); + } + }, "onArrowUpKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey5(event2) { + this.changeFocusedOptionIndex(0); + event2.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey5(event2) { + this.changeFocusedOptionIndex(find(this.container, 'li[data-pc-section="item"][data-p-disabled="false"]').length - 1); + event2.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey4(event2) { + var element = findSingle(this.list, 'li[id="'.concat("".concat(this.focusedOptionIndex), '"]')); + var anchorElement = element && findSingle(element, 'a[data-pc-section="itemlink"]'); + this.popup && focus(this.target); + anchorElement ? anchorElement.click() : element && element.click(); + event2.preventDefault(); + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey4(event2) { + this.onEnterKey(event2); + }, "onSpaceKey"), + findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex3(index) { + var links = find(this.container, 'li[data-pc-section="item"][data-p-disabled="false"]'); + var matchedOptionIndex = _toConsumableArray$7(links).findIndex(function(link) { + return link.id === index; + }); + return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0; + }, "findNextOptionIndex"), + findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex3(index) { + var links = find(this.container, 'li[data-pc-section="item"][data-p-disabled="false"]'); + var matchedOptionIndex = _toConsumableArray$7(links).findIndex(function(link) { + return link.id === index; + }); + return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0; + }, "findPrevOptionIndex"), + changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex3(index) { + var links = find(this.container, 'li[data-pc-section="item"][data-p-disabled="false"]'); + var order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index; + order > -1 && (this.focusedOptionIndex = links[order].getAttribute("id")); + }, "changeFocusedOptionIndex"), + toggle: /* @__PURE__ */ __name(function toggle3(event2) { + if (this.overlayVisible) this.hide(); + else this.show(event2); + }, "toggle"), + show: /* @__PURE__ */ __name(function show3(event2) { + this.overlayVisible = true; + this.target = event2.currentTarget; + }, "show"), + hide: /* @__PURE__ */ __name(function hide4() { + this.overlayVisible = false; + this.target = null; + }, "hide"), + onEnter: /* @__PURE__ */ __name(function onEnter3(el) { + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + this.alignOverlay(); + this.bindOutsideClickListener(); + this.bindResizeListener(); + this.bindScrollListener(); + if (this.autoZIndex) { + ZIndex.set("menu", el, this.baseZIndex + this.$primevue.config.zIndex.menu); + } + if (this.popup) { + focus(this.list); + } + this.$emit("show"); + }, "onEnter"), + onLeave: /* @__PURE__ */ __name(function onLeave3() { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + this.unbindScrollListener(); + this.$emit("hide"); + }, "onLeave"), + onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave3(el) { + if (this.autoZIndex) { + ZIndex.clear(el); + } + }, "onAfterLeave"), + alignOverlay: /* @__PURE__ */ __name(function alignOverlay3() { + absolutePosition(this.container, this.target); + var targetWidth = getOuterWidth(this.target); + if (targetWidth > getOuterWidth(this.container)) { + this.container.style.minWidth = getOuterWidth(this.target) + "px"; + } + }, "alignOverlay"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener5() { + var _this = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event2) { + var isOutsideContainer = _this.container && !_this.container.contains(event2.target); + var isOutsideTarget = !(_this.target && (_this.target === event2.target || _this.target.contains(event2.target))); + if (_this.overlayVisible && isOutsideContainer && isOutsideTarget) { + _this.hide(); + } else if (!_this.popup && isOutsideContainer && isOutsideTarget) { + _this.focusedOptionIndex = -1; + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener5() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener4() { + var _this2 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, function() { + if (_this2.overlayVisible) { + _this2.hide(); + } + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener4() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener4() { + var _this3 = this; + if (!this.resizeListener) { + this.resizeListener = function() { + if (_this3.overlayVisible && !isTouchDevice()) { + _this3.hide(); + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener4() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + visible: /* @__PURE__ */ __name(function visible3(item8) { + return typeof item8.visible === "function" ? item8.visible() : item8.visible !== false; + }, "visible"), + disabled: /* @__PURE__ */ __name(function disabled4(item8) { + return typeof item8.disabled === "function" ? item8.disabled() : item8.disabled; + }, "disabled"), + label: /* @__PURE__ */ __name(function label5(item8) { + return typeof item8.label === "function" ? item8.label() : item8.label; + }, "label"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick3(event2) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event2, + target: this.target + }); + }, "onOverlayClick"), + containerRef: /* @__PURE__ */ __name(function containerRef4(el) { + this.container = el; + }, "containerRef"), + listRef: /* @__PURE__ */ __name(function listRef(el) { + this.list = el; + }, "listRef") + }, + computed: { + focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId4() { + return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null; + }, "focusedOptionId") + }, + components: { + PVMenuitem: script$1$j, + Portal: script$1f + } +}; +var _hoisted_1$h = ["id"]; +var _hoisted_2$c = ["id", "tabindex", "aria-activedescendant", "aria-label", "aria-labelledby"]; +var _hoisted_3$9 = ["id"]; +function render$t(_ctx, _cache, $props, $setup, $data, $options) { + var _component_PVMenuitem = resolveComponent("PVMenuitem"); + var _component_Portal = resolveComponent("Portal"); + return openBlock(), createBlock(_component_Portal, { + appendTo: _ctx.appendTo, + disabled: !_ctx.popup + }, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: $options.onEnter, + onLeave: $options.onLeave, + onAfterLeave: $options.onAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [(_ctx.popup ? $data.overlayVisible : true) ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.containerRef, + id: $data.id, + "class": _ctx.cx("root"), + onClick: _cache[3] || (_cache[3] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [_ctx.$slots.start ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("start") + }, _ctx.ptm("start")), [renderSlot(_ctx.$slots, "start")], 16)) : createCommentVNode("", true), createBaseVNode("ul", mergeProps({ + ref: $options.listRef, + id: $data.id + "_list", + "class": _ctx.cx("list"), + role: "menu", + tabindex: _ctx.tabindex, + "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + onFocus: _cache[0] || (_cache[0] = function() { + return $options.onListFocus && $options.onListFocus.apply($options, arguments); + }), + onBlur: _cache[1] || (_cache[1] = function() { + return $options.onListBlur && $options.onListBlur.apply($options, arguments); + }), + onKeydown: _cache[2] || (_cache[2] = function() { + return $options.onListKeyDown && $options.onListKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.model, function(item8, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.label(item8) + i.toString() + }, [item8.items && $options.visible(item8) && !item8.separator ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [item8.items ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $data.id + "_" + i, + "class": [_ctx.cx("submenuLabel"), item8["class"]], + role: "none", + ref_for: true + }, _ctx.ptm("submenuLabel")), [renderSlot(_ctx.$slots, _ctx.$slots.submenulabel ? "submenulabel" : "submenuheader", { + item: item8 + }, function() { + return [createTextVNode(toDisplayString($options.label(item8)), 1)]; + })], 16, _hoisted_3$9)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(item8.items, function(child, j) { + return openBlock(), createElementBlock(Fragment, { + key: child.label + i + "_" + j + }, [$options.visible(child) && !child.separator ? (openBlock(), createBlock(_component_PVMenuitem, { + key: 0, + id: $data.id + "_" + i + "_" + j, + item: child, + templates: _ctx.$slots, + focusedOptionId: $options.focusedOptionId, + unstyled: _ctx.unstyled, + onItemClick: $options.itemClick, + onItemMousemove: $options.itemMouseMove, + pt: _ctx.pt + }, null, 8, ["id", "item", "templates", "focusedOptionId", "unstyled", "onItemClick", "onItemMousemove", "pt"])) : $options.visible(child) && child.separator ? (openBlock(), createElementBlock("li", mergeProps({ + key: "separator" + i + j, + "class": [_ctx.cx("separator"), item8["class"]], + style: child.style, + role: "separator", + ref_for: true + }, _ctx.ptm("separator")), null, 16)) : createCommentVNode("", true)], 64); + }), 128))], 64)) : $options.visible(item8) && item8.separator ? (openBlock(), createElementBlock("li", mergeProps({ + key: "separator" + i.toString(), + "class": [_ctx.cx("separator"), item8["class"]], + style: item8.style, + role: "separator", + ref_for: true + }, _ctx.ptm("separator")), null, 16)) : (openBlock(), createBlock(_component_PVMenuitem, { + key: $options.label(item8) + i.toString(), + id: $data.id + "_" + i, + item: item8, + index: i, + templates: _ctx.$slots, + focusedOptionId: $options.focusedOptionId, + unstyled: _ctx.unstyled, + onItemClick: $options.itemClick, + onItemMousemove: $options.itemMouseMove, + pt: _ctx.pt + }, null, 8, ["id", "item", "index", "templates", "focusedOptionId", "unstyled", "onItemClick", "onItemMousemove", "pt"]))], 64); + }), 128))], 16, _hoisted_2$c), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("end") + }, _ctx.ptm("end")), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$h)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onLeave", "onAfterLeave"])]; + }), + _: 3 + }, 8, ["appendTo", "disabled"]); +} +__name(render$t, "render$t"); +script$x.render = render$t; +var theme$h = /* @__PURE__ */ __name(function theme23(_ref) { + var dt = _ref.dt; + return "\n.p-metergroup {\n display: flex;\n gap: ".concat(dt("metergroup.gap"), ";\n}\n\n.p-metergroup-meters {\n display: flex;\n background: ").concat(dt("metergroup.meters.background"), ";\n border-radius: ").concat(dt("metergroup.border.radius"), ";\n}\n\n.p-metergroup-label-list {\n display: flex;\n flex-wrap: wrap;\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n\n.p-metergroup-label {\n display: inline-flex;\n align-items: center;\n gap: ").concat(dt("metergroup.label.gap"), ";\n}\n\n.p-metergroup-label-marker {\n display: inline-flex;\n width: ").concat(dt("metergroup.label.marker.size"), ";\n height: ").concat(dt("metergroup.label.marker.size"), ";\n border-radius: 100%;\n}\n\n.p-metergroup-label-icon {\n font-size: ").concat(dt("metergroup.label.icon.size"), ";\n width: ").concat(dt("metergroup.label.icon.size"), ";\n height: ").concat(dt("metergroup.label.icon.size"), ";\n}\n\n.p-metergroup-horizontal {\n flex-direction: column;\n}\n\n.p-metergroup-label-list-horizontal {\n gap: ").concat(dt("metergroup.label.list.horizontal.gap"), ";\n}\n\n.p-metergroup-horizontal .p-metergroup-meters {\n height: ").concat(dt("metergroup.meters.size"), ";\n}\n\n.p-metergroup-horizontal .p-metergroup-meter:first-of-type {\n border-start-start-radius: ").concat(dt("metergroup.border.radius"), ";\n border-end-start-radius: ").concat(dt("metergroup.border.radius"), ";\n}\n\n.p-metergroup-horizontal .p-metergroup-meter:last-of-type {\n border-start-end-radius: ").concat(dt("metergroup.border.radius"), ";\n border-end-end-radius: ").concat(dt("metergroup.border.radius"), ";\n}\n\n.p-metergroup-vertical {\n flex-direction: row;\n}\n\n.p-metergroup-label-list-vertical {\n flex-direction: column;\n gap: ").concat(dt("metergroup.label.list.vertical.gap"), ";\n}\n\n.p-metergroup-vertical .p-metergroup-meters {\n flex-direction: column;\n width: ").concat(dt("metergroup.meters.size"), ";\n height: 100%;\n}\n\n.p-metergroup-vertical .p-metergroup-label-list {\n align-items: flex-start;\n}\n\n.p-metergroup-vertical .p-metergroup-meter:first-of-type {\n border-start-start-radius: ").concat(dt("metergroup.border.radius"), ";\n border-start-end-radius: ").concat(dt("metergroup.border.radius"), ";\n}\n\n.p-metergroup-vertical .p-metergroup-meter:last-of-type {\n border-end-start-radius: ").concat(dt("metergroup.border.radius"), ";\n border-end-end-radius: ").concat(dt("metergroup.border.radius"), ";\n}\n"); +}, "theme"); +var classes$i = { + root: /* @__PURE__ */ __name(function root19(_ref2) { + var props = _ref2.props; + return ["p-metergroup p-component", { + "p-metergroup-horizontal": props.orientation === "horizontal", + "p-metergroup-vertical": props.orientation === "vertical" + }]; + }, "root"), + meters: "p-metergroup-meters", + meter: "p-metergroup-meter", + labelList: /* @__PURE__ */ __name(function labelList(_ref3) { + var props = _ref3.props; + return ["p-metergroup-label-list", { + "p-metergroup-label-list-vertical": props.labelOrientation === "vertical", + "p-metergroup-label-list-horizontal": props.labelOrientation === "horizontal" + }]; + }, "labelList"), + label: "p-metergroup-label", + labelIcon: "p-metergroup-label-icon", + labelMarker: "p-metergroup-label-marker", + labelText: "p-metergroup-label-text" +}; +var MeterGroupStyle = BaseStyle.extend({ + name: "metergroup", + theme: theme$h, + classes: classes$i +}); +var script$2$3 = { + name: "MeterGroup", + "extends": script$1d, + props: { + value: { + type: Array, + "default": null + }, + min: { + type: Number, + "default": 0 + }, + max: { + type: Number, + "default": 100 + }, + orientation: { + type: String, + "default": "horizontal" + }, + labelPosition: { + type: String, + "default": "end" + }, + labelOrientation: { + type: String, + "default": "horizontal" + } + }, + style: MeterGroupStyle, + provide: /* @__PURE__ */ __name(function provide33() { + return { + $pcMeterGroup: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$i = { + name: "MeterGroupLabel", + hostName: "MeterGroup", + "extends": script$1d, + inheritAttrs: false, + props: { + value: { + type: Array, + "default": null + }, + labelPosition: { + type: String, + "default": "end" + }, + labelOrientation: { + type: String, + "default": "horizontal" + } + } +}; +function render$1$3(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("ol", mergeProps({ + "class": _ctx.cx("labelList") + }, _ctx.ptm("labelList")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.value, function(val, index) { + return openBlock(), createElementBlock("li", mergeProps({ + key: index + "_label", + "class": _ctx.cx("label"), + ref_for: true + }, _ctx.ptm("label")), [renderSlot(_ctx.$slots, "icon", { + value: val, + "class": normalizeClass(_ctx.cx("labelIcon")) + }, function() { + return [val.icon ? (openBlock(), createElementBlock("i", mergeProps({ + key: 0, + "class": [val.icon, _ctx.cx("labelIcon")], + style: { + color: val.color + }, + ref_for: true + }, _ctx.ptm("labelIcon")), null, 16)) : (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": _ctx.cx("labelMarker"), + style: { + backgroundColor: val.color + }, + ref_for: true + }, _ctx.ptm("labelMarker")), null, 16))]; + }), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("labelText"), + ref_for: true + }, _ctx.ptm("labelText")), toDisplayString(val.label) + " (" + toDisplayString(_ctx.$parentInstance.percentValue(val.value)) + ")", 17)], 16); + }), 128))], 16); +} +__name(render$1$3, "render$1$3"); +script$1$i.render = render$1$3; +var script$w = { + name: "MeterGroup", + "extends": script$2$3, + inheritAttrs: false, + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions5(key, value2, index) { + return this.ptm(key, { + context: { + value: value2, + index + } + }); + }, "getPTOptions"), + percent: /* @__PURE__ */ __name(function percent() { + var meter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; + var percentOfItem = (meter - this.min) / (this.max - this.min) * 100; + return Math.round(Math.max(0, Math.min(100, percentOfItem))); + }, "percent"), + percentValue: /* @__PURE__ */ __name(function percentValue(meter) { + return this.percent(meter) + "%"; + }, "percentValue"), + meterCalculatedStyles: /* @__PURE__ */ __name(function meterCalculatedStyles(val) { + return { + backgroundColor: val.color, + width: this.orientation === "horizontal" && this.percentValue(val.value), + height: this.orientation === "vertical" && this.percentValue(val.value) + }; + }, "meterCalculatedStyles") + }, + computed: { + totalPercent: /* @__PURE__ */ __name(function totalPercent() { + return this.percent(this.value.reduce(function(total, val) { + return total + val.value; + }, 0)); + }, "totalPercent"), + percentages: /* @__PURE__ */ __name(function percentages() { + var sum = 0; + var sumsArray = []; + this.value.forEach(function(item8) { + sum += item8.value; + sumsArray.push(sum); + }); + return sumsArray; + }, "percentages") + }, + components: { + MeterGroupLabel: script$1$i + } +}; +var _hoisted_1$g = ["aria-valuemin", "aria-valuemax", "aria-valuenow"]; +function render$s(_ctx, _cache, $props, $setup, $data, $options) { + var _component_MeterGroupLabel = resolveComponent("MeterGroupLabel"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + role: "meter", + "aria-valuemin": _ctx.min, + "aria-valuemax": _ctx.max, + "aria-valuenow": $options.totalPercent + }, _ctx.ptmi("root")), [_ctx.labelPosition === "start" ? renderSlot(_ctx.$slots, "label", { + key: 0, + value: _ctx.value, + totalPercent: $options.totalPercent, + percentages: $options.percentages + }, function() { + return [createVNode(_component_MeterGroupLabel, { + value: _ctx.value, + labelPosition: _ctx.labelPosition, + labelOrientation: _ctx.labelOrientation, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["value", "labelPosition", "labelOrientation", "unstyled", "pt"])]; + }) : createCommentVNode("", true), renderSlot(_ctx.$slots, "start", { + value: _ctx.value, + totalPercent: $options.totalPercent, + percentages: $options.percentages + }), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("meters") + }, _ctx.ptm("meters")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.value, function(val, index) { + return renderSlot(_ctx.$slots, "meter", { + key: index, + value: val, + index, + "class": normalizeClass(_ctx.cx("meter")), + orientation: _ctx.orientation, + size: $options.percentValue(val.value), + totalPercent: $options.totalPercent + }, function() { + return [$options.percent(val.value) ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": _ctx.cx("meter"), + style: $options.meterCalculatedStyles(val), + ref_for: true + }, $options.getPTOptions("meter", val, index)), null, 16)) : createCommentVNode("", true)]; + }); + }), 128))], 16), renderSlot(_ctx.$slots, "end", { + value: _ctx.value, + totalPercent: $options.totalPercent, + percentages: $options.percentages + }), _ctx.labelPosition === "end" ? renderSlot(_ctx.$slots, "label", { + key: 1, + value: _ctx.value, + totalPercent: $options.totalPercent, + percentages: $options.percentages + }, function() { + return [createVNode(_component_MeterGroupLabel, { + value: _ctx.value, + labelPosition: _ctx.labelPosition, + labelOrientation: _ctx.labelOrientation, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["value", "labelPosition", "labelOrientation", "unstyled", "pt"])]; + }) : createCommentVNode("", true)], 16, _hoisted_1$g); +} +__name(render$s, "render$s"); +script$w.render = render$s; +var theme$g = /* @__PURE__ */ __name(function theme24(_ref) { + var dt = _ref.dt; + return "\n.p-multiselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ".concat(dt("multiselect.background"), ";\n border: 1px solid ").concat(dt("multiselect.border.color"), ";\n transition: background ").concat(dt("multiselect.transition.duration"), ", color ").concat(dt("multiselect.transition.duration"), ", border-color ").concat(dt("multiselect.transition.duration"), ", outline-color ").concat(dt("multiselect.transition.duration"), ", box-shadow ").concat(dt("multiselect.transition.duration"), ";\n border-radius: ").concat(dt("multiselect.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("multiselect.shadow"), ";\n}\n\n.p-multiselect:not(.p-disabled):hover {\n border-color: ").concat(dt("multiselect.hover.border.color"), ";\n}\n\n.p-multiselect:not(.p-disabled).p-focus {\n border-color: ").concat(dt("multiselect.focus.border.color"), ";\n box-shadow: ").concat(dt("multiselect.focus.ring.shadow"), ";\n outline: ").concat(dt("multiselect.focus.ring.width"), " ").concat(dt("multiselect.focus.ring.style"), " ").concat(dt("multiselect.focus.ring.color"), ";\n outline-offset: ").concat(dt("multiselect.focus.ring.offset"), ";\n}\n\n.p-multiselect.p-variant-filled {\n background: ").concat(dt("multiselect.filled.background"), ";\n}\n\n.p-multiselect.p-variant-filled:not(.p-disabled):hover {\n background: ").concat(dt("multiselect.filled.hover.background"), ";\n}\n\n.p-multiselect.p-variant-filled.p-focus {\n background: ").concat(dt("multiselect.filled.focus.background"), ";\n}\n\n.p-multiselect.p-invalid {\n border-color: ").concat(dt("multiselect.invalid.border.color"), ";\n}\n\n.p-multiselect.p-disabled {\n opacity: 1;\n background: ").concat(dt("multiselect.disabled.background"), ";\n}\n\n.p-multiselect-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ").concat(dt("multiselect.dropdown.color"), ";\n width: ").concat(dt("multiselect.dropdown.width"), ";\n border-start-end-radius: ").concat(dt("multiselect.border.radius"), ";\n border-end-end-radius: ").concat(dt("multiselect.border.radius"), ";\n}\n\n.p-multiselect-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ").concat(dt("multiselect.clear.icon.color"), ";\n inset-inline-end: ").concat(dt("multiselect.dropdown.width"), ";\n}\n\n.p-multiselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n}\n\n.p-multiselect-label {\n display: flex;\n align-items: center;\n gap: calc(").concat(dt("multiselect.padding.y"), " / 2);\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: ").concat(dt("multiselect.padding.y"), " ").concat(dt("multiselect.padding.x"), ";\n color: ").concat(dt("multiselect.color"), ";\n}\n\n.p-multiselect-label.p-placeholder {\n color: ").concat(dt("multiselect.placeholder.color"), ";\n}\n\n.p-multiselect.p-invalid .p-multiselect-label.p-placeholder {\n color: ").concat(dt("multiselect.invalid.placeholder.color"), ";\n}\n\n.p-multiselect.p-disabled .p-multiselect-label {\n color: ").concat(dt("multiselect.disabled.color"), ";\n}\n\n.p-multiselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\n\n.p-multiselect .p-multiselect-overlay {\n min-width: 100%;\n}\n\n.p-multiselect-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ").concat(dt("multiselect.overlay.background"), ";\n color: ").concat(dt("multiselect.overlay.color"), ";\n border: 1px solid ").concat(dt("multiselect.overlay.border.color"), ";\n border-radius: ").concat(dt("multiselect.overlay.border.radius"), ";\n box-shadow: ").concat(dt("multiselect.overlay.shadow"), ";\n}\n\n.p-multiselect-header {\n display: flex;\n align-items: center;\n padding: ").concat(dt("multiselect.list.header.padding"), ";\n}\n\n.p-multiselect-header .p-checkbox {\n margin-inline-end: ").concat(dt("multiselect.option.gap"), ";\n}\n\n.p-multiselect-filter-container {\n flex: 1 1 auto;\n}\n\n.p-multiselect-filter {\n width: 100%;\n}\n\n.p-multiselect-list-container {\n overflow: auto;\n}\n\n.p-multiselect-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: ").concat(dt("multiselect.list.padding"), ";\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("multiselect.list.gap"), ";\n}\n\n.p-multiselect-option {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n gap: ").concat(dt("multiselect.option.gap"), ";\n padding: ").concat(dt("multiselect.option.padding"), ";\n border: 0 none;\n color: ").concat(dt("multiselect.option.color"), ";\n background: transparent;\n transition: background ").concat(dt("multiselect.transition.duration"), ", color ").concat(dt("multiselect.transition.duration"), ", border-color ").concat(dt("multiselect.transition.duration"), ", box-shadow ").concat(dt("multiselect.transition.duration"), ", outline-color ").concat(dt("multiselect.transition.duration"), ";\n border-radius: ").concat(dt("multiselect.option.border.radius"), ";\n}\n\n.p-multiselect-option:not(.p-multiselect-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt("multiselect.option.focus.background"), ";\n color: ").concat(dt("multiselect.option.focus.color"), ";\n}\n\n.p-multiselect-option.p-multiselect-option-selected {\n background: ").concat(dt("multiselect.option.selected.background"), ";\n color: ").concat(dt("multiselect.option.selected.color"), ";\n}\n\n.p-multiselect-option.p-multiselect-option-selected.p-focus {\n background: ").concat(dt("multiselect.option.selected.focus.background"), ";\n color: ").concat(dt("multiselect.option.selected.focus.color"), ";\n}\n\n.p-multiselect-option-group {\n cursor: auto;\n margin: 0;\n padding: ").concat(dt("multiselect.option.group.padding"), ";\n background: ").concat(dt("multiselect.option.group.background"), ";\n color: ").concat(dt("multiselect.option.group.color"), ";\n font-weight: ").concat(dt("multiselect.option.group.font.weight"), ";\n}\n\n.p-multiselect-empty-message {\n padding: ").concat(dt("multiselect.empty.message.padding"), ";\n}\n\n.p-multiselect-label .p-chip {\n padding-block-start: calc(").concat(dt("multiselect.padding.y"), " / 2);\n padding-block-end: calc(").concat(dt("multiselect.padding.y"), " / 2);\n border-radius: ").concat(dt("multiselect.chip.border.radius"), ";\n}\n\n.p-multiselect-label:has(.p-chip) {\n padding: calc(").concat(dt("multiselect.padding.y"), " / 2) calc(").concat(dt("multiselect.padding.x"), " / 2);\n}\n\n.p-multiselect-fluid {\n display: flex;\n width: 100%;\n}\n\n.p-multiselect-sm .p-multiselect-label {\n font-size: ").concat(dt("multiselect.sm.font.size"), ";\n padding-block: ").concat(dt("multiselect.sm.padding.y"), ";\n padding-inline: ").concat(dt("multiselect.sm.padding.x"), ";\n}\n\n.p-multiselect-sm .p-multiselect-dropdown .p-icon {\n font-size: ").concat(dt("multiselect.sm.font.size"), ";\n width: ").concat(dt("multiselect.sm.font.size"), ";\n height: ").concat(dt("multiselect.sm.font.size"), ";\n}\n\n.p-multiselect-lg .p-multiselect-label {\n font-size: ").concat(dt("multiselect.lg.font.size"), ";\n padding-block: ").concat(dt("multiselect.lg.padding.y"), ";\n padding-inline: ").concat(dt("multiselect.lg.padding.x"), ";\n}\n\n.p-multiselect-lg .p-multiselect-dropdown .p-icon {\n font-size: ").concat(dt("multiselect.lg.font.size"), ";\n width: ").concat(dt("multiselect.lg.font.size"), ";\n height: ").concat(dt("multiselect.lg.font.size"), ";\n}\n"); +}, "theme"); +var inlineStyles$5 = { + root: /* @__PURE__ */ __name(function root20(_ref2) { + var props = _ref2.props; + return { + position: props.appendTo === "self" ? "relative" : void 0 + }; + }, "root") +}; +var classes$h = { + root: /* @__PURE__ */ __name(function root21(_ref3) { + var instance = _ref3.instance, props = _ref3.props; + return ["p-multiselect p-component p-inputwrapper", { + "p-multiselect-display-chip": props.display === "chip", + "p-disabled": props.disabled, + "p-invalid": instance.$invalid, + "p-variant-filled": instance.$variant === "filled", + "p-focus": instance.focused, + "p-inputwrapper-filled": instance.$filled, + "p-inputwrapper-focus": instance.focused || instance.overlayVisible, + "p-multiselect-open": instance.overlayVisible, + "p-multiselect-fluid": instance.$fluid, + "p-multiselect-sm p-inputfield-sm": props.size === "small", + "p-multiselect-lg p-inputfield-lg": props.size === "large" + }]; + }, "root"), + labelContainer: "p-multiselect-label-container", + label: /* @__PURE__ */ __name(function label6(_ref4) { + var instance = _ref4.instance, props = _ref4.props; + return ["p-multiselect-label", { + "p-placeholder": instance.label === props.placeholder, + "p-multiselect-label-empty": !props.placeholder && (!props.modelValue || props.modelValue.length === 0) + }]; + }, "label"), + clearIcon: "p-multiselect-clear-icon", + chipItem: "p-multiselect-chip-item", + pcChip: "p-multiselect-chip", + chipIcon: "p-multiselect-chip-icon", + dropdown: "p-multiselect-dropdown", + loadingIcon: "p-multiselect-loading-icon", + dropdownIcon: "p-multiselect-dropdown-icon", + overlay: "p-multiselect-overlay p-component", + header: "p-multiselect-header", + pcFilterContainer: "p-multiselect-filter-container", + pcFilter: "p-multiselect-filter", + listContainer: "p-multiselect-list-container", + list: "p-multiselect-list", + optionGroup: "p-multiselect-option-group", + option: /* @__PURE__ */ __name(function option2(_ref5) { + var instance = _ref5.instance, _option = _ref5.option, index = _ref5.index, getItemOptions = _ref5.getItemOptions, props = _ref5.props; + return ["p-multiselect-option", { + "p-multiselect-option-selected": instance.isSelected(_option) && props.highlightOnSelect, + "p-focus": instance.focusedOptionIndex === instance.getOptionIndex(index, getItemOptions), + "p-disabled": instance.isOptionDisabled(_option) + }]; + }, "option"), + emptyMessage: "p-multiselect-empty-message" +}; +var MultiSelectStyle = BaseStyle.extend({ + name: "multiselect", + theme: theme$g, + classes: classes$h, + inlineStyles: inlineStyles$5 +}); +var script$1$h = { + name: "BaseMultiSelect", + "extends": script$1n, + props: { + options: Array, + optionLabel: null, + optionValue: null, + optionDisabled: null, + optionGroupLabel: null, + optionGroupChildren: null, + scrollHeight: { + type: String, + "default": "14rem" + }, + placeholder: String, + inputId: { + type: String, + "default": null + }, + panelClass: { + type: String, + "default": null + }, + panelStyle: { + type: null, + "default": null + }, + overlayClass: { + type: String, + "default": null + }, + overlayStyle: { + type: null, + "default": null + }, + dataKey: null, + showClear: { + type: Boolean, + "default": false + }, + clearIcon: { + type: String, + "default": void 0 + }, + resetFilterOnClear: { + type: Boolean, + "default": false + }, + filter: Boolean, + filterPlaceholder: String, + filterLocale: String, + filterMatchMode: { + type: String, + "default": "contains" + }, + filterFields: { + type: Array, + "default": null + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + display: { + type: String, + "default": "comma" + }, + selectedItemsLabel: { + type: String, + "default": null + }, + maxSelectedLabels: { + type: Number, + "default": null + }, + selectionLimit: { + type: Number, + "default": null + }, + showToggleAll: { + type: Boolean, + "default": true + }, + loading: { + type: Boolean, + "default": false + }, + checkboxIcon: { + type: String, + "default": void 0 + }, + dropdownIcon: { + type: String, + "default": void 0 + }, + filterIcon: { + type: String, + "default": void 0 + }, + loadingIcon: { + type: String, + "default": void 0 + }, + removeTokenIcon: { + type: String, + "default": void 0 + }, + chipIcon: { + type: String, + "default": void 0 + }, + selectAll: { + type: Boolean, + "default": null + }, + resetFilterOnHide: { + type: Boolean, + "default": false + }, + virtualScrollerOptions: { + type: Object, + "default": null + }, + autoOptionFocus: { + type: Boolean, + "default": false + }, + autoFilterFocus: { + type: Boolean, + "default": false + }, + focusOnHover: { + type: Boolean, + "default": true + }, + highlightOnSelect: { + type: Boolean, + "default": false + }, + filterMessage: { + type: String, + "default": null + }, + selectionMessage: { + type: String, + "default": null + }, + emptySelectionMessage: { + type: String, + "default": null + }, + emptyFilterMessage: { + type: String, + "default": null + }, + emptyMessage: { + type: String, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + }, + ariaLabel: { + type: String, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + } + }, + style: MultiSelectStyle, + provide: /* @__PURE__ */ __name(function provide34() { + return { + $pcMultiSelect: this, + $parentInstance: this + }; + }, "provide") +}; +function _typeof$1$2(o) { + "@babel/helpers - typeof"; + return _typeof$1$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$1$2(o); +} +__name(_typeof$1$2, "_typeof$1$2"); +function ownKeys$d(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$d, "ownKeys$d"); +function _objectSpread$d(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$d(Object(t2), true).forEach(function(r2) { + _defineProperty$1$2(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$d(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$d, "_objectSpread$d"); +function _defineProperty$1$2(e, r, t2) { + return (r = _toPropertyKey$1$2(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$1$2, "_defineProperty$1$2"); +function _toPropertyKey$1$2(t2) { + var i = _toPrimitive$1$2(t2, "string"); + return "symbol" == _typeof$1$2(i) ? i : i + ""; +} +__name(_toPropertyKey$1$2, "_toPropertyKey$1$2"); +function _toPrimitive$1$2(t2, r) { + if ("object" != _typeof$1$2(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$1$2(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$1$2, "_toPrimitive$1$2"); +function _toConsumableArray$6(r) { + return _arrayWithoutHoles$6(r) || _iterableToArray$6(r) || _unsupportedIterableToArray$7(r) || _nonIterableSpread$6(); +} +__name(_toConsumableArray$6, "_toConsumableArray$6"); +function _nonIterableSpread$6() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$6, "_nonIterableSpread$6"); +function _unsupportedIterableToArray$7(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$7(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$7(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$7, "_unsupportedIterableToArray$7"); +function _iterableToArray$6(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$6, "_iterableToArray$6"); +function _arrayWithoutHoles$6(r) { + if (Array.isArray(r)) return _arrayLikeToArray$7(r); +} +__name(_arrayWithoutHoles$6, "_arrayWithoutHoles$6"); +function _arrayLikeToArray$7(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$7, "_arrayLikeToArray$7"); +var script$v = { + name: "MultiSelect", + "extends": script$1$h, + inheritAttrs: false, + emits: ["change", "focus", "blur", "before-show", "before-hide", "show", "hide", "filter", "selectall-change"], + inject: { + $pcFluid: { + "default": null + } + }, + outsideClickListener: null, + scrollHandler: null, + resizeListener: null, + overlay: null, + list: null, + virtualScroller: null, + startRangeIndex: -1, + searchTimeout: null, + searchValue: "", + selectOnFocus: false, + data: /* @__PURE__ */ __name(function data22() { + return { + id: this.$attrs.id, + clicked: false, + focused: false, + focusedOptionIndex: -1, + filterValue: null, + overlayVisible: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId7(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + options: /* @__PURE__ */ __name(function options2() { + this.autoUpdateModel(); + }, "options") + }, + mounted: /* @__PURE__ */ __name(function mounted23() { + this.id = this.id || UniqueComponentId(); + this.autoUpdateModel(); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount10() { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + if (this.scrollHandler) { + this.scrollHandler.destroy(); + this.scrollHandler = null; + } + if (this.overlay) { + ZIndex.clear(this.overlay); + this.overlay = null; + } + }, "beforeUnmount"), + methods: { + getOptionIndex: /* @__PURE__ */ __name(function getOptionIndex(index, fn) { + return this.virtualScrollerDisabled ? index : fn && fn(index)["index"]; + }, "getOptionIndex"), + getOptionLabel: /* @__PURE__ */ __name(function getOptionLabel3(option4) { + return this.optionLabel ? resolveFieldData(option4, this.optionLabel) : option4; + }, "getOptionLabel"), + getOptionValue: /* @__PURE__ */ __name(function getOptionValue3(option4) { + return this.optionValue ? resolveFieldData(option4, this.optionValue) : option4; + }, "getOptionValue"), + getOptionRenderKey: /* @__PURE__ */ __name(function getOptionRenderKey(option4, index) { + return this.dataKey ? resolveFieldData(option4, this.dataKey) : this.getOptionLabel(option4) + "_".concat(index); + }, "getOptionRenderKey"), + getHeaderCheckboxPTOptions: /* @__PURE__ */ __name(function getHeaderCheckboxPTOptions(key) { + return this.ptm(key, { + context: { + selected: this.allSelected + } + }); + }, "getHeaderCheckboxPTOptions"), + getCheckboxPTOptions: /* @__PURE__ */ __name(function getCheckboxPTOptions(option4, itemOptions, index, key) { + return this.ptm(key, { + context: { + selected: this.isSelected(option4), + focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions), + disabled: this.isOptionDisabled(option4) + } + }); + }, "getCheckboxPTOptions"), + isOptionDisabled: /* @__PURE__ */ __name(function isOptionDisabled3(option4) { + if (this.maxSelectionLimitReached && !this.isSelected(option4)) { + return true; + } + return this.optionDisabled ? resolveFieldData(option4, this.optionDisabled) : false; + }, "isOptionDisabled"), + isOptionGroup: /* @__PURE__ */ __name(function isOptionGroup3(option4) { + return this.optionGroupLabel && option4.optionGroup && option4.group; + }, "isOptionGroup"), + getOptionGroupLabel: /* @__PURE__ */ __name(function getOptionGroupLabel3(optionGroup) { + return resolveFieldData(optionGroup, this.optionGroupLabel); + }, "getOptionGroupLabel"), + getOptionGroupChildren: /* @__PURE__ */ __name(function getOptionGroupChildren3(optionGroup) { + return resolveFieldData(optionGroup, this.optionGroupChildren); + }, "getOptionGroupChildren"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset2(index) { + var _this = this; + return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(function(option4) { + return _this.isOptionGroup(option4); + }).length : index) + 1; + }, "getAriaPosInset"), + show: /* @__PURE__ */ __name(function show4(isFocus) { + this.$emit("before-show"); + this.overlayVisible = true; + this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(); + isFocus && focus(this.$refs.focusInput); + }, "show"), + hide: /* @__PURE__ */ __name(function hide5(isFocus) { + var _this2 = this; + var _hide = /* @__PURE__ */ __name(function _hide2() { + _this2.$emit("before-hide"); + _this2.overlayVisible = false; + _this2.clicked = false; + _this2.focusedOptionIndex = -1; + _this2.searchValue = ""; + _this2.resetFilterOnHide && (_this2.filterValue = null); + isFocus && focus(_this2.$refs.focusInput); + }, "_hide"); + setTimeout(function() { + _hide(); + }, 0); + }, "hide"), + onFocus: /* @__PURE__ */ __name(function onFocus9(event2) { + if (this.disabled) { + return; + } + this.focused = true; + if (this.overlayVisible) { + this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(); + this.scrollInView(this.focusedOptionIndex); + } + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur9(event2) { + var _this$formField$onBlu, _this$formField; + this.clicked = false; + this.focused = false; + this.focusedOptionIndex = -1; + this.searchValue = ""; + this.$emit("blur", event2); + (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown9(event2) { + var _this3 = this; + if (this.disabled) { + event2.preventDefault(); + return; + } + var metaKey = event2.metaKey || event2.ctrlKey; + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "ArrowUp": + this.onArrowUpKey(event2); + break; + case "Home": + this.onHomeKey(event2); + break; + case "End": + this.onEndKey(event2); + break; + case "PageDown": + this.onPageDownKey(event2); + break; + case "PageUp": + this.onPageUpKey(event2); + break; + case "Enter": + case "NumpadEnter": + case "Space": + this.onEnterKey(event2); + break; + case "Escape": + this.onEscapeKey(event2); + break; + case "Tab": + this.onTabKey(event2); + break; + case "ShiftLeft": + case "ShiftRight": + this.onShiftKey(event2); + break; + default: + if (event2.code === "KeyA" && metaKey) { + var value2 = this.visibleOptions.filter(function(option4) { + return _this3.isValidOption(option4); + }).map(function(option4) { + return _this3.getOptionValue(option4); + }); + this.updateModel(event2, value2); + event2.preventDefault(); + break; + } + if (!metaKey && isPrintableCharacter(event2.key)) { + !this.overlayVisible && this.show(); + this.searchOptions(event2); + event2.preventDefault(); + } + break; + } + this.clicked = false; + }, "onKeyDown"), + onContainerClick: /* @__PURE__ */ __name(function onContainerClick2(event2) { + if (this.disabled || this.loading) { + return; + } + if (event2.target.tagName === "INPUT" || event2.target.getAttribute("data-pc-section") === "clearicon" || event2.target.closest('[data-pc-section="clearicon"]')) { + return; + } else if (!this.overlay || !this.overlay.contains(event2.target)) { + this.overlayVisible ? this.hide(true) : this.show(true); + } + this.clicked = true; + }, "onContainerClick"), + onClearClick: /* @__PURE__ */ __name(function onClearClick2(event2) { + this.updateModel(event2, null); + this.resetFilterOnClear && (this.filterValue = null); + }, "onClearClick"), + onFirstHiddenFocus: /* @__PURE__ */ __name(function onFirstHiddenFocus(event2) { + var focusableEl = event2.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable="true"])') : this.$refs.focusInput; + focus(focusableEl); + }, "onFirstHiddenFocus"), + onLastHiddenFocus: /* @__PURE__ */ __name(function onLastHiddenFocus(event2) { + var focusableEl = event2.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable="true"])') : this.$refs.focusInput; + focus(focusableEl); + }, "onLastHiddenFocus"), + onOptionSelect: /* @__PURE__ */ __name(function onOptionSelect2(event2, option4) { + var _this4 = this; + var index = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : -1; + var isFocus = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false; + if (this.disabled || this.isOptionDisabled(option4)) { + return; + } + var selected3 = this.isSelected(option4); + var value2 = null; + if (selected3) value2 = this.d_value.filter(function(val) { + return !equals(val, _this4.getOptionValue(option4), _this4.equalityKey); + }); + else value2 = [].concat(_toConsumableArray$6(this.d_value || []), [this.getOptionValue(option4)]); + this.updateModel(event2, value2); + index !== -1 && (this.focusedOptionIndex = index); + isFocus && focus(this.$refs.focusInput); + }, "onOptionSelect"), + onOptionMouseMove: /* @__PURE__ */ __name(function onOptionMouseMove3(event2, index) { + if (this.focusOnHover) { + this.changeFocusedOptionIndex(event2, index); + } + }, "onOptionMouseMove"), + onOptionSelectRange: /* @__PURE__ */ __name(function onOptionSelectRange(event2) { + var _this5 = this; + var start = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1; + var end = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : -1; + start === -1 && (start = this.findNearestSelectedOptionIndex(end, true)); + end === -1 && (end = this.findNearestSelectedOptionIndex(start)); + if (start !== -1 && end !== -1) { + var rangeStart = Math.min(start, end); + var rangeEnd = Math.max(start, end); + var value2 = this.visibleOptions.slice(rangeStart, rangeEnd + 1).filter(function(option4) { + return _this5.isValidOption(option4); + }).map(function(option4) { + return _this5.getOptionValue(option4); + }); + this.updateModel(event2, value2); + } + }, "onOptionSelectRange"), + onFilterChange: /* @__PURE__ */ __name(function onFilterChange(event2) { + var value2 = event2.target.value; + this.filterValue = value2; + this.focusedOptionIndex = -1; + this.$emit("filter", { + originalEvent: event2, + value: value2 + }); + !this.virtualScrollerDisabled && this.virtualScroller.scrollToIndex(0); + }, "onFilterChange"), + onFilterKeyDown: /* @__PURE__ */ __name(function onFilterKeyDown(event2) { + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "ArrowUp": + this.onArrowUpKey(event2, true); + break; + case "ArrowLeft": + case "ArrowRight": + this.onArrowLeftKey(event2, true); + break; + case "Home": + this.onHomeKey(event2, true); + break; + case "End": + this.onEndKey(event2, true); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event2); + break; + case "Escape": + this.onEscapeKey(event2); + break; + case "Tab": + this.onTabKey(event2, true); + break; + } + }, "onFilterKeyDown"), + onFilterBlur: /* @__PURE__ */ __name(function onFilterBlur() { + this.focusedOptionIndex = -1; + }, "onFilterBlur"), + onFilterUpdated: /* @__PURE__ */ __name(function onFilterUpdated() { + if (this.overlayVisible) { + this.alignOverlay(); + } + }, "onFilterUpdated"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick4(event2) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event2, + target: this.$el + }); + }, "onOverlayClick"), + onOverlayKeyDown: /* @__PURE__ */ __name(function onOverlayKeyDown3(event2) { + switch (event2.code) { + case "Escape": + this.onEscapeKey(event2); + break; + } + }, "onOverlayKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey6(event2) { + if (!this.overlayVisible) { + this.show(); + } else { + var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex(); + if (event2.shiftKey) { + this.onOptionSelectRange(event2, this.startRangeIndex, optionIndex); + } + this.changeFocusedOptionIndex(event2, optionIndex); + } + event2.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey6(event2) { + var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + if (event2.altKey && !pressedInInputText) { + if (this.focusedOptionIndex !== -1) { + this.onOptionSelect(event2, this.visibleOptions[this.focusedOptionIndex]); + } + this.overlayVisible && this.hide(); + event2.preventDefault(); + } else { + var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex(); + if (event2.shiftKey) { + this.onOptionSelectRange(event2, optionIndex, this.startRangeIndex); + } + this.changeFocusedOptionIndex(event2, optionIndex); + !this.overlayVisible && this.show(); + event2.preventDefault(); + } + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey3(event2) { + var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + pressedInInputText && (this.focusedOptionIndex = -1); + }, "onArrowLeftKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey6(event2) { + var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + if (pressedInInputText) { + var target = event2.currentTarget; + if (event2.shiftKey) { + target.setSelectionRange(0, event2.target.selectionStart); + } else { + target.setSelectionRange(0, 0); + this.focusedOptionIndex = -1; + } + } else { + var metaKey = event2.metaKey || event2.ctrlKey; + var optionIndex = this.findFirstOptionIndex(); + if (event2.shiftKey && metaKey) { + this.onOptionSelectRange(event2, optionIndex, this.startRangeIndex); + } + this.changeFocusedOptionIndex(event2, optionIndex); + !this.overlayVisible && this.show(); + } + event2.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey6(event2) { + var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + if (pressedInInputText) { + var target = event2.currentTarget; + if (event2.shiftKey) { + target.setSelectionRange(event2.target.selectionStart, target.value.length); + } else { + var len = target.value.length; + target.setSelectionRange(len, len); + this.focusedOptionIndex = -1; + } + } else { + var metaKey = event2.metaKey || event2.ctrlKey; + var optionIndex = this.findLastOptionIndex(); + if (event2.shiftKey && metaKey) { + this.onOptionSelectRange(event2, this.startRangeIndex, optionIndex); + } + this.changeFocusedOptionIndex(event2, optionIndex); + !this.overlayVisible && this.show(); + } + event2.preventDefault(); + }, "onEndKey"), + onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey(event2) { + this.scrollInView(0); + event2.preventDefault(); + }, "onPageUpKey"), + onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey(event2) { + this.scrollInView(this.visibleOptions.length - 1); + event2.preventDefault(); + }, "onPageDownKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey5(event2) { + if (!this.overlayVisible) { + this.focusedOptionIndex = -1; + this.onArrowDownKey(event2); + } else { + if (this.focusedOptionIndex !== -1) { + if (event2.shiftKey) this.onOptionSelectRange(event2, this.focusedOptionIndex); + else this.onOptionSelect(event2, this.visibleOptions[this.focusedOptionIndex]); + } + } + event2.preventDefault(); + }, "onEnterKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey3(event2) { + this.overlayVisible && this.hide(true); + event2.preventDefault(); + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey3(event2) { + var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + if (!pressedInInputText) { + if (this.overlayVisible && this.hasFocusableElements()) { + focus(event2.shiftKey ? this.$refs.lastHiddenFocusableElementOnOverlay : this.$refs.firstHiddenFocusableElementOnOverlay); + event2.preventDefault(); + } else { + if (this.focusedOptionIndex !== -1) { + this.onOptionSelect(event2, this.visibleOptions[this.focusedOptionIndex]); + } + this.overlayVisible && this.hide(this.filter); + } + } + }, "onTabKey"), + onShiftKey: /* @__PURE__ */ __name(function onShiftKey() { + this.startRangeIndex = this.focusedOptionIndex; + }, "onShiftKey"), + onOverlayEnter: /* @__PURE__ */ __name(function onOverlayEnter3(el) { + ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + this.alignOverlay(); + this.scrollInView(); + this.autoFilterFocus && focus(this.$refs.filterInput.$el); + }, "onOverlayEnter"), + onOverlayAfterEnter: /* @__PURE__ */ __name(function onOverlayAfterEnter2() { + this.bindOutsideClickListener(); + this.bindScrollListener(); + this.bindResizeListener(); + this.$emit("show"); + }, "onOverlayAfterEnter"), + onOverlayLeave: /* @__PURE__ */ __name(function onOverlayLeave3() { + this.unbindOutsideClickListener(); + this.unbindScrollListener(); + this.unbindResizeListener(); + this.$emit("hide"); + this.overlay = null; + }, "onOverlayLeave"), + onOverlayAfterLeave: /* @__PURE__ */ __name(function onOverlayAfterLeave3(el) { + ZIndex.clear(el); + }, "onOverlayAfterLeave"), + alignOverlay: /* @__PURE__ */ __name(function alignOverlay4() { + if (this.appendTo === "self") { + relativePosition(this.overlay, this.$el); + } else { + this.overlay.style.minWidth = getOuterWidth(this.$el) + "px"; + absolutePosition(this.overlay, this.$el); + } + }, "alignOverlay"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener6() { + var _this6 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event2) { + if (_this6.overlayVisible && _this6.isOutsideClicked(event2)) { + _this6.hide(); + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener6() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener5() { + var _this7 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function() { + if (_this7.overlayVisible) { + _this7.hide(); + } + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener5() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener5() { + var _this8 = this; + if (!this.resizeListener) { + this.resizeListener = function() { + if (_this8.overlayVisible && !isTouchDevice()) { + _this8.hide(); + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener5() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked3(event2) { + return !(this.$el.isSameNode(event2.target) || this.$el.contains(event2.target) || this.overlay && this.overlay.contains(event2.target)); + }, "isOutsideClicked"), + getLabelByValue: /* @__PURE__ */ __name(function getLabelByValue(value2) { + var _this9 = this; + var options4 = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || []; + var matchedOption = options4.find(function(option4) { + return !_this9.isOptionGroup(option4) && equals(_this9.getOptionValue(option4), value2, _this9.equalityKey); + }); + return matchedOption ? this.getOptionLabel(matchedOption) : null; + }, "getLabelByValue"), + getSelectedItemsLabel: /* @__PURE__ */ __name(function getSelectedItemsLabel() { + var pattern = /{(.*?)}/; + var selectedItemsLabel = this.selectedItemsLabel || this.$primevue.config.locale.selectionMessage; + if (pattern.test(selectedItemsLabel)) { + return selectedItemsLabel.replace(selectedItemsLabel.match(pattern)[0], this.d_value.length + ""); + } + return selectedItemsLabel; + }, "getSelectedItemsLabel"), + onToggleAll: /* @__PURE__ */ __name(function onToggleAll(event2) { + var _this10 = this; + if (this.selectAll !== null) { + this.$emit("selectall-change", { + originalEvent: event2, + checked: !this.allSelected + }); + } else { + var value2 = this.allSelected ? [] : this.visibleOptions.filter(function(option4) { + return _this10.isValidOption(option4); + }).map(function(option4) { + return _this10.getOptionValue(option4); + }); + this.updateModel(event2, value2); + } + }, "onToggleAll"), + removeOption: /* @__PURE__ */ __name(function removeOption(event2, optionValue) { + var _this11 = this; + event2.stopPropagation(); + var value2 = this.d_value.filter(function(val) { + return !equals(val, optionValue, _this11.equalityKey); + }); + this.updateModel(event2, value2); + }, "removeOption"), + clearFilter: /* @__PURE__ */ __name(function clearFilter() { + this.filterValue = null; + }, "clearFilter"), + hasFocusableElements: /* @__PURE__ */ __name(function hasFocusableElements() { + return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable="true"])').length > 0; + }, "hasFocusableElements"), + isOptionMatched: /* @__PURE__ */ __name(function isOptionMatched2(option4) { + var _this$getOptionLabel; + return this.isValidOption(option4) && typeof this.getOptionLabel(option4) === "string" && ((_this$getOptionLabel = this.getOptionLabel(option4)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))); + }, "isOptionMatched"), + isValidOption: /* @__PURE__ */ __name(function isValidOption2(option4) { + return isNotEmpty(option4) && !(this.isOptionDisabled(option4) || this.isOptionGroup(option4)); + }, "isValidOption"), + isValidSelectedOption: /* @__PURE__ */ __name(function isValidSelectedOption2(option4) { + return this.isValidOption(option4) && this.isSelected(option4); + }, "isValidSelectedOption"), + isEquals: /* @__PURE__ */ __name(function isEquals(value1, value2) { + return equals(value1, value2, this.equalityKey); + }, "isEquals"), + isSelected: /* @__PURE__ */ __name(function isSelected4(option4) { + var _this12 = this; + var optionValue = this.getOptionValue(option4); + return (this.d_value || []).some(function(value2) { + return _this12.isEquals(value2, optionValue); + }); + }, "isSelected"), + findFirstOptionIndex: /* @__PURE__ */ __name(function findFirstOptionIndex2() { + var _this13 = this; + return this.visibleOptions.findIndex(function(option4) { + return _this13.isValidOption(option4); + }); + }, "findFirstOptionIndex"), + findLastOptionIndex: /* @__PURE__ */ __name(function findLastOptionIndex2() { + var _this14 = this; + return findLastIndex(this.visibleOptions, function(option4) { + return _this14.isValidOption(option4); + }); + }, "findLastOptionIndex"), + findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex4(index) { + var _this15 = this; + var matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function(option4) { + return _this15.isValidOption(option4); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index; + }, "findNextOptionIndex"), + findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex4(index) { + var _this16 = this; + var matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function(option4) { + return _this16.isValidOption(option4); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex : index; + }, "findPrevOptionIndex"), + findSelectedOptionIndex: /* @__PURE__ */ __name(function findSelectedOptionIndex2() { + var _this17 = this; + if (this.$filled) { + var _loop = /* @__PURE__ */ __name(function _loop2() { + var value2 = _this17.d_value[index]; + var matchedOptionIndex = _this17.visibleOptions.findIndex(function(option4) { + return _this17.isValidSelectedOption(option4) && _this17.isEquals(value2, _this17.getOptionValue(option4)); + }); + if (matchedOptionIndex > -1) return { + v: matchedOptionIndex + }; + }, "_loop"), _ret; + for (var index = this.d_value.length - 1; index >= 0; index--) { + _ret = _loop(); + if (_ret) return _ret.v; + } + } + return -1; + }, "findSelectedOptionIndex"), + findFirstSelectedOptionIndex: /* @__PURE__ */ __name(function findFirstSelectedOptionIndex() { + var _this18 = this; + return this.$filled ? this.visibleOptions.findIndex(function(option4) { + return _this18.isValidSelectedOption(option4); + }) : -1; + }, "findFirstSelectedOptionIndex"), + findLastSelectedOptionIndex: /* @__PURE__ */ __name(function findLastSelectedOptionIndex() { + var _this19 = this; + return this.$filled ? findLastIndex(this.visibleOptions, function(option4) { + return _this19.isValidSelectedOption(option4); + }) : -1; + }, "findLastSelectedOptionIndex"), + findNextSelectedOptionIndex: /* @__PURE__ */ __name(function findNextSelectedOptionIndex(index) { + var _this20 = this; + var matchedOptionIndex = this.$filled && index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function(option4) { + return _this20.isValidSelectedOption(option4); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1; + }, "findNextSelectedOptionIndex"), + findPrevSelectedOptionIndex: /* @__PURE__ */ __name(function findPrevSelectedOptionIndex(index) { + var _this21 = this; + var matchedOptionIndex = this.$filled && index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function(option4) { + return _this21.isValidSelectedOption(option4); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex : -1; + }, "findPrevSelectedOptionIndex"), + findNearestSelectedOptionIndex: /* @__PURE__ */ __name(function findNearestSelectedOptionIndex(index) { + var firstCheckUp = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var matchedOptionIndex = -1; + if (this.$filled) { + if (firstCheckUp) { + matchedOptionIndex = this.findPrevSelectedOptionIndex(index); + matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex; + } else { + matchedOptionIndex = this.findNextSelectedOptionIndex(index); + matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex; + } + } + return matchedOptionIndex > -1 ? matchedOptionIndex : index; + }, "findNearestSelectedOptionIndex"), + findFirstFocusedOptionIndex: /* @__PURE__ */ __name(function findFirstFocusedOptionIndex2() { + var selectedIndex = this.findSelectedOptionIndex(); + return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex; + }, "findFirstFocusedOptionIndex"), + findLastFocusedOptionIndex: /* @__PURE__ */ __name(function findLastFocusedOptionIndex2() { + var selectedIndex = this.findSelectedOptionIndex(); + return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex; + }, "findLastFocusedOptionIndex"), + searchOptions: /* @__PURE__ */ __name(function searchOptions2(event2) { + var _this22 = this; + this.searchValue = (this.searchValue || "") + event2.key; + var optionIndex = -1; + if (isNotEmpty(this.searchValue)) { + if (this.focusedOptionIndex !== -1) { + optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex(function(option4) { + return _this22.isOptionMatched(option4); + }); + optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex(function(option4) { + return _this22.isOptionMatched(option4); + }) : optionIndex + this.focusedOptionIndex; + } else { + optionIndex = this.visibleOptions.findIndex(function(option4) { + return _this22.isOptionMatched(option4); + }); + } + if (optionIndex === -1 && this.focusedOptionIndex === -1) { + optionIndex = this.findFirstFocusedOptionIndex(); + } + if (optionIndex !== -1) { + this.changeFocusedOptionIndex(event2, optionIndex); + } + } + if (this.searchTimeout) { + clearTimeout(this.searchTimeout); + } + this.searchTimeout = setTimeout(function() { + _this22.searchValue = ""; + _this22.searchTimeout = null; + }, 500); + }, "searchOptions"), + changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex4(event2, index) { + if (this.focusedOptionIndex !== index) { + this.focusedOptionIndex = index; + this.scrollInView(); + if (this.selectOnFocus) { + this.onOptionSelect(event2, this.visibleOptions[index]); + } + } + }, "changeFocusedOptionIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView4() { + var _this23 = this; + var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + this.$nextTick(function() { + var id4 = index !== -1 ? "".concat(_this23.id, "_").concat(index) : _this23.focusedOptionId; + var element = findSingle(_this23.list, 'li[id="'.concat(id4, '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "nearest" + }); + } else if (!_this23.virtualScrollerDisabled) { + _this23.virtualScroller && _this23.virtualScroller.scrollToIndex(index !== -1 ? index : _this23.focusedOptionIndex); + } + }); + }, "scrollInView"), + autoUpdateModel: /* @__PURE__ */ __name(function autoUpdateModel2() { + if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) { + this.focusedOptionIndex = this.findFirstFocusedOptionIndex(); + var value2 = this.getOptionValue(this.visibleOptions[this.focusedOptionIndex]); + this.updateModel(null, [value2]); + } + }, "autoUpdateModel"), + updateModel: /* @__PURE__ */ __name(function updateModel6(event2, value2) { + this.writeValue(value2, event2); + this.$emit("change", { + originalEvent: event2, + value: value2 + }); + }, "updateModel"), + flatOptions: /* @__PURE__ */ __name(function flatOptions(options4) { + var _this24 = this; + return (options4 || []).reduce(function(result, option4, index) { + result.push({ + optionGroup: option4, + group: true, + index + }); + var optionGroupChildren = _this24.getOptionGroupChildren(option4); + optionGroupChildren && optionGroupChildren.forEach(function(o) { + return result.push(o); + }); + return result; + }, []); + }, "flatOptions"), + overlayRef: /* @__PURE__ */ __name(function overlayRef3(el) { + this.overlay = el; + }, "overlayRef"), + listRef: /* @__PURE__ */ __name(function listRef2(el, contentRef2) { + this.list = el; + contentRef2 && contentRef2(el); + }, "listRef"), + virtualScrollerRef: /* @__PURE__ */ __name(function virtualScrollerRef(el) { + this.virtualScroller = el; + }, "virtualScrollerRef") + }, + computed: { + visibleOptions: /* @__PURE__ */ __name(function visibleOptions2() { + var _this25 = this; + var options4 = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || []; + if (this.filterValue) { + var filteredOptions = FilterService.filter(options4, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale); + if (this.optionGroupLabel) { + var optionGroups = this.options || []; + var filtered = []; + optionGroups.forEach(function(group) { + var groupChildren = _this25.getOptionGroupChildren(group); + var filteredItems = groupChildren.filter(function(item8) { + return filteredOptions.includes(item8); + }); + if (filteredItems.length > 0) filtered.push(_objectSpread$d(_objectSpread$d({}, group), {}, _defineProperty$1$2({}, typeof _this25.optionGroupChildren === "string" ? _this25.optionGroupChildren : "items", _toConsumableArray$6(filteredItems)))); + }); + return this.flatOptions(filtered); + } + return filteredOptions; + } + return options4; + }, "visibleOptions"), + label: /* @__PURE__ */ __name(function label7() { + var label12; + if (this.d_value && this.d_value.length) { + if (isNotEmpty(this.maxSelectedLabels) && this.d_value.length > this.maxSelectedLabels) { + return this.getSelectedItemsLabel(); + } else { + label12 = ""; + for (var i = 0; i < this.d_value.length; i++) { + if (i !== 0) { + label12 += ", "; + } + label12 += this.getLabelByValue(this.d_value[i]); + } + } + } else { + label12 = this.placeholder; + } + return label12; + }, "label"), + chipSelectedItems: /* @__PURE__ */ __name(function chipSelectedItems() { + return isNotEmpty(this.maxSelectedLabels) && this.d_value && this.d_value.length > this.maxSelectedLabels; + }, "chipSelectedItems"), + allSelected: /* @__PURE__ */ __name(function allSelected() { + var _this26 = this; + return this.selectAll !== null ? this.selectAll : isNotEmpty(this.visibleOptions) && this.visibleOptions.every(function(option4) { + return _this26.isOptionGroup(option4) || _this26.isOptionDisabled(option4) || _this26.isSelected(option4); + }); + }, "allSelected"), + // @deprecated use $filled instead. + hasSelectedOption: /* @__PURE__ */ __name(function hasSelectedOption2() { + return this.$filled; + }, "hasSelectedOption"), + equalityKey: /* @__PURE__ */ __name(function equalityKey2() { + return this.optionValue ? null : this.dataKey; + }, "equalityKey"), + searchFields: /* @__PURE__ */ __name(function searchFields() { + return this.filterFields || [this.optionLabel]; + }, "searchFields"), + maxSelectionLimitReached: /* @__PURE__ */ __name(function maxSelectionLimitReached() { + return this.selectionLimit && this.d_value && this.d_value.length === this.selectionLimit; + }, "maxSelectionLimitReached"), + filterResultMessageText: /* @__PURE__ */ __name(function filterResultMessageText() { + return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll("{0}", this.visibleOptions.length) : this.emptyFilterMessageText; + }, "filterResultMessageText"), + filterMessageText: /* @__PURE__ */ __name(function filterMessageText() { + return this.filterMessage || this.$primevue.config.locale.searchMessage || ""; + }, "filterMessageText"), + emptyFilterMessageText: /* @__PURE__ */ __name(function emptyFilterMessageText() { + return this.emptyFilterMessage || this.$primevue.config.locale.emptySearchMessage || this.$primevue.config.locale.emptyFilterMessage || ""; + }, "emptyFilterMessageText"), + emptyMessageText: /* @__PURE__ */ __name(function emptyMessageText3() { + return this.emptyMessage || this.$primevue.config.locale.emptyMessage || ""; + }, "emptyMessageText"), + selectionMessageText: /* @__PURE__ */ __name(function selectionMessageText2() { + return this.selectionMessage || this.$primevue.config.locale.selectionMessage || ""; + }, "selectionMessageText"), + emptySelectionMessageText: /* @__PURE__ */ __name(function emptySelectionMessageText2() { + return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || ""; + }, "emptySelectionMessageText"), + selectedMessageText: /* @__PURE__ */ __name(function selectedMessageText2() { + return this.$filled ? this.selectionMessageText.replaceAll("{0}", this.d_value.length) : this.emptySelectionMessageText; + }, "selectedMessageText"), + focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId5() { + return this.focusedOptionIndex !== -1 ? "".concat(this.id, "_").concat(this.focusedOptionIndex) : null; + }, "focusedOptionId"), + ariaSetSize: /* @__PURE__ */ __name(function ariaSetSize() { + var _this27 = this; + return this.visibleOptions.filter(function(option4) { + return !_this27.isOptionGroup(option4); + }).length; + }, "ariaSetSize"), + toggleAllAriaLabel: /* @__PURE__ */ __name(function toggleAllAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria[this.allSelected ? "selectAll" : "unselectAll"] : void 0; + }, "toggleAllAriaLabel"), + listAriaLabel: /* @__PURE__ */ __name(function listAriaLabel2() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.listLabel : void 0; + }, "listAriaLabel"), + virtualScrollerDisabled: /* @__PURE__ */ __name(function virtualScrollerDisabled() { + return !this.virtualScrollerOptions; + }, "virtualScrollerDisabled"), + hasFluid: /* @__PURE__ */ __name(function hasFluid() { + return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; + }, "hasFluid"), + isClearIconVisible: /* @__PURE__ */ __name(function isClearIconVisible2() { + return this.showClear && this.d_value != null && isNotEmpty(this.options); + }, "isClearIconVisible") + }, + directives: { + ripple: Ripple + }, + components: { + InputText: script$1o, + Checkbox: script$1J, + VirtualScroller: script$1K, + Portal: script$1f, + Chip: script$1t, + IconField: script$1L, + InputIcon: script$1M, + TimesIcon: script$1g, + SearchIcon: script$1N, + ChevronDownIcon: script$1k, + SpinnerIcon: script$1r, + CheckIcon: script$1D + } +}; +function _typeof$e(o) { + "@babel/helpers - typeof"; + return _typeof$e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$e(o); +} +__name(_typeof$e, "_typeof$e"); +function _defineProperty$e(e, r, t2) { + return (r = _toPropertyKey$e(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$e, "_defineProperty$e"); +function _toPropertyKey$e(t2) { + var i = _toPrimitive$e(t2, "string"); + return "symbol" == _typeof$e(i) ? i : i + ""; +} +__name(_toPropertyKey$e, "_toPropertyKey$e"); +function _toPrimitive$e(t2, r) { + if ("object" != _typeof$e(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$e(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$e, "_toPrimitive$e"); +var _hoisted_1$f = ["id", "disabled", "placeholder", "tabindex", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-invalid"]; +var _hoisted_2$b = { + key: 0 +}; +var _hoisted_3$8 = ["id", "aria-label"]; +var _hoisted_4$5 = ["id"]; +var _hoisted_5$1 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousemove", "data-p-selected", "data-p-focused", "data-p-disabled"]; +function render$r(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Chip = resolveComponent("Chip"); + var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); + var _component_Checkbox = resolveComponent("Checkbox"); + var _component_InputText = resolveComponent("InputText"); + var _component_SearchIcon = resolveComponent("SearchIcon"); + var _component_InputIcon = resolveComponent("InputIcon"); + var _component_IconField = resolveComponent("IconField"); + var _component_VirtualScroller = resolveComponent("VirtualScroller"); + var _component_Portal = resolveComponent("Portal"); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: "container", + "class": _ctx.cx("root"), + style: _ctx.sx("root"), + onClick: _cache[7] || (_cache[7] = function() { + return $options.onContainerClick && $options.onContainerClick.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [createBaseVNode("div", mergeProps({ + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenInputContainer"), { + "data-p-hidden-accessible": true + }), [createBaseVNode("input", mergeProps({ + ref: "focusInput", + id: _ctx.inputId, + type: "text", + readonly: "", + disabled: _ctx.disabled, + placeholder: _ctx.placeholder, + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + role: "combobox", + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-haspopup": "listbox", + "aria-expanded": $data.overlayVisible, + "aria-controls": $data.id + "_list", + "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, + "aria-invalid": _ctx.invalid || void 0, + onFocus: _cache[0] || (_cache[0] = function() { + return $options.onFocus && $options.onFocus.apply($options, arguments); + }), + onBlur: _cache[1] || (_cache[1] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }), + onKeydown: _cache[2] || (_cache[2] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("hiddenInput")), null, 16, _hoisted_1$f)], 16), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("labelContainer") + }, _ctx.ptm("labelContainer")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("label") + }, _ctx.ptm("label")), [renderSlot(_ctx.$slots, "value", { + value: _ctx.d_value, + placeholder: _ctx.placeholder + }, function() { + return [_ctx.display === "comma" ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [createTextVNode(toDisplayString($options.label || "empty"), 1)], 64)) : _ctx.display === "chip" ? (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [$options.chipSelectedItems ? (openBlock(), createElementBlock("span", _hoisted_2$b, toDisplayString($options.label), 1)) : (openBlock(true), createElementBlock(Fragment, { + key: 1 + }, renderList(_ctx.d_value, function(item8) { + return openBlock(), createElementBlock("span", mergeProps({ + key: $options.getLabelByValue(item8), + "class": _ctx.cx("chipItem"), + ref_for: true + }, _ctx.ptm("chipItem")), [renderSlot(_ctx.$slots, "chip", { + value: item8, + removeCallback: /* @__PURE__ */ __name(function removeCallback(event2) { + return $options.removeOption(event2, item8); + }, "removeCallback") + }, function() { + return [createVNode(_component_Chip, { + "class": normalizeClass(_ctx.cx("pcChip")), + label: $options.getLabelByValue(item8), + removeIcon: _ctx.chipIcon || _ctx.removeTokenIcon, + removable: "", + unstyled: _ctx.unstyled, + onRemove: /* @__PURE__ */ __name(function onRemove($event) { + return $options.removeOption($event, item8); + }, "onRemove"), + pt: _ctx.ptm("pcChip") + }, { + removeicon: withCtx(function() { + return [renderSlot(_ctx.$slots, _ctx.$slots.chipicon ? "chipicon" : "removetokenicon", { + "class": normalizeClass(_ctx.cx("chipIcon")), + item: item8, + removeCallback: /* @__PURE__ */ __name(function removeCallback(event2) { + return $options.removeOption(event2, item8); + }, "removeCallback") + })]; + }), + _: 2 + }, 1032, ["class", "label", "removeIcon", "unstyled", "onRemove", "pt"])]; + })], 16); + }), 128)), !_ctx.d_value || _ctx.d_value.length === 0 ? (openBlock(), createElementBlock(Fragment, { + key: 2 + }, [createTextVNode(toDisplayString(_ctx.placeholder || "empty"), 1)], 64)) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)]; + })], 16)], 16), $options.isClearIconVisible ? renderSlot(_ctx.$slots, "clearicon", { + key: 0, + "class": normalizeClass(_ctx.cx("clearIcon")), + clearCallback: $options.onClearClick + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.clearIcon ? "i" : "TimesIcon"), mergeProps({ + ref: "clearIcon", + "class": [_ctx.cx("clearIcon"), _ctx.clearIcon], + onClick: $options.onClearClick + }, _ctx.ptm("clearIcon"), { + "data-pc-section": "clearicon" + }), null, 16, ["class", "onClick"]))]; + }) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("dropdown") + }, _ctx.ptm("dropdown")), [_ctx.loading ? renderSlot(_ctx.$slots, "loadingicon", { + key: 0, + "class": normalizeClass(_ctx.cx("loadingIcon")) + }, function() { + return [_ctx.loadingIcon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": [_ctx.cx("loadingIcon"), "pi-spin", _ctx.loadingIcon], + "aria-hidden": "true" + }, _ctx.ptm("loadingIcon")), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({ + key: 1, + "class": _ctx.cx("loadingIcon"), + spin: "", + "aria-hidden": "true" + }, _ctx.ptm("loadingIcon")), null, 16, ["class"]))]; + }) : renderSlot(_ctx.$slots, "dropdownicon", { + key: 1, + "class": normalizeClass(_ctx.cx("dropdownIcon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? "span" : "ChevronDownIcon"), mergeProps({ + "class": [_ctx.cx("dropdownIcon"), _ctx.dropdownIcon], + "aria-hidden": "true" + }, _ctx.ptm("dropdownIcon")), null, 16, ["class"]))]; + })], 16), createVNode(_component_Portal, { + appendTo: _ctx.appendTo + }, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: $options.onOverlayEnter, + onAfterEnter: $options.onOverlayAfterEnter, + onLeave: $options.onOverlayLeave, + onAfterLeave: $options.onOverlayAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [$data.overlayVisible ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.overlayRef, + style: [_ctx.panelStyle, _ctx.overlayStyle], + "class": [_ctx.cx("overlay"), _ctx.panelClass, _ctx.overlayClass], + onClick: _cache[5] || (_cache[5] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }), + onKeydown: _cache[6] || (_cache[6] = function() { + return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("overlay")), [createBaseVNode("span", mergeProps({ + ref: "firstHiddenFocusableElementOnOverlay", + role: "presentation", + "aria-hidden": "true", + "class": "p-hidden-accessible p-hidden-focusable", + tabindex: 0, + onFocus: _cache[3] || (_cache[3] = function() { + return $options.onFirstHiddenFocus && $options.onFirstHiddenFocus.apply($options, arguments); + }) + }, _ctx.ptm("hiddenFirstFocusableEl"), { + "data-p-hidden-accessible": true, + "data-p-hidden-focusable": true + }), null, 16), renderSlot(_ctx.$slots, "header", { + value: _ctx.d_value, + options: $options.visibleOptions + }), _ctx.showToggleAll && _ctx.selectionLimit == null || _ctx.filter ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("header") + }, _ctx.ptm("header")), [_ctx.showToggleAll && _ctx.selectionLimit == null ? (openBlock(), createBlock(_component_Checkbox, { + key: 0, + modelValue: $options.allSelected, + binary: true, + disabled: _ctx.disabled, + variant: _ctx.variant, + "aria-label": $options.toggleAllAriaLabel, + onChange: $options.onToggleAll, + unstyled: _ctx.unstyled, + pt: $options.getHeaderCheckboxPTOptions("pcHeaderCheckbox") + }, { + icon: withCtx(function(slotProps) { + return [_ctx.$slots.headercheckboxicon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.headercheckboxicon), { + key: 0, + checked: slotProps.checked, + "class": normalizeClass(slotProps["class"]) + }, null, 8, ["checked", "class"])) : slotProps.checked ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.checkboxIcon ? "span" : "CheckIcon"), mergeProps({ + key: 1, + "class": [slotProps["class"], _defineProperty$e({}, _ctx.checkboxIcon, slotProps.checked)] + }, $options.getHeaderCheckboxPTOptions("pcHeaderCheckbox.icon")), null, 16, ["class"])) : createCommentVNode("", true)]; + }), + _: 1 + }, 8, ["modelValue", "disabled", "variant", "aria-label", "onChange", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.filter ? (openBlock(), createBlock(_component_IconField, { + key: 1, + "class": normalizeClass(_ctx.cx("pcFilterContainer")), + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcFilterContainer") + }, { + "default": withCtx(function() { + return [createVNode(_component_InputText, { + ref: "filterInput", + value: $data.filterValue, + onVnodeMounted: $options.onFilterUpdated, + onVnodeUpdated: $options.onFilterUpdated, + "class": normalizeClass(_ctx.cx("pcFilter")), + placeholder: _ctx.filterPlaceholder, + disabled: _ctx.disabled, + variant: _ctx.variant, + unstyled: _ctx.unstyled, + role: "searchbox", + autocomplete: "off", + "aria-owns": $data.id + "_list", + "aria-activedescendant": $options.focusedOptionId, + onKeydown: $options.onFilterKeyDown, + onBlur: $options.onFilterBlur, + onInput: $options.onFilterChange, + pt: _ctx.ptm("pcFilter") + }, null, 8, ["value", "onVnodeMounted", "onVnodeUpdated", "class", "placeholder", "disabled", "variant", "unstyled", "aria-owns", "aria-activedescendant", "onKeydown", "onBlur", "onInput", "pt"]), createVNode(_component_InputIcon, { + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcFilterIconContainer") + }, { + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "filtericon", {}, function() { + return [_ctx.filterIcon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": _ctx.filterIcon + }, _ctx.ptm("filterIcon")), null, 16)) : (openBlock(), createBlock(_component_SearchIcon, normalizeProps(mergeProps({ + key: 1 + }, _ctx.ptm("filterIcon"))), null, 16))]; + })]; + }), + _: 3 + }, 8, ["unstyled", "pt"])]; + }), + _: 3 + }, 8, ["class", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.filter ? (openBlock(), createElementBlock("span", mergeProps({ + key: 2, + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenFilterResult"), { + "data-p-hidden-accessible": true + }), toDisplayString($options.filterResultMessageText), 17)) : createCommentVNode("", true)], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("listContainer"), + style: { + "max-height": $options.virtualScrollerDisabled ? _ctx.scrollHeight : "" + } + }, _ctx.ptm("listContainer")), [createVNode(_component_VirtualScroller, mergeProps({ + ref: $options.virtualScrollerRef + }, _ctx.virtualScrollerOptions, { + items: $options.visibleOptions, + style: { + height: _ctx.scrollHeight + }, + tabindex: -1, + disabled: $options.virtualScrollerDisabled, + pt: _ctx.ptm("virtualScroller") + }), createSlots({ + content: withCtx(function(_ref2) { + var styleClass = _ref2.styleClass, contentRef2 = _ref2.contentRef, items2 = _ref2.items, getItemOptions = _ref2.getItemOptions, contentStyle = _ref2.contentStyle, itemSize = _ref2.itemSize; + return [createBaseVNode("ul", mergeProps({ + ref: /* @__PURE__ */ __name(function ref2(el) { + return $options.listRef(el, contentRef2); + }, "ref"), + id: $data.id + "_list", + "class": [_ctx.cx("list"), styleClass], + style: contentStyle, + role: "listbox", + "aria-multiselectable": "true", + "aria-label": $options.listAriaLabel + }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList(items2, function(option4, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getOptionRenderKey(option4, $options.getOptionIndex(i, getItemOptions)) + }, [$options.isOptionGroup(option4) ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $data.id + "_" + $options.getOptionIndex(i, getItemOptions), + style: { + height: itemSize ? itemSize + "px" : void 0 + }, + "class": _ctx.cx("optionGroup"), + role: "option", + ref_for: true + }, _ctx.ptm("optionGroup")), [renderSlot(_ctx.$slots, "optiongroup", { + option: option4.optionGroup, + index: $options.getOptionIndex(i, getItemOptions) + }, function() { + return [createTextVNode(toDisplayString($options.getOptionGroupLabel(option4.optionGroup)), 1)]; + })], 16, _hoisted_4$5)) : withDirectives((openBlock(), createElementBlock("li", mergeProps({ + key: 1, + id: $data.id + "_" + $options.getOptionIndex(i, getItemOptions), + style: { + height: itemSize ? itemSize + "px" : void 0 + }, + "class": _ctx.cx("option", { + option: option4, + index: i, + getItemOptions + }), + role: "option", + "aria-label": $options.getOptionLabel(option4), + "aria-selected": $options.isSelected(option4), + "aria-disabled": $options.isOptionDisabled(option4), + "aria-setsize": $options.ariaSetSize, + "aria-posinset": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)), + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onOptionSelect($event, option4, $options.getOptionIndex(i, getItemOptions), true); + }, "onClick"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions)); + }, "onMousemove"), + ref_for: true + }, $options.getCheckboxPTOptions(option4, getItemOptions, i, "option"), { + "data-p-selected": $options.isSelected(option4), + "data-p-focused": $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions), + "data-p-disabled": $options.isOptionDisabled(option4) + }), [createVNode(_component_Checkbox, { + defaultValue: $options.isSelected(option4), + binary: true, + tabindex: -1, + variant: _ctx.variant, + unstyled: _ctx.unstyled, + pt: $options.getCheckboxPTOptions(option4, getItemOptions, i, "pcOptionCheckbox") + }, { + icon: withCtx(function(slotProps) { + return [_ctx.$slots.optioncheckboxicon || _ctx.$slots.itemcheckboxicon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.optioncheckboxicon || _ctx.$slots.itemcheckboxicon), { + key: 0, + checked: slotProps.checked, + "class": normalizeClass(slotProps["class"]) + }, null, 8, ["checked", "class"])) : slotProps.checked ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.checkboxIcon ? "span" : "CheckIcon"), mergeProps({ + key: 1, + "class": [slotProps["class"], _defineProperty$e({}, _ctx.checkboxIcon, slotProps.checked)], + ref_for: true + }, $options.getCheckboxPTOptions(option4, getItemOptions, i, "pcOptionCheckbox.icon")), null, 16, ["class"])) : createCommentVNode("", true)]; + }), + _: 2 + }, 1032, ["defaultValue", "variant", "unstyled", "pt"]), renderSlot(_ctx.$slots, "option", { + option: option4, + selected: $options.isSelected(option4), + index: $options.getOptionIndex(i, getItemOptions) + }, function() { + return [createBaseVNode("span", mergeProps({ + ref_for: true + }, _ctx.ptm("optionLabel")), toDisplayString($options.getOptionLabel(option4)), 17)]; + })], 16, _hoisted_5$1)), [[_directive_ripple]])], 64); + }), 128)), $data.filterValue && (!items2 || items2 && items2.length === 0) ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + "class": _ctx.cx("emptyMessage"), + role: "option" + }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "emptyfilter", {}, function() { + return [createTextVNode(toDisplayString($options.emptyFilterMessageText), 1)]; + })], 16)) : !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock("li", mergeProps({ + key: 1, + "class": _ctx.cx("emptyMessage"), + role: "option" + }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "empty", {}, function() { + return [createTextVNode(toDisplayString($options.emptyMessageText), 1)]; + })], 16)) : createCommentVNode("", true)], 16, _hoisted_3$8)]; + }), + _: 2 + }, [_ctx.$slots.loader ? { + name: "loader", + fn: withCtx(function(_ref4) { + var options4 = _ref4.options; + return [renderSlot(_ctx.$slots, "loader", { + options: options4 + })]; + }), + key: "0" + } : void 0]), 1040, ["items", "style", "disabled", "pt"])], 16), renderSlot(_ctx.$slots, "footer", { + value: _ctx.d_value, + options: $options.visibleOptions + }), !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenEmptyMessage"), { + "data-p-hidden-accessible": true + }), toDisplayString($options.emptyMessageText), 17)) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenSelectedMessage"), { + "data-p-hidden-accessible": true + }), toDisplayString($options.selectedMessageText), 17), createBaseVNode("span", mergeProps({ + ref: "lastHiddenFocusableElementOnOverlay", + role: "presentation", + "aria-hidden": "true", + "class": "p-hidden-accessible p-hidden-focusable", + tabindex: 0, + onFocus: _cache[4] || (_cache[4] = function() { + return $options.onLastHiddenFocus && $options.onLastHiddenFocus.apply($options, arguments); + }) + }, _ctx.ptm("hiddenLastFocusableEl"), { + "data-p-hidden-accessible": true, + "data-p-hidden-focusable": true + }), null, 16)], 16)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; + }), + _: 3 + }, 8, ["appendTo"])], 16); +} +__name(render$r, "render$r"); +script$v.render = render$r; +var script$u = { + name: "AngleDoubleDownIcon", + "extends": script$1m +}; +function render$q(_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: "M6.70786 6.59831C6.80043 6.63674 6.89974 6.65629 6.99997 6.65581C7.19621 6.64081 7.37877 6.54953 7.50853 6.40153L11.0685 2.8416C11.1364 2.69925 11.1586 2.53932 11.132 2.38384C11.1053 2.22837 11.0311 2.08498 10.9195 1.97343C10.808 1.86188 10.6646 1.78766 10.5091 1.76099C10.3536 1.73431 10.1937 1.75649 10.0513 1.82448L6.99997 4.87585L3.9486 1.82448C3.80625 1.75649 3.64632 1.73431 3.49084 1.76099C3.33536 1.78766 3.19197 1.86188 3.08043 1.97343C2.96888 2.08498 2.89466 2.22837 2.86798 2.38384C2.84131 2.53932 2.86349 2.69925 2.93147 2.8416L6.46089 6.43205C6.53132 6.50336 6.61528 6.55989 6.70786 6.59831ZM6.70786 12.1925C6.80043 12.2309 6.89974 12.2505 6.99997 12.25C7.10241 12.2465 7.20306 12.2222 7.29575 12.1785C7.38845 12.1348 7.47124 12.0726 7.53905 11.9957L11.0685 8.46629C11.1614 8.32292 11.2036 8.15249 11.1881 7.98233C11.1727 7.81216 11.1005 7.6521 10.9833 7.52781C10.866 7.40353 10.7104 7.3222 10.5415 7.29688C10.3725 7.27155 10.1999 7.30369 10.0513 7.38814L6.99997 10.4395L3.9486 7.38814C3.80006 7.30369 3.62747 7.27155 3.45849 7.29688C3.28951 7.3222 3.13393 7.40353 3.01667 7.52781C2.89942 7.6521 2.82729 7.81216 2.81184 7.98233C2.79639 8.15249 2.83852 8.32292 2.93148 8.46629L6.4609 12.0262C6.53133 12.0975 6.61529 12.1541 6.70786 12.1925Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$q, "render$q"); +script$u.render = render$q; +var script$t = { + name: "AngleDoubleUpIcon", + "extends": script$1m +}; +function render$p(_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: "M10.1504 6.67719C10.2417 6.71508 10.3396 6.73436 10.4385 6.73389C10.6338 6.74289 10.8249 6.67441 10.97 6.54334C11.1109 6.4023 11.19 6.21112 11.19 6.01178C11.19 5.81245 11.1109 5.62127 10.97 5.48023L7.45977 1.96998C7.31873 1.82912 7.12755 1.75 6.92821 1.75C6.72888 1.75 6.5377 1.82912 6.39666 1.96998L2.9165 5.45014C2.83353 5.58905 2.79755 5.751 2.81392 5.91196C2.83028 6.07293 2.89811 6.22433 3.00734 6.34369C3.11656 6.46306 3.26137 6.54402 3.42025 6.57456C3.57914 6.60511 3.74364 6.5836 3.88934 6.51325L6.89813 3.50446L9.90691 6.51325C9.97636 6.58357 10.0592 6.6393 10.1504 6.67719ZM9.93702 11.9993C10.065 12.1452 10.245 12.2352 10.4385 12.25C10.632 12.2352 10.812 12.1452 10.9399 11.9993C11.0633 11.8614 11.1315 11.6828 11.1315 11.4978C11.1315 11.3128 11.0633 11.1342 10.9399 10.9963L7.48987 7.48609C7.34883 7.34523 7.15765 7.26611 6.95832 7.26611C6.75899 7.26611 6.5678 7.34523 6.42677 7.48609L2.91652 10.9963C2.84948 11.1367 2.82761 11.2944 2.85391 11.4477C2.88022 11.601 2.9534 11.7424 3.06339 11.8524C3.17338 11.9624 3.31477 12.0356 3.46808 12.0619C3.62139 12.0882 3.77908 12.0663 3.91945 11.9993L6.92823 8.99048L9.93702 11.9993Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$p, "render$p"); +script$t.render = render$p; +var theme$f = /* @__PURE__ */ __name(function theme25(_ref) { + var dt = _ref.dt; + return "\n.p-orderlist {\n display: flex;\n gap: ".concat(dt("orderlist.gap"), ";\n}\n\n.p-orderlist-controls {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: ").concat(dt("orderlist.controls.gap"), ";\n}\n"); +}, "theme"); +var classes$g = { + root: "p-orderlist p-component", + controls: "p-orderlist-controls" +}; +var OrderListStyle = BaseStyle.extend({ + name: "orderlist", + theme: theme$f, + classes: classes$g +}); +var script$1$g = { + name: "BaseOrderList", + "extends": script$1d, + props: { + modelValue: { + type: Array, + "default": null + }, + selection: { + type: Array, + "default": null + }, + dataKey: { + type: String, + "default": null + }, + listStyle: { + type: null, + "default": null + }, + metaKeySelection: { + type: Boolean, + "default": false + }, + autoOptionFocus: { + type: Boolean, + "default": true + }, + focusOnHover: { + type: Boolean, + "default": true + }, + responsive: { + type: Boolean, + "default": true + }, + breakpoint: { + type: String, + "default": "960px" + }, + striped: { + type: Boolean, + "default": false + }, + scrollHeight: { + type: String, + "default": "14rem" + }, + buttonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default13() { + return { + severity: "secondary" + }; + }, "_default") + }, + moveUpButtonProps: { + type: null, + "default": null + }, + moveTopButtonProps: { + type: null, + "default": null + }, + moveDownButtonProps: { + type: null, + "default": null + }, + moveBottomButtonProps: { + type: null, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + }, + disabled: { + type: Boolean, + "default": false + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: OrderListStyle, + provide: /* @__PURE__ */ __name(function provide35() { + return { + $pcOrderList: this, + $parentInstance: this + }; + }, "provide") +}; +function _toConsumableArray$5(r) { + return _arrayWithoutHoles$5(r) || _iterableToArray$5(r) || _unsupportedIterableToArray$6(r) || _nonIterableSpread$5(); +} +__name(_toConsumableArray$5, "_toConsumableArray$5"); +function _nonIterableSpread$5() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$5, "_nonIterableSpread$5"); +function _unsupportedIterableToArray$6(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$6(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$6(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$6, "_unsupportedIterableToArray$6"); +function _iterableToArray$5(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$5, "_iterableToArray$5"); +function _arrayWithoutHoles$5(r) { + if (Array.isArray(r)) return _arrayLikeToArray$6(r); +} +__name(_arrayWithoutHoles$5, "_arrayWithoutHoles$5"); +function _arrayLikeToArray$6(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$6, "_arrayLikeToArray$6"); +var script$s = { + name: "OrderList", + "extends": script$1$g, + inheritAttrs: false, + emits: ["update:modelValue", "reorder", "update:selection", "selection-change", "focus", "blur"], + itemTouched: false, + reorderDirection: null, + styleElement: null, + list: null, + data: /* @__PURE__ */ __name(function data23() { + return { + id: this.$attrs.id, + d_selection: this.selection + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId8(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId") + }, + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount11() { + this.destroyStyle(); + }, "beforeUnmount"), + updated: /* @__PURE__ */ __name(function updated6() { + if (this.reorderDirection) { + this.updateListScroll(); + this.reorderDirection = null; + } + }, "updated"), + mounted: /* @__PURE__ */ __name(function mounted24() { + this.id = this.id || UniqueComponentId(); + if (this.responsive) { + this.createStyle(); + } + }, "mounted"), + methods: { + updateSelection: /* @__PURE__ */ __name(function updateSelection(event2) { + this.$emit("update:selection", this.d_selection); + this.$emit("selection-change", { + originalEvent: event2, + value: this.d_selection + }); + }, "updateSelection"), + onChangeSelection: /* @__PURE__ */ __name(function onChangeSelection(params) { + this.d_selection = params.value; + this.updateSelection(params.event); + }, "onChangeSelection"), + onListFocus: /* @__PURE__ */ __name(function onListFocus3(event2) { + this.$emit("focus", event2); + }, "onListFocus"), + onListBlur: /* @__PURE__ */ __name(function onListBlur3(event2) { + this.$emit("blur", event2); + }, "onListBlur"), + onReorderUpdate: /* @__PURE__ */ __name(function onReorderUpdate(event2, value2) { + this.$emit("update:modelValue", value2); + this.$emit("reorder", { + originalEvent: event2, + value: value2, + direction: this.reorderDirection + }); + }, "onReorderUpdate"), + moveUp: /* @__PURE__ */ __name(function moveUp(event2) { + if (this.d_selection) { + var value2 = _toConsumableArray$5(this.modelValue); + for (var i = 0; i < this.d_selection.length; i++) { + var selectedItem = this.d_selection[i]; + var selectedItemIndex = findIndexInList(selectedItem, value2); + if (selectedItemIndex !== 0) { + var movedItem = value2[selectedItemIndex]; + var temp = value2[selectedItemIndex - 1]; + value2[selectedItemIndex - 1] = movedItem; + value2[selectedItemIndex] = temp; + } else { + break; + } + } + this.reorderDirection = "up"; + this.onReorderUpdate(event2, value2); + } + }, "moveUp"), + moveTop: /* @__PURE__ */ __name(function moveTop(event2) { + if (this.d_selection) { + var value2 = _toConsumableArray$5(this.modelValue); + for (var i = 0; i < this.d_selection.length; i++) { + var selectedItem = this.d_selection[i]; + var selectedItemIndex = findIndexInList(selectedItem, value2); + if (selectedItemIndex !== 0) { + var movedItem = value2.splice(selectedItemIndex, 1)[0]; + value2.unshift(movedItem); + } else { + break; + } + } + this.reorderDirection = "top"; + this.onReorderUpdate(event2, value2); + } + }, "moveTop"), + moveDown: /* @__PURE__ */ __name(function moveDown(event2) { + if (this.d_selection) { + var value2 = _toConsumableArray$5(this.modelValue); + for (var i = this.d_selection.length - 1; i >= 0; i--) { + var selectedItem = this.d_selection[i]; + var selectedItemIndex = findIndexInList(selectedItem, value2); + if (selectedItemIndex !== value2.length - 1) { + var movedItem = value2[selectedItemIndex]; + var temp = value2[selectedItemIndex + 1]; + value2[selectedItemIndex + 1] = movedItem; + value2[selectedItemIndex] = temp; + } else { + break; + } + } + this.reorderDirection = "down"; + this.onReorderUpdate(event2, value2); + } + }, "moveDown"), + moveBottom: /* @__PURE__ */ __name(function moveBottom(event2) { + if (this.d_selection) { + var value2 = _toConsumableArray$5(this.modelValue); + for (var i = this.d_selection.length - 1; i >= 0; i--) { + var selectedItem = this.d_selection[i]; + var selectedItemIndex = findIndexInList(selectedItem, value2); + if (selectedItemIndex !== value2.length - 1) { + var movedItem = value2.splice(selectedItemIndex, 1)[0]; + value2.push(movedItem); + } else { + break; + } + } + this.reorderDirection = "bottom"; + this.onReorderUpdate(event2, value2); + } + }, "moveBottom"), + updateListScroll: /* @__PURE__ */ __name(function updateListScroll() { + this.list = findSingle(this.$refs.listbox.$el, '[data-pc-section="list"]'); + var listItems = find(this.list, '[data-pc-section="item"][data-p-selected="true"]'); + if (listItems && listItems.length) { + switch (this.reorderDirection) { + case "up": + scrollInView(this.list, listItems[0]); + break; + case "top": + this.list.scrollTop = 0; + break; + case "down": + scrollInView(this.list, listItems[listItems.length - 1]); + break; + case "bottom": + this.list.scrollTop = this.list.scrollHeight; + break; + } + } + }, "updateListScroll"), + createStyle: /* @__PURE__ */ __name(function createStyle() { + if (!this.styleElement && !this.isUnstyled) { + var _this$$primevue; + this.styleElement = document.createElement("style"); + this.styleElement.type = "text/css"; + setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); + document.head.appendChild(this.styleElement); + var innerHTML = "\n@media screen and (max-width: ".concat(this.breakpoint, ") {\n .p-orderlist[").concat(this.$attrSelector, "] {\n flex-direction: column;\n }\n\n .p-orderlist[").concat(this.$attrSelector, "] .p-orderlist-controls {\n flex-direction: row;\n }\n}\n"); + this.styleElement.innerHTML = innerHTML; + } + }, "createStyle"), + destroyStyle: /* @__PURE__ */ __name(function destroyStyle() { + if (this.styleElement) { + document.head.removeChild(this.styleElement); + this.styleElement = null; + } + }, "destroyStyle"), + moveDisabled: /* @__PURE__ */ __name(function moveDisabled() { + return this.disabled ? true : !this.d_selection || !this.d_selection.length ? true : false; + }, "moveDisabled") + }, + computed: { + moveUpAriaLabel: /* @__PURE__ */ __name(function moveUpAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveUp : void 0; + }, "moveUpAriaLabel"), + moveTopAriaLabel: /* @__PURE__ */ __name(function moveTopAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveTop : void 0; + }, "moveTopAriaLabel"), + moveDownAriaLabel: /* @__PURE__ */ __name(function moveDownAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveDown : void 0; + }, "moveDownAriaLabel"), + moveBottomAriaLabel: /* @__PURE__ */ __name(function moveBottomAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveBottom : void 0; + }, "moveBottomAriaLabel"), + hasSelectedOption: /* @__PURE__ */ __name(function hasSelectedOption3() { + return isNotEmpty(this.d_selection); + }, "hasSelectedOption") + }, + components: { + Listbox: script$1O, + Button: script$1e, + AngleUpIcon: script$1P, + AngleDownIcon: script$1H, + AngleDoubleUpIcon: script$t, + AngleDoubleDownIcon: script$u + }, + directives: { + ripple: Ripple + } +}; +function _typeof$d(o) { + "@babel/helpers - typeof"; + return _typeof$d = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$d(o); +} +__name(_typeof$d, "_typeof$d"); +function ownKeys$c(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$c, "ownKeys$c"); +function _objectSpread$c(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$c(Object(t2), true).forEach(function(r2) { + _defineProperty$d(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$c(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$c, "_objectSpread$c"); +function _defineProperty$d(e, r, t2) { + return (r = _toPropertyKey$d(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$d, "_defineProperty$d"); +function _toPropertyKey$d(t2) { + var i = _toPrimitive$d(t2, "string"); + return "symbol" == _typeof$d(i) ? i : i + ""; +} +__name(_toPropertyKey$d, "_toPropertyKey$d"); +function _toPrimitive$d(t2, r) { + if ("object" != _typeof$d(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$d(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$d, "_toPrimitive$d"); +function render$o(_ctx, _cache, $props, $setup, $data, $options) { + var _component_AngleUpIcon = resolveComponent("AngleUpIcon"); + var _component_Button = resolveComponent("Button"); + var _component_AngleDoubleUpIcon = resolveComponent("AngleDoubleUpIcon"); + var _component_AngleDownIcon = resolveComponent("AngleDownIcon"); + var _component_AngleDoubleDownIcon = resolveComponent("AngleDoubleDownIcon"); + var _component_Listbox = resolveComponent("Listbox"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("controls") + }, _ctx.ptm("controls")), [renderSlot(_ctx.$slots, "controlsstart"), createVNode(_component_Button, mergeProps({ + onClick: $options.moveUp, + "aria-label": $options.moveUpAriaLabel, + disabled: $options.moveDisabled() + }, _objectSpread$c(_objectSpread$c({}, _ctx.buttonProps), _ctx.moveUpButtonProps), { + pt: _ctx.ptm("pcMoveUpButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "moveupicon", {}, function() { + return [createVNode(_component_AngleUpIcon, mergeProps(_ctx.ptm("pcMoveUpButton")["icon"], { + "data-pc-section": "moveupicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["onClick", "aria-label", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + onClick: $options.moveTop, + "aria-label": $options.moveTopAriaLabel, + disabled: $options.moveDisabled() + }, _objectSpread$c(_objectSpread$c({}, _ctx.buttonProps), _ctx.moveTopButtonProps), { + pt: _ctx.ptm("pcMoveTopButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movetopicon", {}, function() { + return [createVNode(_component_AngleDoubleUpIcon, mergeProps(_ctx.ptm("pcMoveTopButton")["icon"], { + "data-pc-section": "movetopicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["onClick", "aria-label", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + onClick: $options.moveDown, + "aria-label": $options.moveDownAriaLabel, + disabled: $options.moveDisabled() + }, _objectSpread$c(_objectSpread$c({}, _ctx.buttonProps), _ctx.moveDownButtonProps), { + pt: _ctx.ptm("pcMoveDownButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movedownicon", {}, function() { + return [createVNode(_component_AngleDownIcon, mergeProps(_ctx.ptm("pcMoveDownButton")["icon"], { + "data-pc-section": "movedownicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["onClick", "aria-label", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + onClick: $options.moveBottom, + "aria-label": $options.moveBottomAriaLabel, + disabled: $options.moveDisabled() + }, _objectSpread$c(_objectSpread$c({}, _ctx.buttonProps), _ctx.moveBottomButtonProps), { + pt: _ctx.ptm("pcMoveBottomButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movebottomicon", {}, function() { + return [createVNode(_component_AngleDoubleDownIcon, mergeProps(_ctx.ptm("pcMoveBottomButton")["icon"], { + "data-pc-section": "movebottomicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["onClick", "aria-label", "disabled", "pt", "unstyled"]), renderSlot(_ctx.$slots, "controlsend")], 16), createVNode(_component_Listbox, { + ref: "listbox", + id: $data.id, + modelValue: $data.d_selection, + options: _ctx.modelValue, + multiple: "", + metaKeySelection: _ctx.metaKeySelection, + listStyle: _ctx.listStyle, + scrollHeight: _ctx.scrollHeight, + tabindex: _ctx.tabindex, + dataKey: _ctx.dataKey, + autoOptionFocus: _ctx.autoOptionFocus, + focusOnHover: _ctx.focusOnHover, + striped: _ctx.striped, + disabled: _ctx.disabled, + ariaLabel: _ctx.ariaLabel, + ariaLabelledby: _ctx.ariaLabelledby, + pt: _ctx.ptm("pcListbox"), + unstyled: _ctx.unstyled, + onFocus: $options.onListFocus, + onBlur: $options.onListBlur, + onChange: $options.onChangeSelection + }, createSlots({ + option: withCtx(function(_ref) { + var option4 = _ref.option, selected3 = _ref.selected, index = _ref.index; + return [renderSlot(_ctx.$slots, _ctx.$slots.option ? "option" : "item", { + item: option4, + option: option4, + selected: selected3, + index + })]; + }), + _: 2 + }, [_ctx.$slots.header ? { + name: "header", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "header")]; + }), + key: "0" + } : void 0]), 1032, ["id", "modelValue", "options", "metaKeySelection", "listStyle", "scrollHeight", "tabindex", "dataKey", "autoOptionFocus", "focusOnHover", "striped", "disabled", "ariaLabel", "ariaLabelledby", "pt", "unstyled", "onFocus", "onBlur", "onChange"])], 16); +} +__name(render$o, "render$o"); +script$s.render = render$o; +var theme$e = /* @__PURE__ */ __name(function theme26(_ref) { + var dt = _ref.dt; + return "\n.p-organizationchart-table {\n border-spacing: 0;\n border-collapse: separate;\n margin: 0 auto;\n}\n\n.p-organizationchart-table > tbody > tr > td {\n text-align: center;\n vertical-align: top;\n padding: 0 ".concat(dt("organizationchart.gutter"), ";\n}\n\n.p-organizationchart-node {\n display: inline-block;\n position: relative;\n border: 1px solid ").concat(dt("organizationchart.node.border.color"), ";\n background: ").concat(dt("organizationchart.node.background"), ";\n color: ").concat(dt("organizationchart.node.color"), ";\n padding: ").concat(dt("organizationchart.node.padding"), ";\n border-radius: ").concat(dt("organizationchart.node.border.radius"), ";\n transition: background ").concat(dt("organizationchart.transition.duration"), ", border-color ").concat(dt("organizationchart.transition.duration"), ", color ").concat(dt("organizationchart.transition.duration"), ", box-shadow ").concat(dt("organizationchart.transition.duration"), ";\n}\n\n.p-organizationchart-node:has(.p-organizationchart-node-toggle-button) {\n padding: ").concat(dt("organizationchart.node.toggleable.padding"), ";\n}\n\n.p-organizationchart-node.p-organizationchart-node-selectable:not(.p-organizationchart-node-selected):hover {\n background: ").concat(dt("organizationchart.node.hover.background"), ";\n color: ").concat(dt("organizationchart.node.hover.color"), ";\n}\n\n.p-organizationchart-node-selected {\n background: ").concat(dt("organizationchart.node.selected.background"), ";\n color: ").concat(dt("organizationchart.node.selected.color"), ";\n}\n\n.p-organizationchart-node-toggle-button {\n position: absolute;\n inset-block-end: calc(-1 * calc(").concat(dt("organizationchart.node.toggle.button.size"), " / 2));\n margin-inline-start: calc(-1 * calc(").concat(dt("organizationchart.node.toggle.button.size"), " / 2));\n z-index: 2;\n inset-inline-start: 50%;\n user-select: none;\n cursor: pointer;\n width: ").concat(dt("organizationchart.node.toggle.button.size"), ";\n height: ").concat(dt("organizationchart.node.toggle.button.size"), ";\n text-decoration: none;\n background: ").concat(dt("organizationchart.node.toggle.button.background"), ";\n color: ").concat(dt("organizationchart.node.toggle.button.color"), ";\n border-radius: ").concat(dt("organizationchart.node.toggle.button.border.radius"), ";\n border: 1px solid ").concat(dt("organizationchart.node.toggle.button.border.color"), ";\n display: inline-flex;\n justify-content: center;\n align-items: center;\n outline-color: transparent;\n transition: background ").concat(dt("organizationchart.transition.duration"), ", color ").concat(dt("organizationchart.transition.duration"), ", border-color ").concat(dt("organizationchart.transition.duration"), ", outline-color ").concat(dt("organizationchart.transition.duration"), ", box-shadow ").concat(dt("organizationchart.transition.duration"), ";\n}\n\n.p-organizationchart-node-toggle-button:hover {\n background: ").concat(dt("organizationchart.node.toggle.button.hover.background"), ";\n color: ").concat(dt("organizationchart.node.toggle.button.hover.color"), ";\n}\n\n.p-organizationchart-node-toggle-button:focus-visible {\n box-shadow: ").concat(dt("breadcrumb.item.focus.ring.shadow"), ";\n outline: ").concat(dt("breadcrumb.item.focus.ring.width"), " ").concat(dt("breadcrumb.item.focus.ring.style"), " ").concat(dt("breadcrumb.item.focus.ring.color"), ";\n outline-offset: ").concat(dt("breadcrumb.item.focus.ring.offset"), ";\n}\n\n.p-organizationchart-node-toggle-button-icon {\n position: relative;\n inset-block-start: 1px;\n}\n\n.p-organizationchart-connector-down {\n margin: 0 auto;\n height: ").concat(dt("organizationchart.connector.height"), ";\n width: 1px;\n background: ").concat(dt("organizationchart.connector.color"), ";\n}\n\n.p-organizationchart-connector-right {\n border-radius: 0;\n}\n\n.p-organizationchart-connector-left {\n border-radius: 0;\n border-inline-end: 1px solid ").concat(dt("organizationchart.connector.color"), ";\n}\n\n.p-organizationchart-connector-top {\n border-block-start: 1px solid ").concat(dt("organizationchart.connector.color"), ";\n}\n\n.p-organizationchart-node-selectable {\n cursor: pointer;\n}\n\n.p-organizationchart-connectors :nth-child(1 of .p-organizationchart-connector-left) {\n border-inline-end: 0 none;\n}\n\n.p-organizationchart-connectors :nth-last-child(1 of .p-organizationchart-connector-left) {\n border-start-end-radius: ").concat(dt("organizationchart.connector.border.radius"), ";\n}\n\n.p-organizationchart-connectors :nth-child(1 of .p-organizationchart-connector-right) {\n border-inline-start: 1px solid ").concat(dt("organizationchart.connector.color"), ";\n border-start-start-radius: ").concat(dt("organizationchart.connector.border.radius"), ";\n}\n"); +}, "theme"); +var classes$f = { + root: "p-organizationchart p-component", + table: "p-organizationchart-table", + node: /* @__PURE__ */ __name(function node(_ref2) { + var instance = _ref2.instance; + return ["p-organizationchart-node", { + "p-organizationchart-node-selectable": instance.selectable, + "p-organizationchart-node-selected": instance.selected + }]; + }, "node"), + nodeToggleButton: "p-organizationchart-node-toggle-button", + nodeToggleButtonIcon: "p-organizationchart-node-toggle-button-icon", + connectors: "p-organizationchart-connectors", + connectorDown: "p-organizationchart-connector-down", + connectorLeft: /* @__PURE__ */ __name(function connectorLeft(_ref3) { + var index = _ref3.index; + return ["p-organizationchart-connector-left", { + "p-organizationchart-connector-top": !(index === 0) + }]; + }, "connectorLeft"), + connectorRight: /* @__PURE__ */ __name(function connectorRight(_ref4) { + var props = _ref4.props, index = _ref4.index; + return ["p-organizationchart-connector-right", { + "p-organizationchart-connector-top": !(index === props.node.children.length - 1) + }]; + }, "connectorRight"), + nodeChildren: "p-organizationchart-node-children" +}; +var OrganizationChartStyle = BaseStyle.extend({ + name: "organizationchart", + theme: theme$e, + classes: classes$f +}); +var script$2$2 = { + name: "BaseOrganizationChart", + "extends": script$1d, + props: { + value: { + type: null, + "default": null + }, + selectionKeys: { + type: null, + "default": null + }, + selectionMode: { + type: String, + "default": null + }, + collapsible: { + type: Boolean, + "default": false + }, + collapsedKeys: { + type: null, + "default": null + } + }, + style: OrganizationChartStyle, + provide: /* @__PURE__ */ __name(function provide36() { + return { + $pcOrganizationChart: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$f = { + name: "OrganizationChartNode", + hostName: "OrganizationChart", + "extends": script$1d, + emits: ["node-click", "node-toggle"], + props: { + node: { + type: null, + "default": null + }, + templates: { + type: null, + "default": null + }, + collapsible: { + type: Boolean, + "default": false + }, + collapsedKeys: { + type: null, + "default": null + }, + selectionKeys: { + type: null, + "default": null + }, + selectionMode: { + type: String, + "default": null + } + }, + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions6(key) { + return this.ptm(key, { + context: { + expanded: this.expanded, + selectable: this.selectable, + selected: this.selected, + toggleable: this.toggleable, + active: this.selected + } + }); + }, "getPTOptions"), + getNodeOptions: /* @__PURE__ */ __name(function getNodeOptions(lineTop, key) { + return this.ptm(key, { + context: { + lineTop + } + }); + }, "getNodeOptions"), + onNodeClick: /* @__PURE__ */ __name(function onNodeClick(event2) { + if (isAttributeEquals(event2.target, "data-pc-section", "nodetogglebutton") || isAttributeEquals(event2.target, "data-pc-section", "nodetogglebuttonicon")) { + return; + } + if (this.selectionMode) { + this.$emit("node-click", this.node); + } + }, "onNodeClick"), + onChildNodeClick: /* @__PURE__ */ __name(function onChildNodeClick(node2) { + this.$emit("node-click", node2); + }, "onChildNodeClick"), + toggleNode: /* @__PURE__ */ __name(function toggleNode() { + this.$emit("node-toggle", this.node); + }, "toggleNode"), + onChildNodeToggle: /* @__PURE__ */ __name(function onChildNodeToggle(node2) { + this.$emit("node-toggle", node2); + }, "onChildNodeToggle"), + onKeydown: /* @__PURE__ */ __name(function onKeydown4(event2) { + if (event2.code === "Enter" || event2.code === "NumpadEnter" || event2.code === "Space") { + this.toggleNode(); + event2.preventDefault(); + } + }, "onKeydown") + }, + computed: { + leaf: /* @__PURE__ */ __name(function leaf() { + return this.node.leaf === false ? false : !(this.node.children && this.node.children.length); + }, "leaf"), + colspan: /* @__PURE__ */ __name(function colspan() { + return this.node.children && this.node.children.length ? this.node.children.length * 2 : null; + }, "colspan"), + childStyle: /* @__PURE__ */ __name(function childStyle() { + return { + visibility: !this.leaf && this.expanded ? "inherit" : "hidden" + }; + }, "childStyle"), + expanded: /* @__PURE__ */ __name(function expanded() { + return this.collapsedKeys[this.node.key] === void 0; + }, "expanded"), + selectable: /* @__PURE__ */ __name(function selectable() { + return this.selectionMode && this.node.selectable !== false; + }, "selectable"), + selected: /* @__PURE__ */ __name(function selected() { + return this.selectable && this.selectionKeys && this.selectionKeys[this.node.key] === true; + }, "selected"), + toggleable: /* @__PURE__ */ __name(function toggleable() { + return this.collapsible && this.node.collapsible !== false && !this.leaf; + }, "toggleable") + }, + components: { + ChevronDownIcon: script$1k, + ChevronUpIcon: script$1j + } +}; +var _hoisted_1$e = ["colspan"]; +var _hoisted_2$a = ["colspan"]; +var _hoisted_3$7 = ["colspan"]; +function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { + var _component_OrganizationChartNode = resolveComponent("OrganizationChartNode", true); + return openBlock(), createElementBlock("table", mergeProps({ + "class": _ctx.cx("table") + }, _ctx.ptm("table")), [createBaseVNode("tbody", normalizeProps(guardReactiveProps(_ctx.ptm("body"))), [$props.node ? (openBlock(), createElementBlock("tr", normalizeProps(mergeProps({ + key: 0 + }, _ctx.ptm("row"))), [createBaseVNode("td", mergeProps({ + colspan: $options.colspan + }, _ctx.ptm("cell")), [createBaseVNode("div", mergeProps({ + "class": [_ctx.cx("node"), $props.node.styleClass], + onClick: _cache[2] || (_cache[2] = function() { + return $options.onNodeClick && $options.onNodeClick.apply($options, arguments); + }) + }, $options.getPTOptions("node")), [(openBlock(), createBlock(resolveDynamicComponent($props.templates[$props.node.type] || $props.templates["default"]), { + node: $props.node + }, null, 8, ["node"])), $options.toggleable ? (openBlock(), createElementBlock("a", mergeProps({ + key: 0, + tabindex: "0", + "class": _ctx.cx("nodeToggleButton"), + onClick: _cache[0] || (_cache[0] = function() { + return $options.toggleNode && $options.toggleNode.apply($options, arguments); + }), + onKeydown: _cache[1] || (_cache[1] = function() { + return $options.onKeydown && $options.onKeydown.apply($options, arguments); + }) + }, $options.getPTOptions("nodeToggleButton")), [$props.templates.toggleicon || $props.templates.togglericon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.toggleicon || $props.templates.togglericon), mergeProps({ + key: 0, + expanded: $options.expanded, + "class": _ctx.cx("nodeToggleButtonIcon") + }, $options.getPTOptions("nodeToggleButtonIcon")), null, 16, ["expanded", "class"])) : (openBlock(), createBlock(resolveDynamicComponent($options.expanded ? "ChevronDownIcon" : "ChevronUpIcon"), mergeProps({ + key: 1, + "class": _ctx.cx("nodeToggleButtonIcon") + }, $options.getPTOptions("nodeToggleButtonIcon")), null, 16, ["class"]))], 16)) : createCommentVNode("", true)], 16)], 16, _hoisted_1$e)], 16)) : createCommentVNode("", true), createBaseVNode("tr", mergeProps({ + style: $options.childStyle, + "class": _ctx.cx("connectors") + }, _ctx.ptm("connectors")), [createBaseVNode("td", mergeProps({ + colspan: $options.colspan + }, _ctx.ptm("lineCell")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("connectorDown") + }, _ctx.ptm("connectorDown")), null, 16)], 16, _hoisted_2$a)], 16), createBaseVNode("tr", mergeProps({ + style: $options.childStyle, + "class": _ctx.cx("connectors") + }, _ctx.ptm("connectors")), [$props.node.children && $props.node.children.length === 1 ? (openBlock(), createElementBlock("td", mergeProps({ + key: 0, + colspan: $options.colspan + }, _ctx.ptm("lineCell")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("connectorDown") + }, _ctx.ptm("connectorDown")), null, 16)], 16, _hoisted_3$7)) : createCommentVNode("", true), $props.node.children && $props.node.children.length > 1 ? (openBlock(true), createElementBlock(Fragment, { + key: 1 + }, renderList($props.node.children, function(child, i) { + return openBlock(), createElementBlock(Fragment, { + key: child.key + }, [createBaseVNode("td", mergeProps({ + "class": _ctx.cx("connectorLeft", { + index: i + }), + ref_for: true + }, $options.getNodeOptions(!(i === 0), "connectorLeft")), " ", 16), createBaseVNode("td", mergeProps({ + "class": _ctx.cx("connectorRight", { + index: i + }), + ref_for: true + }, $options.getNodeOptions(!(i === $props.node.children.length - 1), "connectorRight")), " ", 16)], 64); + }), 128)) : createCommentVNode("", true)], 16), createBaseVNode("tr", mergeProps({ + style: $options.childStyle, + "class": _ctx.cx("nodeChildren") + }, _ctx.ptm("nodeChildren")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.node.children, function(child) { + return openBlock(), createElementBlock("td", mergeProps({ + key: child.key, + colspan: "2", + ref_for: true + }, _ctx.ptm("nodeCell")), [createVNode(_component_OrganizationChartNode, { + node: child, + templates: $props.templates, + collapsedKeys: $props.collapsedKeys, + onNodeToggle: $options.onChildNodeToggle, + collapsible: $props.collapsible, + selectionMode: $props.selectionMode, + selectionKeys: $props.selectionKeys, + onNodeClick: $options.onChildNodeClick, + pt: _ctx.pt, + unstyled: _ctx.unstyled + }, null, 8, ["node", "templates", "collapsedKeys", "onNodeToggle", "collapsible", "selectionMode", "selectionKeys", "onNodeClick", "pt", "unstyled"])], 16); + }), 128))], 16)], 16)], 16); +} +__name(render$1$2, "render$1$2"); +script$1$f.render = render$1$2; +function _typeof$c(o) { + "@babel/helpers - typeof"; + return _typeof$c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$c(o); +} +__name(_typeof$c, "_typeof$c"); +function ownKeys$b(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$b, "ownKeys$b"); +function _objectSpread$b(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$b(Object(t2), true).forEach(function(r2) { + _defineProperty$c(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$b(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$b, "_objectSpread$b"); +function _defineProperty$c(e, r, t2) { + return (r = _toPropertyKey$c(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$c, "_defineProperty$c"); +function _toPropertyKey$c(t2) { + var i = _toPrimitive$c(t2, "string"); + return "symbol" == _typeof$c(i) ? i : i + ""; +} +__name(_toPropertyKey$c, "_toPropertyKey$c"); +function _toPrimitive$c(t2, r) { + if ("object" != _typeof$c(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$c(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$c, "_toPrimitive$c"); +var script$r = { + name: "OrganizationChart", + "extends": script$2$2, + inheritAttrs: false, + emits: ["node-unselect", "node-select", "update:selectionKeys", "node-expand", "node-collapse", "update:collapsedKeys"], + data: /* @__PURE__ */ __name(function data24() { + return { + d_collapsedKeys: this.collapsedKeys || {} + }; + }, "data"), + watch: { + collapsedKeys: /* @__PURE__ */ __name(function collapsedKeys(newValue) { + this.d_collapsedKeys = newValue; + }, "collapsedKeys") + }, + methods: { + onNodeClick: /* @__PURE__ */ __name(function onNodeClick2(node2) { + var key = node2.key; + if (this.selectionMode) { + var _selectionKeys = this.selectionKeys ? _objectSpread$b({}, this.selectionKeys) : {}; + if (_selectionKeys[key]) { + delete _selectionKeys[key]; + this.$emit("node-unselect", node2); + } else { + if (this.selectionMode === "single") { + _selectionKeys = {}; + } + _selectionKeys[key] = true; + this.$emit("node-select", node2); + } + this.$emit("update:selectionKeys", _selectionKeys); + } + }, "onNodeClick"), + onNodeToggle: /* @__PURE__ */ __name(function onNodeToggle(node2) { + var key = node2.key; + if (this.d_collapsedKeys[key]) { + delete this.d_collapsedKeys[key]; + this.$emit("node-expand", node2); + } else { + this.d_collapsedKeys[key] = true; + this.$emit("node-collapse", node2); + } + this.d_collapsedKeys = _objectSpread$b({}, this.d_collapsedKeys); + this.$emit("update:collapsedKeys", this.d_collapsedKeys); + }, "onNodeToggle") + }, + components: { + OrganizationChartNode: script$1$f + } +}; +function render$n(_ctx, _cache, $props, $setup, $data, $options) { + var _component_OrganizationChartNode = resolveComponent("OrganizationChartNode"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [createVNode(_component_OrganizationChartNode, { + node: _ctx.value, + templates: _ctx.$slots, + onNodeToggle: $options.onNodeToggle, + collapsedKeys: $data.d_collapsedKeys, + collapsible: _ctx.collapsible, + onNodeClick: $options.onNodeClick, + selectionMode: _ctx.selectionMode, + selectionKeys: _ctx.selectionKeys, + pt: _ctx.pt, + unstyled: _ctx.unstyled + }, null, 8, ["node", "templates", "onNodeToggle", "collapsedKeys", "collapsible", "onNodeClick", "selectionMode", "selectionKeys", "pt", "unstyled"])], 16); +} +__name(render$n, "render$n"); +script$r.render = render$n; +var script$q = { + name: "OverlayPanel", + "extends": script$1Q, + mounted: /* @__PURE__ */ __name(function mounted25() { + console.warn("Deprecated since v4. Use Popover component instead."); + }, "mounted") +}; +var OverlayPanelStyle = BaseStyle.extend({ + name: "overlaypanel" +}); +var theme$d = /* @__PURE__ */ __name(function theme27(_ref) { + var dt = _ref.dt; + return "\n.p-panelmenu {\n display: flex;\n flex-direction: column;\n gap: ".concat(dt("panelmenu.gap"), ";\n}\n\n.p-panelmenu-panel {\n background: ").concat(dt("panelmenu.panel.background"), ";\n border-width: ").concat(dt("panelmenu.panel.border.width"), ";\n border-style: solid;\n border-color: ").concat(dt("panelmenu.panel.border.color"), ";\n color: ").concat(dt("panelmenu.panel.color"), ";\n border-radius: ").concat(dt("panelmenu.panel.border.radius"), ";\n padding: ").concat(dt("panelmenu.panel.padding"), ";\n}\n\n.p-panelmenu-panel:first-child {\n border-width: ").concat(dt("panelmenu.panel.first.border.width"), ";\n border-start-start-radius: ").concat(dt("panelmenu.panel.first.top.border.radius"), ";\n border-start-end-radius: ").concat(dt("panelmenu.panel.first.top.border.radius"), ";\n}\n\n.p-panelmenu-panel:last-child {\n border-width: ").concat(dt("panelmenu.panel.last.border.width"), ";\n border-end-start-radius: ").concat(dt("panelmenu.panel.last.bottom.border.radius"), ";\n border-end-end-radius: ").concat(dt("panelmenu.panel.last.bottom.border.radius"), ";\n}\n\n.p-panelmenu-header {\n outline: 0 none;\n}\n\n.p-panelmenu-header-content {\n border-radius: ").concat(dt("panelmenu.item.border.radius"), ";\n transition: background ").concat(dt("panelmenu.transition.duration"), ", color ").concat(dt("panelmenu.transition.duration"), ", outline-color ").concat(dt("panelmenu.transition.duration"), ", box-shadow ").concat(dt("panelmenu.transition.duration"), ";\n outline-color: transparent;\n color: ").concat(dt("panelmenu.item.color"), ";\n}\n\n.p-panelmenu-header-link {\n display: flex;\n gap: ").concat(dt("panelmenu.item.gap"), ";\n padding: ").concat(dt("panelmenu.item.padding"), ";\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n color: inherit;\n}\n\n.p-panelmenu-header-icon,\n.p-panelmenu-item-icon {\n color: ").concat(dt("panelmenu.item.icon.color"), ";\n}\n\n.p-panelmenu-submenu-icon {\n color: ").concat(dt("panelmenu.submenu.icon.color"), ";\n}\n\n.p-panelmenu-submenu-icon:dir(rtl) {\n transform: rotate(180deg);\n}\n\n.p-panelmenu-header:not(.p-disabled):focus-visible .p-panelmenu-header-content {\n background: ").concat(dt("panelmenu.item.focus.background"), ";\n color: ").concat(dt("panelmenu.item.focus.color"), ";\n}\n\n.p-panelmenu-header:not(.p-disabled):focus-visible .p-panelmenu-header-content .p-panelmenu-header-icon {\n color: ").concat(dt("panelmenu.item.icon.focus.color"), ";\n}\n\n.p-panelmenu-header:not(.p-disabled):focus-visible .p-panelmenu-header-content .p-panelmenu-submenu-icon {\n color: ").concat(dt("panelmenu.submenu.icon.focus.color"), ";\n}\n\n.p-panelmenu-header:not(.p-disabled) .p-panelmenu-header-content:hover {\n background: ").concat(dt("panelmenu.item.focus.background"), ";\n color: ").concat(dt("panelmenu.item.focus.color"), ";\n}\n\n.p-panelmenu-header:not(.p-disabled) .p-panelmenu-header-content:hover .p-panelmenu-header-icon {\n color: ").concat(dt("panelmenu.item.icon.focus.color"), ";\n}\n\n.p-panelmenu-header:not(.p-disabled) .p-panelmenu-header-content:hover .p-panelmenu-submenu-icon {\n color: ").concat(dt("panelmenu.submenu.icon.focus.color"), ";\n}\n\n.p-panelmenu-submenu {\n margin: 0;\n padding: 0 0 0 ").concat(dt("panelmenu.submenu.indent"), ";\n outline: 0;\n list-style: none;\n}\n\n.p-panelmenu-submenu:dir(rtl) {\n padding: 0 ").concat(dt("panelmenu.submenu.indent"), " 0 0;\n}\n\n.p-panelmenu-item-link {\n display: flex;\n gap: ").concat(dt("panelmenu.item.gap"), ";\n padding: ").concat(dt("panelmenu.item.padding"), ";\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n color: inherit;\n position: relative;\n overflow: hidden;\n}\n\n.p-panelmenu-item-label {\n line-height: 1;\n}\n\n.p-panelmenu-item-content {\n border-radius: ").concat(dt("panelmenu.item.border.radius"), ";\n transition: background ").concat(dt("panelmenu.transition.duration"), ", color ").concat(dt("panelmenu.transition.duration"), ", outline-color ").concat(dt("panelmenu.transition.duration"), ", box-shadow ").concat(dt("panelmenu.transition.duration"), ";\n color: ").concat(dt("panelmenu.item.color"), ";\n outline-color: transparent;\n}\n\n.p-panelmenu-item.p-focus > .p-panelmenu-item-content {\n background: ").concat(dt("panelmenu.item.focus.background"), ";\n color: ").concat(dt("panelmenu.item.focus.color"), ";\n}\n\n.p-panelmenu-item.p-focus > .p-panelmenu-item-content .p-panelmenu-item-icon {\n color: ").concat(dt("panelmenu.item.focus.color"), ";\n}\n\n.p-panelmenu-item.p-focus > .p-panelmenu-item-content .p-panelmenu-submenu-icon {\n color: ").concat(dt("panelmenu.submenu.icon.focus.color"), ";\n}\n\n.p-panelmenu-item:not(.p-disabled) > .p-panelmenu-item-content:hover {\n background: ").concat(dt("panelmenu.item.focus.background"), ";\n color: ").concat(dt("panelmenu.item.focus.color"), ";\n}\n\n.p-panelmenu-item:not(.p-disabled) > .p-panelmenu-item-content:hover .p-panelmenu-item-icon {\n color: ").concat(dt("panelmenu.item.icon.focus.color"), ";\n}\n\n.p-panelmenu-item:not(.p-disabled) > .p-panelmenu-item-content:hover .p-panelmenu-submenu-icon {\n color: ").concat(dt("panelmenu.submenu.icon.focus.color"), ";\n}\n"); +}, "theme"); +var classes$e = { + root: "p-panelmenu p-component", + panel: "p-panelmenu-panel", + header: /* @__PURE__ */ __name(function header(_ref2) { + var instance = _ref2.instance, item8 = _ref2.item; + return ["p-panelmenu-header", { + "p-panelmenu-header-active": instance.isItemActive(item8) && !!item8.items, + "p-disabled": instance.isItemDisabled(item8) + }]; + }, "header"), + headerContent: "p-panelmenu-header-content", + headerLink: "p-panelmenu-header-link", + headerIcon: "p-panelmenu-header-icon", + headerLabel: "p-panelmenu-header-label", + contentContainer: "p-panelmenu-content-container", + content: "p-panelmenu-content", + rootList: "p-panelmenu-root-list", + item: /* @__PURE__ */ __name(function item5(_ref3) { + var instance = _ref3.instance, processedItem = _ref3.processedItem; + return ["p-panelmenu-item", { + "p-focus": instance.isItemFocused(processedItem), + "p-disabled": instance.isItemDisabled(processedItem) + }]; + }, "item"), + itemContent: "p-panelmenu-item-content", + itemLink: "p-panelmenu-item-link", + itemIcon: "p-panelmenu-item-icon", + itemLabel: "p-panelmenu-item-label", + submenuIcon: "p-panelmenu-submenu-icon", + submenu: "p-panelmenu-submenu", + separator: "p-menuitem-separator" +}; +var PanelMenuStyle = BaseStyle.extend({ + name: "panelmenu", + theme: theme$d, + classes: classes$e +}); +var script$3$1 = { + name: "BasePanelMenu", + "extends": script$1d, + props: { + model: { + type: Array, + "default": null + }, + expandedKeys: { + type: Object, + "default": null + }, + multiple: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": 0 + } + }, + style: PanelMenuStyle, + provide: /* @__PURE__ */ __name(function provide37() { + return { + $pcPanelMenu: this, + $parentInstance: this + }; + }, "provide") +}; +var script$2$1 = { + name: "PanelMenuSub", + hostName: "PanelMenu", + "extends": script$1d, + emits: ["item-toggle", "item-mousemove"], + props: { + panelId: { + type: String, + "default": null + }, + focusedItemId: { + type: String, + "default": null + }, + items: { + type: Array, + "default": null + }, + level: { + type: Number, + "default": 0 + }, + templates: { + type: Object, + "default": null + }, + activeItemPath: { + type: Object, + "default": null + }, + tabindex: { + type: Number, + "default": -1 + } + }, + methods: { + getItemId: /* @__PURE__ */ __name(function getItemId3(processedItem) { + return "".concat(this.panelId, "_").concat(processedItem.key); + }, "getItemId"), + getItemKey: /* @__PURE__ */ __name(function getItemKey2(processedItem) { + return this.getItemId(processedItem); + }, "getItemKey"), + getItemProp: /* @__PURE__ */ __name(function getItemProp5(processedItem, name4, params) { + return processedItem && processedItem.item ? resolve(processedItem.item[name4], params) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel3(processedItem) { + return this.getItemProp(processedItem, "label"); + }, "getItemLabel"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions7(key, processedItem, index) { + return this.ptm(key, { + context: { + item: processedItem.item, + index, + active: this.isItemActive(processedItem), + focused: this.isItemFocused(processedItem), + disabled: this.isItemDisabled(processedItem) + } + }); + }, "getPTOptions"), + isItemActive: /* @__PURE__ */ __name(function isItemActive4(processedItem) { + return this.activeItemPath.some(function(path) { + return path.key === processedItem.key; + }); + }, "isItemActive"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible3(processedItem) { + return this.getItemProp(processedItem, "visible") !== false; + }, "isItemVisible"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled3(processedItem) { + return this.getItemProp(processedItem, "disabled"); + }, "isItemDisabled"), + isItemFocused: /* @__PURE__ */ __name(function isItemFocused3(processedItem) { + return this.focusedItemId === this.getItemId(processedItem); + }, "isItemFocused"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup3(processedItem) { + return isNotEmpty(processedItem.items); + }, "isItemGroup"), + onItemClick: /* @__PURE__ */ __name(function onItemClick5(event2, processedItem) { + this.getItemProp(processedItem, "command", { + originalEvent: event2, + item: processedItem.item + }); + this.$emit("item-toggle", { + processedItem, + expanded: !this.isItemActive(processedItem) + }); + }, "onItemClick"), + onItemToggle: /* @__PURE__ */ __name(function onItemToggle(event2) { + this.$emit("item-toggle", event2); + }, "onItemToggle"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove2(event2, processedItem) { + this.$emit("item-mousemove", { + originalEvent: event2, + processedItem + }); + }, "onItemMouseMove"), + getAriaSetSize: /* @__PURE__ */ __name(function getAriaSetSize2() { + var _this = this; + return this.items.filter(function(processedItem) { + return _this.isItemVisible(processedItem) && !_this.getItemProp(processedItem, "separator"); + }).length; + }, "getAriaSetSize"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset3(index) { + var _this2 = this; + return index - this.items.slice(0, index).filter(function(processedItem) { + return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, "separator"); + }).length + 1; + }, "getAriaPosInset"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps5(processedItem, index) { + return { + action: mergeProps({ + "class": this.cx("itemLink"), + tabindex: -1 + }, this.getPTOptions("itemLink", processedItem, index)), + icon: mergeProps({ + "class": [this.cx("itemIcon"), this.getItemProp(processedItem, "icon")] + }, this.getPTOptions("itemIcon", processedItem, index)), + label: mergeProps({ + "class": this.cx("itemLabel") + }, this.getPTOptions("itemLabel", processedItem, index)), + submenuicon: mergeProps({ + "class": this.cx("submenuIcon") + }, this.getPTOptions("submenuicon", processedItem, index)) + }; + }, "getMenuItemProps") + }, + components: { + ChevronRightIcon: script$1l, + ChevronDownIcon: script$1k + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$1$2 = ["tabindex"]; +var _hoisted_2$1$1 = ["id", "aria-label", "aria-expanded", "aria-level", "aria-setsize", "aria-posinset", "data-p-focused", "data-p-disabled"]; +var _hoisted_3$1$1 = ["onClick", "onMousemove"]; +var _hoisted_4$1$1 = ["href", "target"]; +function render$2$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_PanelMenuSub = resolveComponent("PanelMenuSub", true); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("ul", { + "class": normalizeClass(_ctx.cx("submenu")), + tabindex: $props.tabindex + }, [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function(processedItem, index) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getItemKey(processedItem) + }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $options.getItemId(processedItem), + "class": [_ctx.cx("item", { + processedItem + }), $options.getItemProp(processedItem, "class")], + style: $options.getItemProp(processedItem, "style"), + role: "treeitem", + "aria-label": $options.getItemLabel(processedItem), + "aria-expanded": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : void 0, + "aria-level": $props.level + 1, + "aria-setsize": $options.getAriaSetSize(), + "aria-posinset": $options.getAriaPosInset(index), + ref_for: true + }, $options.getPTOptions("item", processedItem, index), { + "data-p-focused": $options.isItemFocused(processedItem), + "data-p-disabled": $options.isItemDisabled(processedItem) + }), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("itemContent"), + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onItemClick($event, processedItem); + }, "onClick"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onItemMouseMove($event, processedItem); + }, "onMousemove"), + ref_for: true + }, $options.getPTOptions("itemContent", processedItem, index)), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock("a", mergeProps({ + key: 0, + href: $options.getItemProp(processedItem, "url"), + "class": _ctx.cx("itemLink"), + target: $options.getItemProp(processedItem, "target"), + tabindex: "-1", + ref_for: true + }, $options.getPTOptions("itemLink", processedItem, index)), [$options.isItemGroup(processedItem) ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), mergeProps({ + key: 0, + "class": _ctx.cx("submenuIcon"), + active: $options.isItemActive(processedItem), + ref_for: true + }, $options.getPTOptions("submenuIcon", processedItem, index)), null, 16, ["class", "active"])) : (openBlock(), createBlock(resolveDynamicComponent($options.isItemActive(processedItem) ? "ChevronDownIcon" : "ChevronRightIcon"), mergeProps({ + key: 1, + "class": _ctx.cx("submenuIcon"), + ref_for: true + }, $options.getPTOptions("submenuIcon", processedItem, index)), null, 16, ["class"]))], 64)) : createCommentVNode("", true), $props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), { + key: 1, + item: processedItem.item, + "class": normalizeClass(_ctx.cx("itemIcon")) + }, null, 8, ["item", "class"])) : $options.getItemProp(processedItem, "icon") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 2, + "class": [_ctx.cx("itemIcon"), $options.getItemProp(processedItem, "icon")], + ref_for: true + }, $options.getPTOptions("itemIcon", processedItem, index)), null, 16)) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("itemLabel"), + ref_for: true + }, $options.getPTOptions("itemLabel", processedItem, index)), toDisplayString($options.getItemLabel(processedItem)), 17)], 16, _hoisted_4$1$1)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { + key: 1, + item: processedItem.item, + root: false, + active: $options.isItemActive(processedItem), + hasSubmenu: $options.isItemGroup(processedItem), + label: $options.getItemLabel(processedItem), + props: $options.getMenuItemProps(processedItem, index) + }, null, 8, ["item", "active", "hasSubmenu", "label", "props"]))], 16, _hoisted_3$1$1), createVNode(Transition, mergeProps({ + name: "p-toggleable-content", + ref_for: true + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [withDirectives(createBaseVNode("div", mergeProps({ + "class": _ctx.cx("contentContainer"), + ref_for: true + }, _ctx.ptm("contentContainer")), [$options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_PanelMenuSub, mergeProps({ + key: 0, + id: $options.getItemId(processedItem) + "_list", + role: "group", + panelId: $props.panelId, + focusedItemId: $props.focusedItemId, + items: processedItem.items, + level: $props.level + 1, + templates: $props.templates, + activeItemPath: $props.activeItemPath, + onItemToggle: $options.onItemToggle, + onItemMousemove: _cache[0] || (_cache[0] = function($event) { + return _ctx.$emit("item-mousemove", $event); + }), + pt: _ctx.pt, + unstyled: _ctx.unstyled, + ref_for: true + }, _ctx.ptm("submenu")), null, 16, ["id", "panelId", "focusedItemId", "items", "level", "templates", "activeItemPath", "onItemToggle", "pt", "unstyled"])) : createCommentVNode("", true)], 16), [[vShow, $options.isItemActive(processedItem)]])]; + }), + _: 2 + }, 1040)], 16, _hoisted_2$1$1)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 1, + style: $options.getItemProp(processedItem, "style"), + "class": [_ctx.cx("separator"), $options.getItemProp(processedItem, "class")], + role: "separator", + ref_for: true + }, _ctx.ptm("separator")), null, 16)) : createCommentVNode("", true)], 64); + }), 128))], 10, _hoisted_1$1$2); +} +__name(render$2$1, "render$2$1"); +script$2$1.render = render$2$1; +function _slicedToArray(r, e) { + return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray$5(r, e) || _nonIterableRest(); +} +__name(_slicedToArray, "_slicedToArray"); +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableRest, "_nonIterableRest"); +function _unsupportedIterableToArray$5(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$5(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$5(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$5, "_unsupportedIterableToArray$5"); +function _arrayLikeToArray$5(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$5, "_arrayLikeToArray$5"); +function _iterableToArrayLimit(r, l) { + var t2 = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t2) { + var e, n, i, u, a = [], f = true, o = false; + try { + if (i = (t2 = t2.call(r)).next, 0 === l) ; + else for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) ; + } catch (r2) { + o = true, n = r2; + } finally { + try { + if (!f && null != t2["return"] && (u = t2["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } +} +__name(_iterableToArrayLimit, "_iterableToArrayLimit"); +function _arrayWithHoles(r) { + if (Array.isArray(r)) return r; +} +__name(_arrayWithHoles, "_arrayWithHoles"); +var script$1$e = { + name: "PanelMenuList", + hostName: "PanelMenu", + "extends": script$1d, + emits: ["item-toggle", "header-focus"], + props: { + panelId: { + type: String, + "default": null + }, + items: { + type: Array, + "default": null + }, + templates: { + type: Object, + "default": null + }, + expandedKeys: { + type: Object, + "default": null + } + }, + searchTimeout: null, + searchValue: null, + data: /* @__PURE__ */ __name(function data25() { + return { + focused: false, + focusedItem: null, + activeItemPath: [] + }; + }, "data"), + watch: { + expandedKeys: /* @__PURE__ */ __name(function expandedKeys(newValue) { + this.autoUpdateActiveItemPath(newValue); + }, "expandedKeys") + }, + mounted: /* @__PURE__ */ __name(function mounted26() { + this.autoUpdateActiveItemPath(this.expandedKeys); + }, "mounted"), + methods: { + getItemProp: /* @__PURE__ */ __name(function getItemProp6(processedItem, name4) { + return processedItem && processedItem.item ? resolve(processedItem.item[name4]) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel4(processedItem) { + return this.getItemProp(processedItem, "label"); + }, "getItemLabel"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible4(processedItem) { + return this.getItemProp(processedItem, "visible") !== false; + }, "isItemVisible"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled4(processedItem) { + return this.getItemProp(processedItem, "disabled"); + }, "isItemDisabled"), + isItemActive: /* @__PURE__ */ __name(function isItemActive5(processedItem) { + return this.activeItemPath.some(function(path) { + return path.key === processedItem.parentKey; + }); + }, "isItemActive"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup4(processedItem) { + return isNotEmpty(processedItem.items); + }, "isItemGroup"), + onFocus: /* @__PURE__ */ __name(function onFocus10(event2) { + this.focused = true; + this.focusedItem = this.focusedItem || (this.isElementInPanel(event2, event2.relatedTarget) ? this.findFirstItem() : this.findLastItem()); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur10() { + this.focused = false; + this.focusedItem = null; + this.searchValue = ""; + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown10(event2) { + var metaKey = event2.metaKey || event2.ctrlKey; + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "ArrowUp": + this.onArrowUpKey(event2); + break; + case "ArrowLeft": + this.onArrowLeftKey(event2); + break; + case "ArrowRight": + this.onArrowRightKey(event2); + break; + case "Home": + this.onHomeKey(event2); + break; + case "End": + this.onEndKey(event2); + break; + case "Space": + this.onSpaceKey(event2); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event2); + break; + case "Escape": + case "Tab": + case "PageDown": + case "PageUp": + case "Backspace": + case "ShiftLeft": + case "ShiftRight": + break; + default: + if (!metaKey && isPrintableCharacter(event2.key)) { + this.searchItems(event2, event2.key); + } + break; + } + }, "onKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey7(event2) { + var processedItem = isNotEmpty(this.focusedItem) ? this.findNextItem(this.focusedItem) : this.findFirstItem(); + this.changeFocusedItem({ + originalEvent: event2, + processedItem, + focusOnNext: true + }); + event2.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey7(event2) { + var processedItem = isNotEmpty(this.focusedItem) ? this.findPrevItem(this.focusedItem) : this.findLastItem(); + this.changeFocusedItem({ + originalEvent: event2, + processedItem, + selfCheck: true + }); + event2.preventDefault(); + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey4(event2) { + var _this = this; + if (isNotEmpty(this.focusedItem)) { + var matched = this.activeItemPath.some(function(p) { + return p.key === _this.focusedItem.key; + }); + if (matched) { + this.activeItemPath = this.activeItemPath.filter(function(p) { + return p.key !== _this.focusedItem.key; + }); + } else { + this.focusedItem = isNotEmpty(this.focusedItem.parent) ? this.focusedItem.parent : this.focusedItem; + } + event2.preventDefault(); + } + }, "onArrowLeftKey"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey3(event2) { + var _this2 = this; + if (isNotEmpty(this.focusedItem)) { + var grouped = this.isItemGroup(this.focusedItem); + if (grouped) { + var matched = this.activeItemPath.some(function(p) { + return p.key === _this2.focusedItem.key; + }); + if (matched) { + this.onArrowDownKey(event2); + } else { + this.activeItemPath = this.activeItemPath.filter(function(p) { + return p.parentKey !== _this2.focusedItem.parentKey; + }); + this.activeItemPath.push(this.focusedItem); + } + } + event2.preventDefault(); + } + }, "onArrowRightKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey7(event2) { + this.changeFocusedItem({ + originalEvent: event2, + processedItem: this.findFirstItem(), + allowHeaderFocus: false + }); + event2.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey7(event2) { + this.changeFocusedItem({ + originalEvent: event2, + processedItem: this.findLastItem(), + focusOnNext: true, + allowHeaderFocus: false + }); + event2.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey6(event2) { + if (isNotEmpty(this.focusedItem)) { + var element = findSingle(this.$el, 'li[id="'.concat("".concat(this.focusedItemId), '"]')); + var anchorElement = element && (findSingle(element, '[data-pc-section="itemlink"]') || findSingle(element, "a,button")); + anchorElement ? anchorElement.click() : element && element.click(); + } + event2.preventDefault(); + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey5(event2) { + this.onEnterKey(event2); + }, "onSpaceKey"), + onItemToggle: /* @__PURE__ */ __name(function onItemToggle2(event2) { + var processedItem = event2.processedItem, expanded3 = event2.expanded; + if (this.expandedKeys) { + this.$emit("item-toggle", { + item: processedItem.item, + expanded: expanded3 + }); + } else { + this.activeItemPath = this.activeItemPath.filter(function(p) { + return p.parentKey !== processedItem.parentKey; + }); + expanded3 && this.activeItemPath.push(processedItem); + } + this.focusedItem = processedItem; + focus(this.$el); + }, "onItemToggle"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove3(event2) { + if (this.focused) { + this.focusedItem = event2.processedItem; + } + }, "onItemMouseMove"), + isElementInPanel: /* @__PURE__ */ __name(function isElementInPanel(event2, element) { + var panel2 = event2.currentTarget.closest('[data-pc-section="panel"]'); + return panel2 && panel2.contains(element); + }, "isElementInPanel"), + isItemMatched: /* @__PURE__ */ __name(function isItemMatched2(processedItem) { + var _this$getItemLabel; + return this.isValidItem(processedItem) && ((_this$getItemLabel = this.getItemLabel(processedItem)) === null || _this$getItemLabel === void 0 ? void 0 : _this$getItemLabel.toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale))); + }, "isItemMatched"), + isVisibleItem: /* @__PURE__ */ __name(function isVisibleItem(processedItem) { + return !!processedItem && (processedItem.level === 0 || this.isItemActive(processedItem)) && this.isItemVisible(processedItem); + }, "isVisibleItem"), + isValidItem: /* @__PURE__ */ __name(function isValidItem2(processedItem) { + return !!processedItem && !this.isItemDisabled(processedItem) && !this.getItemProp(processedItem, "separator"); + }, "isValidItem"), + findFirstItem: /* @__PURE__ */ __name(function findFirstItem() { + var _this3 = this; + return this.visibleItems.find(function(processedItem) { + return _this3.isValidItem(processedItem); + }); + }, "findFirstItem"), + findLastItem: /* @__PURE__ */ __name(function findLastItem() { + var _this4 = this; + return findLast(this.visibleItems, function(processedItem) { + return _this4.isValidItem(processedItem); + }); + }, "findLastItem"), + findNextItem: /* @__PURE__ */ __name(function findNextItem(processedItem) { + var _this5 = this; + var index = this.visibleItems.findIndex(function(item8) { + return item8.key === processedItem.key; + }); + var matchedItem = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).find(function(pItem) { + return _this5.isValidItem(pItem); + }) : void 0; + return matchedItem || processedItem; + }, "findNextItem"), + findPrevItem: /* @__PURE__ */ __name(function findPrevItem(processedItem) { + var _this6 = this; + var index = this.visibleItems.findIndex(function(item8) { + return item8.key === processedItem.key; + }); + var matchedItem = index > 0 ? findLast(this.visibleItems.slice(0, index), function(pItem) { + return _this6.isValidItem(pItem); + }) : void 0; + return matchedItem || processedItem; + }, "findPrevItem"), + searchItems: /* @__PURE__ */ __name(function searchItems2(event2, _char) { + var _this7 = this; + this.searchValue = (this.searchValue || "") + _char; + var matchedItem = null; + var matched = false; + if (isNotEmpty(this.focusedItem)) { + var focusedItemIndex = this.visibleItems.findIndex(function(processedItem) { + return processedItem.key === _this7.focusedItem.key; + }); + matchedItem = this.visibleItems.slice(focusedItemIndex).find(function(processedItem) { + return _this7.isItemMatched(processedItem); + }); + matchedItem = isEmpty(matchedItem) ? this.visibleItems.slice(0, focusedItemIndex).find(function(processedItem) { + return _this7.isItemMatched(processedItem); + }) : matchedItem; + } else { + matchedItem = this.visibleItems.find(function(processedItem) { + return _this7.isItemMatched(processedItem); + }); + } + if (isNotEmpty(matchedItem)) { + matched = true; + } + if (isEmpty(matchedItem) && isEmpty(this.focusedItem)) { + matchedItem = this.findFirstItem(); + } + if (isNotEmpty(matchedItem)) { + this.changeFocusedItem({ + originalEvent: event2, + processedItem: matchedItem, + allowHeaderFocus: false + }); + } + if (this.searchTimeout) { + clearTimeout(this.searchTimeout); + } + this.searchTimeout = setTimeout(function() { + _this7.searchValue = ""; + _this7.searchTimeout = null; + }, 500); + return matched; + }, "searchItems"), + changeFocusedItem: /* @__PURE__ */ __name(function changeFocusedItem(event2) { + var originalEvent = event2.originalEvent, processedItem = event2.processedItem, focusOnNext = event2.focusOnNext, selfCheck = event2.selfCheck, _event$allowHeaderFoc = event2.allowHeaderFocus, allowHeaderFocus = _event$allowHeaderFoc === void 0 ? true : _event$allowHeaderFoc; + if (isNotEmpty(this.focusedItem) && this.focusedItem.key !== processedItem.key) { + this.focusedItem = processedItem; + this.scrollInView(); + } else if (allowHeaderFocus) { + this.$emit("header-focus", { + originalEvent, + focusOnNext, + selfCheck + }); + } + }, "changeFocusedItem"), + scrollInView: /* @__PURE__ */ __name(function scrollInView5() { + var element = findSingle(this.$el, 'li[id="'.concat("".concat(this.focusedItemId), '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "start" + }); + } + }, "scrollInView"), + autoUpdateActiveItemPath: /* @__PURE__ */ __name(function autoUpdateActiveItemPath(expandedKeys4) { + var _this8 = this; + this.activeItemPath = Object.entries(expandedKeys4 || {}).reduce(function(acc, _ref) { + var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], val = _ref2[1]; + if (val) { + var processedItem = _this8.findProcessedItemByItemKey(key); + processedItem && acc.push(processedItem); + } + return acc; + }, []); + }, "autoUpdateActiveItemPath"), + findProcessedItemByItemKey: /* @__PURE__ */ __name(function findProcessedItemByItemKey(key, processedItems3) { + var level = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0; + processedItems3 = processedItems3 || level === 0 && this.processedItems; + if (!processedItems3) return null; + for (var i = 0; i < processedItems3.length; i++) { + var processedItem = processedItems3[i]; + if (this.getItemProp(processedItem, "key") === key) return processedItem; + var matchedItem = this.findProcessedItemByItemKey(key, processedItem.items, level + 1); + if (matchedItem) return matchedItem; + } + }, "findProcessedItemByItemKey"), + createProcessedItems: /* @__PURE__ */ __name(function createProcessedItems2(items2) { + var _this9 = this; + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + var parent = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var parentKey = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ""; + var processedItems3 = []; + items2 && items2.forEach(function(item8, index) { + var key = (parentKey !== "" ? parentKey + "_" : "") + index; + var newItem = { + item: item8, + index, + level, + key, + parent, + parentKey + }; + newItem["items"] = _this9.createProcessedItems(item8.items, level + 1, newItem, key); + processedItems3.push(newItem); + }); + return processedItems3; + }, "createProcessedItems"), + flatItems: /* @__PURE__ */ __name(function flatItems(processedItems3) { + var _this10 = this; + var processedFlattenItems = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : []; + processedItems3 && processedItems3.forEach(function(processedItem) { + if (_this10.isVisibleItem(processedItem)) { + processedFlattenItems.push(processedItem); + _this10.flatItems(processedItem.items, processedFlattenItems); + } + }); + return processedFlattenItems; + }, "flatItems") + }, + computed: { + processedItems: /* @__PURE__ */ __name(function processedItems2() { + return this.createProcessedItems(this.items || []); + }, "processedItems"), + visibleItems: /* @__PURE__ */ __name(function visibleItems2() { + return this.flatItems(this.processedItems); + }, "visibleItems"), + focusedItemId: /* @__PURE__ */ __name(function focusedItemId2() { + return isNotEmpty(this.focusedItem) ? "".concat(this.panelId, "_").concat(this.focusedItem.key) : null; + }, "focusedItemId") + }, + components: { + PanelMenuSub: script$2$1 + } +}; +function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_PanelMenuSub = resolveComponent("PanelMenuSub"); + return openBlock(), createBlock(_component_PanelMenuSub, mergeProps({ + id: $props.panelId + "_list", + "class": _ctx.cx("rootList"), + role: "tree", + tabindex: -1, + "aria-activedescendant": $data.focused ? $options.focusedItemId : void 0, + panelId: $props.panelId, + focusedItemId: $data.focused ? $options.focusedItemId : void 0, + items: $options.processedItems, + templates: $props.templates, + activeItemPath: $data.activeItemPath, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeydown: $options.onKeyDown, + onItemToggle: $options.onItemToggle, + onItemMousemove: $options.onItemMouseMove, + pt: _ctx.pt, + unstyled: _ctx.unstyled + }, _ctx.ptm("rootList")), null, 16, ["id", "class", "aria-activedescendant", "panelId", "focusedItemId", "items", "templates", "activeItemPath", "onFocus", "onBlur", "onKeydown", "onItemToggle", "onItemMousemove", "pt", "unstyled"]); +} +__name(render$1$1, "render$1$1"); +script$1$e.render = render$1$1; +function _typeof$b(o) { + "@babel/helpers - typeof"; + return _typeof$b = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$b(o); +} +__name(_typeof$b, "_typeof$b"); +function ownKeys$a(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$a, "ownKeys$a"); +function _objectSpread$a(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$a(Object(t2), true).forEach(function(r2) { + _defineProperty$b(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$a(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$a, "_objectSpread$a"); +function _defineProperty$b(e, r, t2) { + return (r = _toPropertyKey$b(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$b, "_defineProperty$b"); +function _toPropertyKey$b(t2) { + var i = _toPrimitive$b(t2, "string"); + return "symbol" == _typeof$b(i) ? i : i + ""; +} +__name(_toPropertyKey$b, "_toPropertyKey$b"); +function _toPrimitive$b(t2, r) { + if ("object" != _typeof$b(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$b(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$b, "_toPrimitive$b"); +var script$p = { + name: "PanelMenu", + "extends": script$3$1, + inheritAttrs: false, + emits: ["update:expandedKeys", "panel-open", "panel-close"], + data: /* @__PURE__ */ __name(function data26() { + return { + id: this.$attrs.id, + activeItem: null, + activeItems: [] + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId9(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId") + }, + mounted: /* @__PURE__ */ __name(function mounted27() { + this.id = this.id || UniqueComponentId(); + }, "mounted"), + methods: { + getItemProp: /* @__PURE__ */ __name(function getItemProp7(item8, name4) { + return item8 ? resolve(item8[name4]) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel5(item8) { + return this.getItemProp(item8, "label"); + }, "getItemLabel"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions8(key, item8, index) { + return this.ptm(key, { + context: { + index, + active: this.isItemActive(item8), + focused: this.isItemFocused(item8), + disabled: this.isItemDisabled(item8) + } + }); + }, "getPTOptions"), + isItemActive: /* @__PURE__ */ __name(function isItemActive6(item8) { + return this.expandedKeys ? this.expandedKeys[this.getItemProp(item8, "key")] : this.multiple ? this.activeItems.some(function(subItem) { + return equals(item8, subItem); + }) : equals(item8, this.activeItem); + }, "isItemActive"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible5(item8) { + return this.getItemProp(item8, "visible") !== false; + }, "isItemVisible"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled5(item8) { + return this.getItemProp(item8, "disabled"); + }, "isItemDisabled"), + isItemFocused: /* @__PURE__ */ __name(function isItemFocused4(item8) { + return equals(item8, this.activeItem); + }, "isItemFocused"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup5(item8) { + return isNotEmpty(item8.items); + }, "isItemGroup"), + getPanelId: /* @__PURE__ */ __name(function getPanelId(index) { + return "".concat(this.id, "_").concat(index); + }, "getPanelId"), + getPanelKey: /* @__PURE__ */ __name(function getPanelKey(index) { + return this.getPanelId(index); + }, "getPanelKey"), + getHeaderId: /* @__PURE__ */ __name(function getHeaderId(index) { + return "".concat(this.getPanelId(index), "_header"); + }, "getHeaderId"), + getContentId: /* @__PURE__ */ __name(function getContentId(index) { + return "".concat(this.getPanelId(index), "_content"); + }, "getContentId"), + onHeaderClick: /* @__PURE__ */ __name(function onHeaderClick(event2, item8) { + if (this.isItemDisabled(item8)) { + event2.preventDefault(); + return; + } + if (item8.command) { + item8.command({ + originalEvent: event2, + item: item8 + }); + } + this.changeActiveItem(event2, item8); + focus(event2.currentTarget); + }, "onHeaderClick"), + onHeaderKeyDown: /* @__PURE__ */ __name(function onHeaderKeyDown(event2, item8) { + switch (event2.code) { + case "ArrowDown": + this.onHeaderArrowDownKey(event2); + break; + case "ArrowUp": + this.onHeaderArrowUpKey(event2); + break; + case "Home": + this.onHeaderHomeKey(event2); + break; + case "End": + this.onHeaderEndKey(event2); + break; + case "Enter": + case "NumpadEnter": + case "Space": + this.onHeaderEnterKey(event2, item8); + break; + } + }, "onHeaderKeyDown"), + onHeaderArrowDownKey: /* @__PURE__ */ __name(function onHeaderArrowDownKey(event2) { + var rootList2 = getAttribute(event2.currentTarget, "data-p-active") === true ? findSingle(event2.currentTarget.nextElementSibling, '[data-pc-section="rootlist"]') : null; + rootList2 ? focus(rootList2) : this.updateFocusedHeader({ + originalEvent: event2, + focusOnNext: true + }); + event2.preventDefault(); + }, "onHeaderArrowDownKey"), + onHeaderArrowUpKey: /* @__PURE__ */ __name(function onHeaderArrowUpKey(event2) { + var prevHeader = this.findPrevHeader(event2.currentTarget.parentElement) || this.findLastHeader(); + var rootList2 = getAttribute(prevHeader, "data-p-active") === true ? findSingle(prevHeader.nextElementSibling, '[data-pc-section="rootlist"]') : null; + rootList2 ? focus(rootList2) : this.updateFocusedHeader({ + originalEvent: event2, + focusOnNext: false + }); + event2.preventDefault(); + }, "onHeaderArrowUpKey"), + onHeaderHomeKey: /* @__PURE__ */ __name(function onHeaderHomeKey(event2) { + this.changeFocusedHeader(event2, this.findFirstHeader()); + event2.preventDefault(); + }, "onHeaderHomeKey"), + onHeaderEndKey: /* @__PURE__ */ __name(function onHeaderEndKey(event2) { + this.changeFocusedHeader(event2, this.findLastHeader()); + event2.preventDefault(); + }, "onHeaderEndKey"), + onHeaderEnterKey: /* @__PURE__ */ __name(function onHeaderEnterKey(event2, item8) { + var headerAction = findSingle(event2.currentTarget, '[data-pc-section="headerlink"]'); + headerAction ? headerAction.click() : this.onHeaderClick(event2, item8); + event2.preventDefault(); + }, "onHeaderEnterKey"), + findNextHeader: /* @__PURE__ */ __name(function findNextHeader(panelElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var nextPanelElement = selfCheck ? panelElement : panelElement.nextElementSibling; + var headerElement = findSingle(nextPanelElement, '[data-pc-section="header"]'); + return headerElement ? getAttribute(headerElement, "data-p-disabled") ? this.findNextHeader(headerElement.parentElement) : headerElement : null; + }, "findNextHeader"), + findPrevHeader: /* @__PURE__ */ __name(function findPrevHeader(panelElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var prevPanelElement = selfCheck ? panelElement : panelElement.previousElementSibling; + var headerElement = findSingle(prevPanelElement, '[data-pc-section="header"]'); + return headerElement ? getAttribute(headerElement, "data-p-disabled") ? this.findPrevHeader(headerElement.parentElement) : headerElement : null; + }, "findPrevHeader"), + findFirstHeader: /* @__PURE__ */ __name(function findFirstHeader() { + return this.findNextHeader(this.$el.firstElementChild, true); + }, "findFirstHeader"), + findLastHeader: /* @__PURE__ */ __name(function findLastHeader() { + return this.findPrevHeader(this.$el.lastElementChild, true); + }, "findLastHeader"), + updateFocusedHeader: /* @__PURE__ */ __name(function updateFocusedHeader(event2) { + var originalEvent = event2.originalEvent, focusOnNext = event2.focusOnNext, selfCheck = event2.selfCheck; + var panelElement = originalEvent.currentTarget.closest('[data-pc-section="panel"]'); + var header2 = selfCheck ? findSingle(panelElement, '[data-pc-section="header"]') : focusOnNext ? this.findNextHeader(panelElement) : this.findPrevHeader(panelElement); + header2 ? this.changeFocusedHeader(originalEvent, header2) : focusOnNext ? this.onHeaderHomeKey(originalEvent) : this.onHeaderEndKey(originalEvent); + }, "updateFocusedHeader"), + changeActiveItem: /* @__PURE__ */ __name(function changeActiveItem(event2, item8) { + var selfActive = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false; + if (!this.isItemDisabled(item8)) { + var active3 = this.isItemActive(item8); + var eventName = !active3 ? "panel-open" : "panel-close"; + this.activeItem = selfActive ? item8 : this.activeItem && equals(item8, this.activeItem) ? null : item8; + if (this.multiple) { + if (this.activeItems.some(function(subItem) { + return equals(item8, subItem); + })) { + this.activeItems = this.activeItems.filter(function(subItem) { + return !equals(item8, subItem); + }); + } else { + this.activeItems.push(item8); + } + } + this.changeExpandedKeys({ + item: item8, + expanded: !active3 + }); + this.$emit(eventName, { + originalEvent: event2, + item: item8 + }); + } + }, "changeActiveItem"), + changeExpandedKeys: /* @__PURE__ */ __name(function changeExpandedKeys(_ref) { + var item8 = _ref.item, _ref$expanded = _ref.expanded, expanded3 = _ref$expanded === void 0 ? false : _ref$expanded; + if (this.expandedKeys) { + var _keys = _objectSpread$a({}, this.expandedKeys); + if (expanded3) _keys[item8.key] = true; + else delete _keys[item8.key]; + this.$emit("update:expandedKeys", _keys); + } + }, "changeExpandedKeys"), + changeFocusedHeader: /* @__PURE__ */ __name(function changeFocusedHeader(event2, element) { + element && focus(element); + }, "changeFocusedHeader"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps6(item8, index) { + return { + icon: mergeProps({ + "class": [this.cx("headerIcon"), this.getItemProp(item8, "icon")] + }, this.getPTOptions("headerIcon", item8, index)), + label: mergeProps({ + "class": this.cx("headerLabel") + }, this.getPTOptions("headerLabel", item8, index)) + }; + }, "getMenuItemProps") + }, + components: { + PanelMenuList: script$1$e, + ChevronRightIcon: script$1l, + ChevronDownIcon: script$1k + } +}; +var _hoisted_1$d = ["id"]; +var _hoisted_2$9 = ["id", "tabindex", "aria-label", "aria-expanded", "aria-controls", "aria-disabled", "onClick", "onKeydown", "data-p-active", "data-p-disabled"]; +var _hoisted_3$6 = ["href"]; +var _hoisted_4$4 = ["id", "aria-labelledby"]; +function render$m(_ctx, _cache, $props, $setup, $data, $options) { + var _component_PanelMenuList = resolveComponent("PanelMenuList"); + return openBlock(), createElementBlock("div", mergeProps({ + id: $data.id, + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.model, function(item8, index) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getPanelKey(index) + }, [$options.isItemVisible(item8) ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + style: $options.getItemProp(item8, "style"), + "class": [_ctx.cx("panel"), $options.getItemProp(item8, "class")], + ref_for: true + }, _ctx.ptm("panel")), [createBaseVNode("div", mergeProps({ + id: $options.getHeaderId(index), + "class": [_ctx.cx("header", { + item: item8 + }), $options.getItemProp(item8, "headerClass")], + tabindex: $options.isItemDisabled(item8) ? -1 : _ctx.tabindex, + role: "button", + "aria-label": $options.getItemLabel(item8), + "aria-expanded": $options.isItemActive(item8), + "aria-controls": $options.getContentId(index), + "aria-disabled": $options.isItemDisabled(item8), + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onHeaderClick($event, item8); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + return $options.onHeaderKeyDown($event, item8); + }, "onKeydown"), + ref_for: true + }, $options.getPTOptions("header", item8, index), { + "data-p-active": $options.isItemActive(item8), + "data-p-disabled": $options.isItemDisabled(item8) + }), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("headerContent"), + ref_for: true + }, $options.getPTOptions("headerContent", item8, index)), [!_ctx.$slots.item ? (openBlock(), createElementBlock("a", mergeProps({ + key: 0, + href: $options.getItemProp(item8, "url"), + "class": _ctx.cx("headerLink"), + tabindex: -1, + ref_for: true + }, $options.getPTOptions("headerLink", item8, index)), [$options.getItemProp(item8, "items") ? renderSlot(_ctx.$slots, "submenuicon", { + key: 0, + active: $options.isItemActive(item8) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent($options.isItemActive(item8) ? "ChevronDownIcon" : "ChevronRightIcon"), mergeProps({ + "class": _ctx.cx("submenuIcon"), + ref_for: true + }, $options.getPTOptions("submenuIcon", item8, index)), null, 16, ["class"]))]; + }) : createCommentVNode("", true), _ctx.$slots.headericon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.headericon), { + key: 1, + item: item8, + "class": normalizeClass([_ctx.cx("headerIcon"), $options.getItemProp(item8, "icon")]) + }, null, 8, ["item", "class"])) : $options.getItemProp(item8, "icon") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 2, + "class": [_ctx.cx("headerIcon"), $options.getItemProp(item8, "icon")], + ref_for: true + }, $options.getPTOptions("headerIcon", item8, index)), null, 16)) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("headerLabel"), + ref_for: true + }, $options.getPTOptions("headerLabel", item8, index)), toDisplayString($options.getItemLabel(item8)), 17)], 16, _hoisted_3$6)) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.item), { + key: 1, + item: item8, + root: true, + active: $options.isItemActive(item8), + hasSubmenu: $options.isItemGroup(item8), + label: $options.getItemLabel(item8), + props: $options.getMenuItemProps(item8, index) + }, null, 8, ["item", "active", "hasSubmenu", "label", "props"]))], 16)], 16, _hoisted_2$9), createVNode(Transition, mergeProps({ + name: "p-toggleable-content", + ref_for: true + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [withDirectives(createBaseVNode("div", mergeProps({ + id: $options.getContentId(index), + "class": _ctx.cx("contentContainer"), + role: "region", + "aria-labelledby": $options.getHeaderId(index), + ref_for: true + }, _ctx.ptm("contentContainer")), [$options.getItemProp(item8, "items") ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("content"), + ref_for: true + }, _ctx.ptm("content")), [createVNode(_component_PanelMenuList, { + panelId: $options.getPanelId(index), + items: $options.getItemProp(item8, "items"), + templates: _ctx.$slots, + expandedKeys: _ctx.expandedKeys, + onItemToggle: $options.changeExpandedKeys, + onHeaderFocus: $options.updateFocusedHeader, + pt: _ctx.pt, + unstyled: _ctx.unstyled + }, null, 8, ["panelId", "items", "templates", "expandedKeys", "onItemToggle", "onHeaderFocus", "pt", "unstyled"])], 16)) : createCommentVNode("", true)], 16, _hoisted_4$4), [[vShow, $options.isItemActive(item8)]])]; + }), + _: 2 + }, 1040)], 16)) : createCommentVNode("", true)], 64); + }), 128))], 16, _hoisted_1$d); +} +__name(render$m, "render$m"); +script$p.render = render$m; +var script$o = { + name: "EyeSlashIcon", + "extends": script$1m +}; +function render$l(_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.9414 6.74792C13.9437 6.75295 13.9455 6.757 13.9469 6.76003C13.982 6.8394 14.0001 6.9252 14.0001 7.01195C14.0001 7.0987 13.982 7.1845 13.9469 7.26386C13.6004 8.00059 13.1711 8.69549 12.6674 9.33515C12.6115 9.4071 12.54 9.46538 12.4582 9.50556C12.3765 9.54574 12.2866 9.56678 12.1955 9.56707C12.0834 9.56671 11.9737 9.53496 11.8788 9.47541C11.7838 9.41586 11.7074 9.3309 11.6583 9.23015C11.6092 9.12941 11.5893 9.01691 11.6008 8.90543C11.6124 8.79394 11.6549 8.68793 11.7237 8.5994C12.1065 8.09726 12.4437 7.56199 12.7313 6.99995C12.2595 6.08027 10.3402 2.8014 6.99732 2.8014C6.63723 2.80218 6.27816 2.83969 5.92569 2.91336C5.77666 2.93304 5.62568 2.89606 5.50263 2.80972C5.37958 2.72337 5.29344 2.59398 5.26125 2.44714C5.22907 2.30031 5.2532 2.14674 5.32885 2.01685C5.40451 1.88696 5.52618 1.79021 5.66978 1.74576C6.10574 1.64961 6.55089 1.60134 6.99732 1.60181C11.5916 1.60181 13.7864 6.40856 13.9414 6.74792ZM2.20333 1.61685C2.35871 1.61411 2.5091 1.67179 2.6228 1.77774L12.2195 11.3744C12.3318 11.4869 12.3949 11.6393 12.3949 11.7983C12.3949 11.9572 12.3318 12.1097 12.2195 12.2221C12.107 12.3345 11.9546 12.3976 11.7956 12.3976C11.6367 12.3976 11.4842 12.3345 11.3718 12.2221L10.5081 11.3584C9.46549 12.0426 8.24432 12.4042 6.99729 12.3981C2.403 12.3981 0.208197 7.59135 0.0532336 7.25198C0.0509364 7.24694 0.0490875 7.2429 0.0476856 7.23986C0.0162332 7.16518 3.05176e-05 7.08497 3.05176e-05 7.00394C3.05176e-05 6.92291 0.0162332 6.8427 0.0476856 6.76802C0.631261 5.47831 1.46902 4.31959 2.51084 3.36119L1.77509 2.62545C1.66914 2.51175 1.61146 2.36136 1.61421 2.20597C1.61695 2.05059 1.6799 1.90233 1.78979 1.79244C1.89968 1.68254 2.04794 1.6196 2.20333 1.61685ZM7.45314 8.35147L5.68574 6.57609V6.5361C5.5872 6.78938 5.56498 7.06597 5.62183 7.33173C5.67868 7.59749 5.8121 7.84078 6.00563 8.03158C6.19567 8.21043 6.43052 8.33458 6.68533 8.39089C6.94014 8.44721 7.20543 8.43359 7.45314 8.35147ZM1.26327 6.99994C1.7351 7.91163 3.64645 11.1985 6.99729 11.1985C7.9267 11.2048 8.8408 10.9618 9.64438 10.4947L8.35682 9.20718C7.86027 9.51441 7.27449 9.64491 6.69448 9.57752C6.11446 9.51014 5.57421 9.24881 5.16131 8.83592C4.74842 8.42303 4.4871 7.88277 4.41971 7.30276C4.35232 6.72274 4.48282 6.13697 4.79005 5.64041L3.35855 4.2089C2.4954 5.00336 1.78523 5.94935 1.26327 6.99994Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$l, "render$l"); +script$o.render = render$l; +var theme$c = /* @__PURE__ */ __name(function theme28(_ref) { + var dt = _ref.dt; + return "\n.p-password {\n display: inline-flex;\n position: relative;\n}\n\n.p-password .p-password-overlay {\n min-width: 100%;\n}\n\n.p-password-meter {\n height: ".concat(dt("password.meter.height"), ";\n background: ").concat(dt("password.meter.background"), ";\n border-radius: ").concat(dt("password.meter.border.radius"), ";\n}\n\n.p-password-meter-label {\n height: 100%;\n width: 0;\n transition: width 1s ease-in-out;\n border-radius: ").concat(dt("password.meter.border.radius"), ";\n}\n\n.p-password-meter-weak {\n background: ").concat(dt("password.strength.weak.background"), ";\n}\n\n.p-password-meter-medium {\n background: ").concat(dt("password.strength.medium.background"), ";\n}\n\n.p-password-meter-strong {\n background: ").concat(dt("password.strength.strong.background"), ";\n}\n\n.p-password-fluid {\n display: flex;\n}\n\n.p-password-fluid .p-password-input {\n width: 100%;\n}\n\n.p-password-input::-ms-reveal,\n.p-password-input::-ms-clear {\n display: none;\n}\n\n.p-password-overlay {\n padding: ").concat(dt("password.overlay.padding"), ";\n background: ").concat(dt("password.overlay.background"), ";\n color: ").concat(dt("password.overlay.color"), ";\n border: 1px solid ").concat(dt("password.overlay.border.color"), ";\n box-shadow: ").concat(dt("password.overlay.shadow"), ";\n border-radius: ").concat(dt("password.overlay.border.radius"), ";\n}\n\n.p-password-content {\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("password.content.gap"), ";\n}\n\n.p-password-toggle-mask-icon {\n inset-inline-end: ").concat(dt("form.field.padding.x"), ";\n color: ").concat(dt("password.icon.color"), ";\n position: absolute;\n top: 50%;\n margin-top: calc(-1 * calc(").concat(dt("icon.size"), " / 2));\n width: ").concat(dt("icon.size"), ";\n height: ").concat(dt("icon.size"), ";\n}\n\n.p-password:has(.p-password-toggle-mask-icon) .p-password-input {\n padding-inline-end: calc((").concat(dt("form.field.padding.x"), " * 2) + ").concat(dt("icon.size"), ");\n}\n"); +}, "theme"); +var inlineStyles$4 = { + root: /* @__PURE__ */ __name(function root22(_ref2) { + var props = _ref2.props; + return { + position: props.appendTo === "self" ? "relative" : void 0 + }; + }, "root") +}; +var classes$d = { + root: /* @__PURE__ */ __name(function root23(_ref3) { + var instance = _ref3.instance; + return ["p-password p-component p-inputwrapper", { + "p-inputwrapper-filled": instance.$filled, + "p-inputwrapper-focus": instance.focused, + "p-password-fluid": instance.$fluid + }]; + }, "root"), + pcInputText: "p-password-input", + maskIcon: "p-password-toggle-mask-icon p-password-mask-icon", + unmaskIcon: "p-password-toggle-mask-icon p-password-unmask-icon", + overlay: "p-password-overlay p-component", + content: "p-password-content", + meter: "p-password-meter", + meterLabel: /* @__PURE__ */ __name(function meterLabel(_ref4) { + var instance = _ref4.instance; + return "p-password-meter-label ".concat(instance.meter ? "p-password-meter-" + instance.meter.strength : ""); + }, "meterLabel"), + meterText: "p-password-meter-text" +}; +var PasswordStyle = BaseStyle.extend({ + name: "password", + theme: theme$c, + classes: classes$d, + inlineStyles: inlineStyles$4 +}); +var script$1$d = { + name: "BasePassword", + "extends": script$1n, + props: { + promptLabel: { + type: String, + "default": null + }, + mediumRegex: { + type: [String, RegExp], + "default": "^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})" + // eslint-disable-line + }, + strongRegex: { + type: [String, RegExp], + "default": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})" + // eslint-disable-line + }, + weakLabel: { + type: String, + "default": null + }, + mediumLabel: { + type: String, + "default": null + }, + strongLabel: { + type: String, + "default": null + }, + feedback: { + type: Boolean, + "default": true + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + toggleMask: { + type: Boolean, + "default": false + }, + hideIcon: { + type: String, + "default": void 0 + }, + maskIcon: { + type: String, + "default": void 0 + }, + showIcon: { + type: String, + "default": void 0 + }, + unmaskIcon: { + type: String, + "default": void 0 + }, + disabled: { + type: Boolean, + "default": false + }, + placeholder: { + type: String, + "default": null + }, + required: { + type: Boolean, + "default": false + }, + inputId: { + type: String, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + inputProps: { + type: null, + "default": null + }, + panelId: { + type: String, + "default": null + }, + panelClass: { + type: [String, Object], + "default": null + }, + panelStyle: { + type: Object, + "default": null + }, + panelProps: { + type: null, + "default": null + }, + overlayId: { + type: String, + "default": null + }, + overlayClass: { + type: [String, Object], + "default": null + }, + overlayStyle: { + type: Object, + "default": null + }, + overlayProps: { + type: null, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + }, + autofocus: { + type: Boolean, + "default": null + } + }, + style: PasswordStyle, + provide: /* @__PURE__ */ __name(function provide38() { + return { + $pcPassword: this, + $parentInstance: this + }; + }, "provide") +}; +var script$n = { + name: "Password", + "extends": script$1$d, + inheritAttrs: false, + emits: ["change", "focus", "blur", "invalid"], + inject: { + $pcFluid: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data27() { + return { + id: this.$attrs.id, + overlayVisible: false, + meter: null, + infoText: null, + focused: false, + unmasked: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId10(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId") + }, + mediumCheckRegExp: null, + strongCheckRegExp: null, + resizeListener: null, + scrollHandler: null, + overlay: null, + mounted: /* @__PURE__ */ __name(function mounted28() { + this.id = this.id || UniqueComponentId(); + this.infoText = this.promptText; + this.mediumCheckRegExp = new RegExp(this.mediumRegex); + this.strongCheckRegExp = new RegExp(this.strongRegex); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount12() { + this.unbindResizeListener(); + if (this.scrollHandler) { + this.scrollHandler.destroy(); + this.scrollHandler = null; + } + if (this.overlay) { + ZIndex.clear(this.overlay); + this.overlay = null; + } + }, "beforeUnmount"), + methods: { + onOverlayEnter: /* @__PURE__ */ __name(function onOverlayEnter4(el) { + ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + this.alignOverlay(); + this.bindScrollListener(); + this.bindResizeListener(); + }, "onOverlayEnter"), + onOverlayLeave: /* @__PURE__ */ __name(function onOverlayLeave4() { + this.unbindScrollListener(); + this.unbindResizeListener(); + this.overlay = null; + }, "onOverlayLeave"), + onOverlayAfterLeave: /* @__PURE__ */ __name(function onOverlayAfterLeave4(el) { + ZIndex.clear(el); + }, "onOverlayAfterLeave"), + alignOverlay: /* @__PURE__ */ __name(function alignOverlay5() { + if (this.appendTo === "self") { + relativePosition(this.overlay, this.$refs.input.$el); + } else { + this.overlay.style.minWidth = getOuterWidth(this.$refs.input.$el) + "px"; + absolutePosition(this.overlay, this.$refs.input.$el); + } + }, "alignOverlay"), + testStrength: /* @__PURE__ */ __name(function testStrength(str) { + var level = 0; + if (this.strongCheckRegExp.test(str)) level = 3; + else if (this.mediumCheckRegExp.test(str)) level = 2; + else if (str.length) level = 1; + return level; + }, "testStrength"), + onInput: /* @__PURE__ */ __name(function onInput5(event2) { + this.writeValue(event2.target.value, event2); + this.$emit("change", event2); + }, "onInput"), + onFocus: /* @__PURE__ */ __name(function onFocus11(event2) { + this.focused = true; + if (this.feedback) { + this.setPasswordMeter(this.d_value); + this.overlayVisible = true; + } + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur11(event2) { + this.focused = false; + if (this.feedback) { + this.overlayVisible = false; + } + this.$emit("blur", event2); + }, "onBlur"), + onKeyUp: /* @__PURE__ */ __name(function onKeyUp(event2) { + if (this.feedback) { + var value2 = event2.target.value; + var _this$checkPasswordSt = this.checkPasswordStrength(value2), meter = _this$checkPasswordSt.meter, label12 = _this$checkPasswordSt.label; + this.meter = meter; + this.infoText = label12; + if (event2.code === "Escape") { + this.overlayVisible && (this.overlayVisible = false); + return; + } + if (!this.overlayVisible) { + this.overlayVisible = true; + } + } + }, "onKeyUp"), + setPasswordMeter: /* @__PURE__ */ __name(function setPasswordMeter() { + if (!this.d_value) { + this.meter = null; + this.infoText = this.promptText; + return; + } + var _this$checkPasswordSt2 = this.checkPasswordStrength(this.d_value), meter = _this$checkPasswordSt2.meter, label12 = _this$checkPasswordSt2.label; + this.meter = meter; + this.infoText = label12; + if (!this.overlayVisible) { + this.overlayVisible = true; + } + }, "setPasswordMeter"), + checkPasswordStrength: /* @__PURE__ */ __name(function checkPasswordStrength(value2) { + var label12 = null; + var meter = null; + switch (this.testStrength(value2)) { + case 1: + label12 = this.weakText; + meter = { + strength: "weak", + width: "33.33%" + }; + break; + case 2: + label12 = this.mediumText; + meter = { + strength: "medium", + width: "66.66%" + }; + break; + case 3: + label12 = this.strongText; + meter = { + strength: "strong", + width: "100%" + }; + break; + default: + label12 = this.promptText; + meter = null; + break; + } + return { + label: label12, + meter + }; + }, "checkPasswordStrength"), + onInvalid: /* @__PURE__ */ __name(function onInvalid(event2) { + this.$emit("invalid", event2); + }, "onInvalid"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener6() { + var _this = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.input.$el, function() { + if (_this.overlayVisible) { + _this.overlayVisible = false; + } + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener6() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener6() { + var _this2 = this; + if (!this.resizeListener) { + this.resizeListener = function() { + if (_this2.overlayVisible && !isTouchDevice()) { + _this2.overlayVisible = false; + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener6() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + overlayRef: /* @__PURE__ */ __name(function overlayRef4(el) { + this.overlay = el; + }, "overlayRef"), + onMaskToggle: /* @__PURE__ */ __name(function onMaskToggle() { + this.unmasked = !this.unmasked; + }, "onMaskToggle"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick5(event2) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event2, + target: this.$el + }); + }, "onOverlayClick") + }, + computed: { + inputType: /* @__PURE__ */ __name(function inputType2() { + return this.unmasked ? "text" : "password"; + }, "inputType"), + weakText: /* @__PURE__ */ __name(function weakText() { + return this.weakLabel || this.$primevue.config.locale.weak; + }, "weakText"), + mediumText: /* @__PURE__ */ __name(function mediumText() { + return this.mediumLabel || this.$primevue.config.locale.medium; + }, "mediumText"), + strongText: /* @__PURE__ */ __name(function strongText() { + return this.strongLabel || this.$primevue.config.locale.strong; + }, "strongText"), + promptText: /* @__PURE__ */ __name(function promptText() { + return this.promptLabel || this.$primevue.config.locale.passwordPrompt; + }, "promptText"), + overlayUniqueId: /* @__PURE__ */ __name(function overlayUniqueId() { + return this.id + "_overlay"; + }, "overlayUniqueId") + }, + components: { + InputText: script$1o, + Portal: script$1f, + EyeSlashIcon: script$o, + EyeIcon: script$N + } +}; +function _typeof$a(o) { + "@babel/helpers - typeof"; + return _typeof$a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$a(o); +} +__name(_typeof$a, "_typeof$a"); +function ownKeys$9(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$9, "ownKeys$9"); +function _objectSpread$9(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$9(Object(t2), true).forEach(function(r2) { + _defineProperty$a(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$9(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$9, "_objectSpread$9"); +function _defineProperty$a(e, r, t2) { + return (r = _toPropertyKey$a(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$a, "_defineProperty$a"); +function _toPropertyKey$a(t2) { + var i = _toPrimitive$a(t2, "string"); + return "symbol" == _typeof$a(i) ? i : i + ""; +} +__name(_toPropertyKey$a, "_toPropertyKey$a"); +function _toPrimitive$a(t2, r) { + if ("object" != _typeof$a(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$a(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$a, "_toPrimitive$a"); +var _hoisted_1$c = ["id"]; +function render$k(_ctx, _cache, $props, $setup, $data, $options) { + var _component_InputText = resolveComponent("InputText"); + var _component_Portal = resolveComponent("Portal"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + style: _ctx.sx("root") + }, _ctx.ptmi("root")), [createVNode(_component_InputText, mergeProps({ + ref: "input", + id: _ctx.inputId, + type: $options.inputType, + "class": [_ctx.cx("pcInputText"), _ctx.inputClass], + style: _ctx.inputStyle, + value: _ctx.d_value, + name: _ctx.$formName, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + "aria-controls": _ctx.overlayProps && _ctx.overlayProps.id || _ctx.overlayId || _ctx.panelProps && _ctx.panelProps.id || _ctx.panelId || $options.overlayUniqueId, + "aria-expanded": $data.overlayVisible, + "aria-haspopup": true, + placeholder: _ctx.placeholder, + required: _ctx.required, + fluid: _ctx.fluid, + disabled: _ctx.disabled, + variant: _ctx.variant, + invalid: _ctx.invalid, + size: _ctx.size, + autofocus: _ctx.autofocus, + onInput: $options.onInput, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeyup: $options.onKeyUp, + onInvalid: $options.onInvalid + }, _ctx.inputProps, { + pt: _ctx.ptm("pcInputText"), + unstyled: _ctx.unstyled + }), null, 16, ["id", "type", "class", "style", "value", "name", "aria-labelledby", "aria-label", "aria-controls", "aria-expanded", "placeholder", "required", "fluid", "disabled", "variant", "invalid", "size", "autofocus", "onInput", "onFocus", "onBlur", "onKeyup", "onInvalid", "pt", "unstyled"]), _ctx.toggleMask && $data.unmasked ? renderSlot(_ctx.$slots, _ctx.$slots.maskicon ? "maskicon" : "hideicon", { + key: 0, + toggleCallback: $options.onMaskToggle + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.maskIcon ? "i" : "EyeSlashIcon"), mergeProps({ + "class": [_ctx.cx("maskIcon"), _ctx.maskIcon], + onClick: $options.onMaskToggle + }, _ctx.ptm("maskIcon")), null, 16, ["class", "onClick"]))]; + }) : createCommentVNode("", true), _ctx.toggleMask && !$data.unmasked ? renderSlot(_ctx.$slots, _ctx.$slots.unmaskicon ? "unmaskicon" : "showicon", { + key: 1, + toggleCallback: $options.onMaskToggle + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.unmaskIcon ? "i" : "EyeIcon"), mergeProps({ + "class": [_ctx.cx("unmaskIcon"), _ctx.unmaskIcon], + onClick: $options.onMaskToggle + }, _ctx.ptm("unmaskIcon")), null, 16, ["class", "onClick"]))]; + }) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + "class": "p-hidden-accessible", + "aria-live": "polite" + }, _ctx.ptm("hiddenAccesible"), { + "data-p-hidden-accessible": true + }), toDisplayString($data.infoText), 17), createVNode(_component_Portal, { + appendTo: _ctx.appendTo + }, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: $options.onOverlayEnter, + onLeave: $options.onOverlayLeave, + onAfterLeave: $options.onOverlayAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [$data.overlayVisible ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.overlayRef, + id: _ctx.overlayId || _ctx.panelId || $options.overlayUniqueId, + "class": [_ctx.cx("overlay"), _ctx.panelClass, _ctx.overlayClass], + style: [_ctx.overlayStyle, _ctx.panelStyle], + onClick: _cache[0] || (_cache[0] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }) + }, _objectSpread$9(_objectSpread$9(_objectSpread$9({}, _ctx.panelProps), _ctx.overlayProps), _ctx.ptm("overlay"))), [renderSlot(_ctx.$slots, "header"), renderSlot(_ctx.$slots, "content", {}, function() { + return [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("content") + }, _ctx.ptm("content")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("meter") + }, _ctx.ptm("meter")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("meterLabel"), + style: { + width: $data.meter ? $data.meter.width : "" + } + }, _ctx.ptm("meterLabel")), null, 16)], 16), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("meterText") + }, _ctx.ptm("meterText")), toDisplayString($data.infoText), 17)], 16)]; + }), renderSlot(_ctx.$slots, "footer")], 16, _hoisted_1$c)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onLeave", "onAfterLeave"])]; + }), + _: 3 + }, 8, ["appendTo"])], 16); +} +__name(render$k, "render$k"); +script$n.render = render$k; +var theme$b = /* @__PURE__ */ __name(function theme29(_ref) { + var dt = _ref.dt; + return "\n.p-picklist {\n display: flex;\n gap: ".concat(dt("picklist.gap"), ";\n}\n\n.p-picklist-controls {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: ").concat(dt("picklist.controls.gap"), ";\n}\n\n.p-picklist-list-container {\n flex: 1 1 50%;\n}\n\n.p-picklist .p-listbox {\n height: 100%;\n}\n"); +}, "theme"); +var classes$c = { + root: "p-picklist p-component", + sourceControls: "p-picklist-controls p-picklist-source-controls", + sourceListContainer: "p-picklist-list-container p-picklist-source-list-container", + transferControls: "p-picklist-controls p-picklist-transfer-controls", + targetListContainer: "p-picklist-list-container p-picklist-target-list-container", + targetControls: "p-picklist-controls p-picklist-target-controls" +}; +var PickListStyle = BaseStyle.extend({ + name: "picklist", + theme: theme$b, + classes: classes$c +}); +var script$1$c = { + name: "BasePickList", + "extends": script$1d, + props: { + modelValue: { + type: Array, + "default": /* @__PURE__ */ __name(function _default14() { + return [[], []]; + }, "_default") + }, + selection: { + type: Array, + "default": /* @__PURE__ */ __name(function _default15() { + return [[], []]; + }, "_default") + }, + dataKey: { + type: String, + "default": null + }, + listStyle: { + type: null, + "default": null + }, + metaKeySelection: { + type: Boolean, + "default": false + }, + autoOptionFocus: { + type: Boolean, + "default": true + }, + focusOnHover: { + type: Boolean, + "default": true + }, + responsive: { + type: Boolean, + "default": true + }, + breakpoint: { + type: String, + "default": "960px" + }, + striped: { + type: Boolean, + "default": false + }, + scrollHeight: { + type: String, + "default": "14rem" + }, + showSourceControls: { + type: Boolean, + "default": true + }, + showTargetControls: { + type: Boolean, + "default": true + }, + buttonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default16() { + return { + severity: "secondary" + }; + }, "_default") + }, + moveUpButtonProps: { + type: null, + "default": null + }, + moveTopButtonProps: { + type: null, + "default": null + }, + moveDownButtonProps: { + type: null, + "default": null + }, + moveBottomButtonProps: { + type: null, + "default": null + }, + moveToTargetProps: { + type: null, + "default": null + }, + moveAllToTargetProps: { + type: null, + "default": null + }, + moveToSourceProps: { + type: null, + "default": null + }, + moveAllToSourceProps: { + type: null, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + }, + disabled: { + type: Boolean, + "default": false + } + }, + style: PickListStyle, + provide: /* @__PURE__ */ __name(function provide39() { + return { + $pcPickList: this, + $parentInstance: this + }; + }, "provide") +}; +function _toConsumableArray$4(r) { + return _arrayWithoutHoles$4(r) || _iterableToArray$4(r) || _unsupportedIterableToArray$4(r) || _nonIterableSpread$4(); +} +__name(_toConsumableArray$4, "_toConsumableArray$4"); +function _nonIterableSpread$4() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$4, "_nonIterableSpread$4"); +function _unsupportedIterableToArray$4(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$4(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$4(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$4, "_unsupportedIterableToArray$4"); +function _iterableToArray$4(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$4, "_iterableToArray$4"); +function _arrayWithoutHoles$4(r) { + if (Array.isArray(r)) return _arrayLikeToArray$4(r); +} +__name(_arrayWithoutHoles$4, "_arrayWithoutHoles$4"); +function _arrayLikeToArray$4(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$4, "_arrayLikeToArray$4"); +var script$m = { + name: "PickList", + "extends": script$1$c, + inheritAttrs: false, + emits: ["update:modelValue", "reorder", "update:selection", "selection-change", "move-to-target", "move-to-source", "move-all-to-target", "move-all-to-source", "focus", "blur"], + itemTouched: false, + reorderDirection: null, + styleElement: null, + media: null, + mediaChangeListener: null, + data: /* @__PURE__ */ __name(function data28() { + return { + id: this.$attrs.id, + d_selection: this.selection, + viewChanged: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId11(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + selection: /* @__PURE__ */ __name(function selection(newValue) { + this.d_selection = newValue; + }, "selection"), + breakpoint: /* @__PURE__ */ __name(function breakpoint() { + this.destroyMedia(); + this.initMedia(); + }, "breakpoint") + }, + updated: /* @__PURE__ */ __name(function updated7() { + if (this.reorderDirection) { + this.updateListScroll(this.$refs.sourceList.$el); + this.updateListScroll(this.$refs.targetList.$el); + this.reorderDirection = null; + } + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount13() { + this.destroyStyle(); + this.destroyMedia(); + }, "beforeUnmount"), + mounted: /* @__PURE__ */ __name(function mounted29() { + this.id = this.id || UniqueComponentId(); + if (this.responsive) { + this.createStyle(); + this.initMedia(); + } + }, "mounted"), + methods: { + updateSelection: /* @__PURE__ */ __name(function updateSelection2(event2) { + this.$emit("update:selection", this.d_selection); + this.$emit("selection-change", { + originalEvent: event2, + value: this.d_selection + }); + }, "updateSelection"), + onChangeSelection: /* @__PURE__ */ __name(function onChangeSelection2(params, listIndex) { + this.d_selection[listIndex] = params.value; + this.updateSelection(params.event); + }, "onChangeSelection"), + onListFocus: /* @__PURE__ */ __name(function onListFocus4(event2, listType) { + this.$emit("focus", event2, listType); + }, "onListFocus"), + onListBlur: /* @__PURE__ */ __name(function onListBlur4(event2, listType) { + this.$emit("blur", event2, listType); + }, "onListBlur"), + onReorderUpdate: /* @__PURE__ */ __name(function onReorderUpdate2(event2, value2, listIndex) { + this.$emit("update:modelValue", value2); + this.$emit("reorder", { + originalEvent: event2, + value: value2, + direction: this.reorderDirection, + listIndex + }); + }, "onReorderUpdate"), + onItemDblClick: /* @__PURE__ */ __name(function onItemDblClick(event2, listIndex) { + if (listIndex === 0) this.moveToTarget({ + event: event2.originalEvent + }); + else if (listIndex === 1) this.moveToSource({ + event: event2.originalEvent + }); + }, "onItemDblClick"), + moveUp: /* @__PURE__ */ __name(function moveUp2(event2, listIndex) { + if (this.d_selection && this.d_selection[listIndex]) { + var valueList = _toConsumableArray$4(this.modelValue[listIndex]); + var selectionList = this.d_selection[listIndex]; + for (var i = 0; i < selectionList.length; i++) { + var selectedItem = selectionList[i]; + var selectedItemIndex = findIndexInList(selectedItem, valueList); + if (selectedItemIndex !== 0) { + var movedItem = valueList[selectedItemIndex]; + var temp = valueList[selectedItemIndex - 1]; + valueList[selectedItemIndex - 1] = movedItem; + valueList[selectedItemIndex] = temp; + } else { + break; + } + } + var value2 = _toConsumableArray$4(this.modelValue); + value2[listIndex] = valueList; + this.reorderDirection = "up"; + this.onReorderUpdate(event2, value2, listIndex); + } + }, "moveUp"), + moveTop: /* @__PURE__ */ __name(function moveTop2(event2, listIndex) { + if (this.d_selection) { + var valueList = _toConsumableArray$4(this.modelValue[listIndex]); + var selectionList = this.d_selection[listIndex]; + for (var i = 0; i < selectionList.length; i++) { + var selectedItem = selectionList[i]; + var selectedItemIndex = findIndexInList(selectedItem, valueList); + if (selectedItemIndex !== 0) { + var movedItem = valueList.splice(selectedItemIndex, 1)[0]; + valueList.unshift(movedItem); + } else { + break; + } + } + var value2 = _toConsumableArray$4(this.modelValue); + value2[listIndex] = valueList; + this.reorderDirection = "top"; + this.onReorderUpdate(event2, value2, listIndex); + } + }, "moveTop"), + moveDown: /* @__PURE__ */ __name(function moveDown2(event2, listIndex) { + if (this.d_selection) { + var valueList = _toConsumableArray$4(this.modelValue[listIndex]); + var selectionList = this.d_selection[listIndex]; + for (var i = selectionList.length - 1; i >= 0; i--) { + var selectedItem = selectionList[i]; + var selectedItemIndex = findIndexInList(selectedItem, valueList); + if (selectedItemIndex !== valueList.length - 1) { + var movedItem = valueList[selectedItemIndex]; + var temp = valueList[selectedItemIndex + 1]; + valueList[selectedItemIndex + 1] = movedItem; + valueList[selectedItemIndex] = temp; + } else { + break; + } + } + var value2 = _toConsumableArray$4(this.modelValue); + value2[listIndex] = valueList; + this.reorderDirection = "down"; + this.onReorderUpdate(event2, value2, listIndex); + } + }, "moveDown"), + moveBottom: /* @__PURE__ */ __name(function moveBottom2(event2, listIndex) { + if (this.d_selection) { + var valueList = _toConsumableArray$4(this.modelValue[listIndex]); + var selectionList = this.d_selection[listIndex]; + for (var i = selectionList.length - 1; i >= 0; i--) { + var selectedItem = selectionList[i]; + var selectedItemIndex = findIndexInList(selectedItem, valueList); + if (selectedItemIndex !== valueList.length - 1) { + var movedItem = valueList.splice(selectedItemIndex, 1)[0]; + valueList.push(movedItem); + } else { + break; + } + } + var value2 = _toConsumableArray$4(this.modelValue); + value2[listIndex] = valueList; + this.reorderDirection = "bottom"; + this.onReorderUpdate(event2, value2, listIndex); + } + }, "moveBottom"), + moveToTarget: /* @__PURE__ */ __name(function moveToTarget(event2) { + var selection2 = this.d_selection && this.d_selection[0] ? this.d_selection[0] : null; + var sourceList2 = _toConsumableArray$4(this.modelValue[0]); + var targetList2 = _toConsumableArray$4(this.modelValue[1]); + if (selection2) { + for (var i = 0; i < selection2.length; i++) { + var selectedItem = selection2[i]; + if (findIndexInList(selectedItem, targetList2) == -1) { + targetList2.push(sourceList2.splice(findIndexInList(selectedItem, sourceList2), 1)[0]); + } + } + var value2 = _toConsumableArray$4(this.modelValue); + value2[0] = sourceList2; + value2[1] = targetList2; + this.$emit("update:modelValue", value2); + this.$emit("move-to-target", { + originalEvent: event2, + items: _toConsumableArray$4(new Set(selection2)) + }); + this.d_selection[0] = []; + this.updateSelection(event2); + } + }, "moveToTarget"), + moveAllToTarget: /* @__PURE__ */ __name(function moveAllToTarget(event2) { + if (this.modelValue[0]) { + var sourceList2 = _toConsumableArray$4(this.modelValue[0]); + var targetList2 = _toConsumableArray$4(this.modelValue[1]); + this.$emit("move-all-to-target", { + originalEvent: event2, + items: sourceList2 + }); + targetList2 = [].concat(_toConsumableArray$4(targetList2), _toConsumableArray$4(sourceList2)); + sourceList2 = []; + var value2 = _toConsumableArray$4(this.modelValue); + value2[0] = sourceList2; + value2[1] = targetList2; + this.$emit("update:modelValue", value2); + this.d_selection = [[], []]; + this.updateSelection(event2); + } + }, "moveAllToTarget"), + moveToSource: /* @__PURE__ */ __name(function moveToSource(event2) { + var selection2 = this.d_selection && this.d_selection[1] ? this.d_selection[1] : null; + var sourceList2 = _toConsumableArray$4(this.modelValue[0]); + var targetList2 = _toConsumableArray$4(this.modelValue[1]); + if (selection2) { + for (var i = 0; i < selection2.length; i++) { + var selectedItem = selection2[i]; + if (findIndexInList(selectedItem, sourceList2) == -1) { + sourceList2.push(targetList2.splice(findIndexInList(selectedItem, targetList2), 1)[0]); + } + } + var value2 = _toConsumableArray$4(this.modelValue); + value2[0] = sourceList2; + value2[1] = targetList2; + this.$emit("update:modelValue", value2); + this.$emit("move-to-source", { + originalEvent: event2, + items: _toConsumableArray$4(new Set(selection2)) + }); + this.d_selection[1] = []; + this.updateSelection(event2); + } + }, "moveToSource"), + moveAllToSource: /* @__PURE__ */ __name(function moveAllToSource(event2) { + if (this.modelValue[1]) { + var sourceList2 = _toConsumableArray$4(this.modelValue[0]); + var targetList2 = _toConsumableArray$4(this.modelValue[1]); + this.$emit("move-all-to-source", { + originalEvent: event2, + items: targetList2 + }); + sourceList2 = [].concat(_toConsumableArray$4(sourceList2), _toConsumableArray$4(targetList2)); + targetList2 = []; + var value2 = _toConsumableArray$4(this.modelValue); + value2[0] = sourceList2; + value2[1] = targetList2; + this.$emit("update:modelValue", value2); + this.d_selection = [[], []]; + this.updateSelection(event2); + } + }, "moveAllToSource"), + onItemClick: /* @__PURE__ */ __name(function onItemClick6(event2, item8, index, listIndex) { + var listType = listIndex === 0 ? "sourceList" : "targetList"; + this.itemTouched = false; + var selectionList = this.d_selection[listIndex]; + var selectedIndex = findIndexInList(item8, selectionList); + var selected3 = selectedIndex != -1; + var metaSelection = this.itemTouched ? false : this.metaKeySelection; + var selectedId = find(this.$refs[listType].$el, '[data-pc-section="item"]')[index].getAttribute("id"); + this.focusedOptionIndex = selectedId; + var _selection; + if (metaSelection) { + var metaKey = event2.metaKey || event2.ctrlKey; + if (selected3 && metaKey) { + _selection = selectionList.filter(function(val, index2) { + return index2 !== selectedIndex; + }); + } else { + _selection = metaKey ? selectionList ? _toConsumableArray$4(selectionList) : [] : []; + _selection.push(item8); + } + } else { + if (selected3) { + _selection = selectionList.filter(function(val, index2) { + return index2 !== selectedIndex; + }); + } else { + _selection = selectionList ? _toConsumableArray$4(selectionList) : []; + _selection.push(item8); + } + } + var newSelection = _toConsumableArray$4(this.d_selection); + newSelection[listIndex] = _selection; + this.d_selection = newSelection; + this.updateSelection(event2); + }, "onItemClick"), + updateListScroll: /* @__PURE__ */ __name(function updateListScroll2(listElement) { + var listItems = find(listElement, '[data-pc-section="item"][data-p-selected="true"]'); + if (listItems && listItems.length) { + switch (this.reorderDirection) { + case "up": + scrollInView(listElement, listItems[0]); + break; + case "top": + listElement.scrollTop = 0; + break; + case "down": + scrollInView(listElement, listItems[listItems.length - 1]); + break; + case "bottom": + listElement.scrollTop = listElement.scrollHeight; + break; + } + } + }, "updateListScroll"), + initMedia: /* @__PURE__ */ __name(function initMedia() { + this.media = window.matchMedia("(max-width: ".concat(this.breakpoint, ")")); + this.viewChanged = this.media.matches; + this.bindMediaChangeListener(); + }, "initMedia"), + destroyMedia: /* @__PURE__ */ __name(function destroyMedia() { + this.unbindMediaChangeListener(); + }, "destroyMedia"), + bindMediaChangeListener: /* @__PURE__ */ __name(function bindMediaChangeListener() { + var _this = this; + if (this.media && !this.mediaChangeListener) { + this.mediaChangeListener = function(event2) { + _this.viewChanged = event2.matches; + }; + this.media.addEventListener("change", this.mediaChangeListener); + } + }, "bindMediaChangeListener"), + unbindMediaChangeListener: /* @__PURE__ */ __name(function unbindMediaChangeListener() { + if (this.media && this.mediaChangeListener) { + this.media.removeEventListener("change", this.mediaChangeListener); + this.mediaChangeListener = null; + } + }, "unbindMediaChangeListener"), + createStyle: /* @__PURE__ */ __name(function createStyle2() { + if (!this.styleElement && !this.isUnstyled) { + var _this$$primevue; + this.styleElement = document.createElement("style"); + this.styleElement.type = "text/css"; + setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); + document.head.appendChild(this.styleElement); + var innerHTML = "\n@media screen and (max-width: ".concat(this.breakpoint, ") {\n .p-picklist[").concat(this.$attrSelector, "] {\n flex-direction: column;\n }\n\n .p-picklist[").concat(this.$attrSelector, "] .p-picklist-controls {\n flex-direction: row;\n }\n}\n"); + this.styleElement.innerHTML = innerHTML; + } + }, "createStyle"), + destroyStyle: /* @__PURE__ */ __name(function destroyStyle2() { + if (this.styleElement) { + document.head.removeChild(this.styleElement); + this.styleElement = null; + } + }, "destroyStyle"), + moveDisabled: /* @__PURE__ */ __name(function moveDisabled2(index) { + return this.disabled ? true : this.d_selection && (!this.d_selection[index] || !this.d_selection[index].length) ? true : false; + }, "moveDisabled"), + moveAllDisabled: /* @__PURE__ */ __name(function moveAllDisabled(list2) { + return this.disabled ? true : isEmpty(this[list2]); + }, "moveAllDisabled") + }, + computed: { + idSource: /* @__PURE__ */ __name(function idSource() { + return "".concat(this.id, "_source"); + }, "idSource"), + idTarget: /* @__PURE__ */ __name(function idTarget() { + return "".concat(this.id, "_target"); + }, "idTarget"), + sourceList: /* @__PURE__ */ __name(function sourceList() { + return this.modelValue && this.modelValue[0] ? this.modelValue[0] : null; + }, "sourceList"), + targetList: /* @__PURE__ */ __name(function targetList() { + return this.modelValue && this.modelValue[1] ? this.modelValue[1] : null; + }, "targetList"), + moveUpAriaLabel: /* @__PURE__ */ __name(function moveUpAriaLabel2() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveUp : void 0; + }, "moveUpAriaLabel"), + moveTopAriaLabel: /* @__PURE__ */ __name(function moveTopAriaLabel2() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveTop : void 0; + }, "moveTopAriaLabel"), + moveDownAriaLabel: /* @__PURE__ */ __name(function moveDownAriaLabel2() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveDown : void 0; + }, "moveDownAriaLabel"), + moveBottomAriaLabel: /* @__PURE__ */ __name(function moveBottomAriaLabel2() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveBottom : void 0; + }, "moveBottomAriaLabel"), + moveToTargetAriaLabel: /* @__PURE__ */ __name(function moveToTargetAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveToTarget : void 0; + }, "moveToTargetAriaLabel"), + moveAllToTargetAriaLabel: /* @__PURE__ */ __name(function moveAllToTargetAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveAllToTarget : void 0; + }, "moveAllToTargetAriaLabel"), + moveToSourceAriaLabel: /* @__PURE__ */ __name(function moveToSourceAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveToSource : void 0; + }, "moveToSourceAriaLabel"), + moveAllToSourceAriaLabel: /* @__PURE__ */ __name(function moveAllToSourceAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.moveAllToSource : void 0; + }, "moveAllToSourceAriaLabel") + }, + components: { + Listbox: script$1O, + Button: script$1e, + AngleRightIcon: script$1q, + AngleLeftIcon: script$1R, + AngleDownIcon: script$1H, + AngleUpIcon: script$1P, + AngleDoubleRightIcon: script$1S, + AngleDoubleLeftIcon: script$1T, + AngleDoubleDownIcon: script$u, + AngleDoubleUpIcon: script$t + }, + directives: { + ripple: Ripple + } +}; +function _typeof$9(o) { + "@babel/helpers - typeof"; + return _typeof$9 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$9(o); +} +__name(_typeof$9, "_typeof$9"); +function ownKeys$8(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$8, "ownKeys$8"); +function _objectSpread$8(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$8(Object(t2), true).forEach(function(r2) { + _defineProperty$9(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$8(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$8, "_objectSpread$8"); +function _defineProperty$9(e, r, t2) { + return (r = _toPropertyKey$9(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$9, "_defineProperty$9"); +function _toPropertyKey$9(t2) { + var i = _toPrimitive$9(t2, "string"); + return "symbol" == _typeof$9(i) ? i : i + ""; +} +__name(_toPropertyKey$9, "_toPropertyKey$9"); +function _toPrimitive$9(t2, r) { + if ("object" != _typeof$9(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$9(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$9, "_toPrimitive$9"); +function render$j(_ctx, _cache, $props, $setup, $data, $options) { + var _component_AngleUpIcon = resolveComponent("AngleUpIcon"); + var _component_Button = resolveComponent("Button"); + var _component_AngleDoubleUpIcon = resolveComponent("AngleDoubleUpIcon"); + var _component_AngleDownIcon = resolveComponent("AngleDownIcon"); + var _component_AngleDoubleDownIcon = resolveComponent("AngleDoubleDownIcon"); + var _component_Listbox = resolveComponent("Listbox"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [_ctx.showSourceControls ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("sourceControls") + }, _ctx.ptm("sourceControls"), { + "data-pc-group-section": "controls" + }), [renderSlot(_ctx.$slots, "sourcecontrolsstart"), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveUpAriaLabel, + disabled: $options.moveDisabled(0), + onClick: _cache[0] || (_cache[0] = function($event) { + return $options.moveUp($event, 0); + }) + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveUpButtonProps), { + pt: _ctx.ptm("pcSourceMoveUpButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "moveupicon", {}, function() { + return [createVNode(_component_AngleUpIcon, mergeProps(_ctx.ptm("pcSourceMoveUpButton")["icon"], { + "data-pc-section": "moveupicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["aria-label", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveTopAriaLabel, + disabled: $options.moveDisabled(0), + onClick: _cache[1] || (_cache[1] = function($event) { + return $options.moveTop($event, 0); + }) + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveTopButtonProps), { + pt: _ctx.ptm("pcSourceMoveTopButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movetopicon", {}, function() { + return [createVNode(_component_AngleDoubleUpIcon, mergeProps(_ctx.ptm("pcSourceMoveTopButton")["icon"], { + "data-pc-section": "movetopicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["aria-label", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveDownAriaLabel, + disabled: $options.moveDisabled(0), + onClick: _cache[2] || (_cache[2] = function($event) { + return $options.moveDown($event, 0); + }) + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveDownButtonProps), { + pt: _ctx.ptm("pcSourceMoveDownButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movedownicon", {}, function() { + return [createVNode(_component_AngleDownIcon, mergeProps(_ctx.ptm("pcSourceMoveDownButton")["icon"], { + "data-pc-section": "movedownicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["aria-label", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveBottomAriaLabel, + disabled: $options.moveDisabled(0), + onClick: _cache[3] || (_cache[3] = function($event) { + return $options.moveBottom($event, 0); + }) + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveBottomButtonProps), { + pt: _ctx.ptm("pcSourceMoveBottomButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movebottomicon", {}, function() { + return [createVNode(_component_AngleDoubleDownIcon, mergeProps(_ctx.ptm("pcSourceMoveBottomButton")["icon"], { + "data-pc-section": "movebottomicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["aria-label", "disabled", "pt", "unstyled"]), renderSlot(_ctx.$slots, "sourcecontrolsend")], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("sourceListContainer") + }, _ctx.ptm("sourceListContainer"), { + "data-pc-group-section": "listcontainer" + }), [createVNode(_component_Listbox, { + ref: "sourceList", + id: $options.idSource + "_list", + modelValue: $data.d_selection[0], + options: $options.sourceList, + multiple: "", + metaKeySelection: _ctx.metaKeySelection, + listStyle: _ctx.listStyle, + scrollHeight: _ctx.scrollHeight, + tabindex: $options.sourceList && $options.sourceList.length > 0 ? _ctx.tabindex : -1, + dataKey: _ctx.dataKey, + autoOptionFocus: _ctx.autoOptionFocus, + focusOnHover: _ctx.focusOnHover, + striped: _ctx.striped, + disabled: _ctx.disabled, + pt: _ctx.ptm("pcListbox"), + unstyled: _ctx.unstyled, + onFocus: _cache[4] || (_cache[4] = function($event) { + return $options.onListFocus($event, "sourceList"); + }), + onBlur: _cache[5] || (_cache[5] = function($event) { + return $options.onListBlur($event, "sourceList"); + }), + onChange: _cache[6] || (_cache[6] = function($event) { + return $options.onChangeSelection($event, 0); + }), + onItemDblclick: _cache[7] || (_cache[7] = function($event) { + return $options.onItemDblClick($event, 0); + }), + "data-pc-group-section": "list" + }, createSlots({ + option: withCtx(function(_ref) { + var option4 = _ref.option, selected3 = _ref.selected, index = _ref.index; + return [renderSlot(_ctx.$slots, _ctx.$slots.option ? "option" : "item", { + item: option4, + option: option4, + selected: selected3, + index + })]; + }), + _: 2 + }, [_ctx.$slots.sourceheader ? { + name: "header", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "sourceheader")]; + }), + key: "0" + } : void 0]), 1032, ["id", "modelValue", "options", "metaKeySelection", "listStyle", "scrollHeight", "tabindex", "dataKey", "autoOptionFocus", "focusOnHover", "striped", "disabled", "pt", "unstyled"])], 16), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("transferControls") + }, _ctx.ptm("transferControls"), { + "data-pc-group-section": "controls" + }), [renderSlot(_ctx.$slots, "movecontrolsstart"), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveToTargetAriaLabel, + onClick: $options.moveToTarget, + disabled: $options.moveDisabled(0) + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveToTargetProps), { + pt: _ctx.ptm("pcMoveToTargetButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movetotargeticon", { + viewChanged: $data.viewChanged + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent($data.viewChanged ? "AngleDownIcon" : "AngleRightIcon"), mergeProps(_ctx.ptm("pcMoveToTargetButton")["icon"], { + "data-pc-section": "movetotargeticon" + }), null, 16))]; + })]; + }), + _: 3 + }, 16, ["aria-label", "onClick", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveAllToTargetAriaLabel, + onClick: $options.moveAllToTarget, + disabled: $options.moveAllDisabled("sourceList") + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveAllToTargetProps), { + pt: _ctx.ptm("pcMoveAllToTargetButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movealltotargeticon", { + viewChanged: $data.viewChanged + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent($data.viewChanged ? "AngleDoubleDownIcon" : "AngleDoubleRightIcon"), mergeProps(_ctx.ptm("pcMoveAllToTargetButton")["icon"], { + "data-pc-section": "movealltotargeticon" + }), null, 16))]; + })]; + }), + _: 3 + }, 16, ["aria-label", "onClick", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveToSourceAriaLabel, + onClick: $options.moveToSource, + disabled: $options.moveDisabled(1) + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveToSourceProps), { + pt: _ctx.ptm("pcMoveToSourceButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movetosourceicon", { + viewChanged: $data.viewChanged + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent($data.viewChanged ? "AngleUpIcon" : "AngleLeftIcon"), mergeProps(_ctx.ptm("pcMoveToSourceButton")["icon"], { + "data-pc-section": "movetosourceicon" + }), null, 16))]; + })]; + }), + _: 3 + }, 16, ["aria-label", "onClick", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveAllToSourceAriaLabel, + onClick: $options.moveAllToSource, + disabled: $options.moveAllDisabled("targetList") + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveAllToSourceProps), { + pt: _ctx.ptm("pcMoveAllToSourceButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movealltosourceicon", { + viewChanged: $data.viewChanged + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent($data.viewChanged ? "AngleDoubleUpIcon" : "AngleDoubleLeftIcon"), mergeProps(_ctx.ptm("pcMoveAllToSourceButton")["icon"], { + "data-pc-section": "movealltosourceicon" + }), null, 16))]; + })]; + }), + _: 3 + }, 16, ["aria-label", "onClick", "disabled", "pt", "unstyled"]), renderSlot(_ctx.$slots, "movecontrolsend")], 16), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("targetListContainer") + }, _ctx.ptm("targetListContainer"), { + "data-pc-group-section": "listcontainer" + }), [createVNode(_component_Listbox, { + ref: "targetList", + id: $options.idTarget + "_list", + modelValue: $data.d_selection[1], + options: $options.targetList, + multiple: "", + metaKeySelection: _ctx.metaKeySelection, + listStyle: _ctx.listStyle, + scrollHeight: _ctx.scrollHeight, + tabindex: $options.targetList && $options.targetList.length > 0 ? _ctx.tabindex : -1, + dataKey: _ctx.dataKey, + autoOptionFocus: _ctx.autoOptionFocus, + focusOnHover: _ctx.focusOnHover, + striped: _ctx.striped, + disabled: _ctx.disabled, + pt: _ctx.ptm("pcListbox"), + unstyled: _ctx.unstyled, + onFocus: _cache[8] || (_cache[8] = function($event) { + return $options.onListFocus($event, "targetList"); + }), + onBlur: _cache[9] || (_cache[9] = function($event) { + return $options.onListBlur($event, "targetList"); + }), + onChange: _cache[10] || (_cache[10] = function($event) { + return $options.onChangeSelection($event, 1); + }), + onItemDblclick: _cache[11] || (_cache[11] = function($event) { + return $options.onItemDblClick($event, 1); + }), + "data-pc-group-section": "list" + }, createSlots({ + option: withCtx(function(_ref2) { + var option4 = _ref2.option, selected3 = _ref2.selected, index = _ref2.index; + return [renderSlot(_ctx.$slots, _ctx.$slots.option ? "option" : "item", { + item: option4, + option: option4, + selected: selected3, + index + })]; + }), + _: 2 + }, [_ctx.$slots.targetheader ? { + name: "header", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "targetheader")]; + }), + key: "0" + } : void 0]), 1032, ["id", "modelValue", "options", "metaKeySelection", "listStyle", "scrollHeight", "tabindex", "dataKey", "autoOptionFocus", "focusOnHover", "striped", "disabled", "pt", "unstyled"])], 16), _ctx.showTargetControls ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("targetControls") + }, _ctx.ptm("targetControls"), { + "data-pc-group-section": "controls" + }), [renderSlot(_ctx.$slots, "targetcontrolsstart"), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveUpAriaLabel, + disabled: $options.moveDisabled(1), + onClick: _cache[12] || (_cache[12] = function($event) { + return $options.moveUp($event, 1); + }) + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveUpButtonProps), { + pt: _ctx.ptm("pcTargetMoveUpButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "moveupicon", {}, function() { + return [createVNode(_component_AngleUpIcon, mergeProps(_ctx.ptm("pcTargetMoveUpButton")["icon"], { + "data-pc-section": "moveupicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["aria-label", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveTopAriaLabel, + disabled: $options.moveDisabled(1), + onClick: _cache[13] || (_cache[13] = function($event) { + return $options.moveTop($event, 1); + }) + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveTopButtonProps), { + pt: _ctx.ptm("pcTargetMoveTopButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movetopicon", {}, function() { + return [createVNode(_component_AngleDoubleUpIcon, mergeProps(_ctx.ptm("pcTargetMoveTopButton")["icon"], { + "data-pc-section": "movetopicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["aria-label", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveDownAriaLabel, + disabled: $options.moveDisabled(1), + onClick: _cache[14] || (_cache[14] = function($event) { + return $options.moveDown($event, 1); + }) + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveDownButtonProps), { + pt: _ctx.ptm("pcTargetMoveDownButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movedownicon", {}, function() { + return [createVNode(_component_AngleDownIcon, mergeProps(_ctx.ptm("pcTargetMoveDownButton")["icon"], { + "data-pc-section": "movedownicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["aria-label", "disabled", "pt", "unstyled"]), createVNode(_component_Button, mergeProps({ + "aria-label": $options.moveBottomAriaLabel, + disabled: $options.moveDisabled(1), + onClick: _cache[15] || (_cache[15] = function($event) { + return $options.moveBottom($event, 1); + }) + }, _objectSpread$8(_objectSpread$8({}, _ctx.buttonProps), _ctx.moveBottomButtonProps), { + pt: _ctx.ptm("pcTargetMoveBottomButton"), + unstyled: _ctx.unstyled + }), { + icon: withCtx(function() { + return [renderSlot(_ctx.$slots, "movebottomicon", {}, function() { + return [createVNode(_component_AngleDoubleDownIcon, mergeProps(_ctx.ptm("pcTargetMoveBottomButton")["icon"], { + "data-pc-section": "movebottomicon" + }), null, 16)]; + })]; + }), + _: 3 + }, 16, ["aria-label", "disabled", "pt", "unstyled"]), renderSlot(_ctx.$slots, "targetcontrolsend")], 16)) : createCommentVNode("", true)], 16); +} +__name(render$j, "render$j"); +script$m.render = render$j; +var PortalStyle = BaseStyle.extend({ + name: "portal" +}); +var theme$a = /* @__PURE__ */ __name(function theme30(_ref) { + _ref.dt; + return "\n.p-radiobutton-group {\n display: inline-flex;\n}\n"; +}, "theme"); +var classes$b = { + root: "p-radiobutton-group p-component" +}; +var RadioButtonGroupStyle = BaseStyle.extend({ + name: "radiobuttongroup", + theme: theme$a, + classes: classes$b +}); +var script$1$b = { + name: "BaseRadioButtonGroup", + "extends": script$1s, + style: RadioButtonGroupStyle, + provide: /* @__PURE__ */ __name(function provide40() { + return { + $pcRadioButtonGroup: this, + $parentInstance: this + }; + }, "provide") +}; +var script$l = { + name: "RadioButtonGroup", + "extends": script$1$b, + inheritAttrs: false, + data: /* @__PURE__ */ __name(function data29() { + return { + groupName: this.name + }; + }, "data"), + watch: { + name: /* @__PURE__ */ __name(function name2(newValue) { + this.groupName = newValue || uuid("radiobutton-group-"); + }, "name") + }, + mounted: /* @__PURE__ */ __name(function mounted30() { + this.groupName = this.groupName || uuid("radiobutton-group-"); + }, "mounted") +}; +function render$i(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$i, "render$i"); +script$l.render = render$i; +var script$k = { + name: "BanIcon", + "extends": script$1m +}; +function render$h(_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", { + d: "M7 0C5.61553 0 4.26215 0.410543 3.11101 1.17971C1.95987 1.94888 1.06266 3.04213 0.532846 4.32122C0.00303296 5.6003 -0.13559 7.00776 0.134506 8.36563C0.404603 9.7235 1.07129 10.9708 2.05026 11.9497C3.02922 12.9287 4.2765 13.5954 5.63437 13.8655C6.99224 14.1356 8.3997 13.997 9.67879 13.4672C10.9579 12.9373 12.0511 12.0401 12.8203 10.889C13.5895 9.73785 14 8.38447 14 7C14 5.14348 13.2625 3.36301 11.9497 2.05025C10.637 0.737498 8.85652 0 7 0ZM1.16667 7C1.16549 5.65478 1.63303 4.35118 2.48889 3.31333L10.6867 11.5111C9.83309 12.2112 8.79816 12.6544 7.70243 12.789C6.60669 12.9236 5.49527 12.744 4.49764 12.2713C3.50001 11.7986 2.65724 11.0521 2.06751 10.1188C1.47778 9.18558 1.16537 8.10397 1.16667 7ZM11.5111 10.6867L3.31334 2.48889C4.43144 1.57388 5.84966 1.10701 7.29265 1.1789C8.73565 1.2508 10.1004 1.85633 11.1221 2.87795C12.1437 3.89956 12.7492 5.26435 12.8211 6.70735C12.893 8.15034 12.4261 9.56856 11.5111 10.6867Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$h, "render$h"); +script$k.render = render$h; +var script$j = { + name: "StarIcon", + "extends": script$1m +}; +function render$g(_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", { + d: "M10.9741 13.6721C10.8806 13.6719 10.7886 13.6483 10.7066 13.6033L7.00002 11.6545L3.29345 13.6033C3.19926 13.6539 3.09281 13.6771 2.98612 13.6703C2.87943 13.6636 2.77676 13.6271 2.6897 13.5651C2.60277 13.5014 2.53529 13.4147 2.4948 13.3148C2.45431 13.215 2.44241 13.1058 2.46042 12.9995L3.17881 8.87264L0.167699 5.95324C0.0922333 5.8777 0.039368 5.78258 0.0150625 5.67861C-0.00924303 5.57463 -0.00402231 5.46594 0.030136 5.36477C0.0621323 5.26323 0.122141 5.17278 0.203259 5.10383C0.284377 5.03488 0.383311 4.99023 0.488681 4.97501L4.63087 4.37126L6.48797 0.618832C6.54083 0.530159 6.61581 0.456732 6.70556 0.405741C6.79532 0.35475 6.89678 0.327942 7.00002 0.327942C7.10325 0.327942 7.20471 0.35475 7.29447 0.405741C7.38422 0.456732 7.4592 0.530159 7.51206 0.618832L9.36916 4.37126L13.5114 4.97501C13.6167 4.99023 13.7157 5.03488 13.7968 5.10383C13.8779 5.17278 13.9379 5.26323 13.9699 5.36477C14.0041 5.46594 14.0093 5.57463 13.985 5.67861C13.9607 5.78258 13.9078 5.8777 13.8323 5.95324L10.8212 8.87264L11.532 12.9995C11.55 13.1058 11.5381 13.215 11.4976 13.3148C11.4571 13.4147 11.3896 13.5014 11.3027 13.5651C11.2059 13.632 11.0917 13.6692 10.9741 13.6721ZM7.00002 10.4393C7.09251 10.4404 7.18371 10.4613 7.2675 10.5005L10.2098 12.029L9.65193 8.75036C9.6368 8.6584 9.64343 8.56418 9.6713 8.47526C9.69918 8.38633 9.74751 8.30518 9.81242 8.23832L12.1969 5.94559L8.90298 5.45648C8.81188 5.44198 8.72555 5.406 8.65113 5.35152C8.57671 5.29703 8.51633 5.2256 8.475 5.14314L7.00002 2.1626L5.52503 5.15078C5.4837 5.23324 5.42332 5.30467 5.3489 5.35916C5.27448 5.41365 5.18815 5.44963 5.09705 5.46412L1.80318 5.94559L4.18761 8.23832C4.25252 8.30518 4.30085 8.38633 4.32873 8.47526C4.3566 8.56418 4.36323 8.6584 4.3481 8.75036L3.7902 12.0519L6.73253 10.5234C6.81451 10.4762 6.9058 10.4475 7.00002 10.4393Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$g, "render$g"); +script$j.render = render$g; +var script$i = { + name: "StarFillIcon", + "extends": script$1m +}; +function render$f(_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", { + d: "M13.9718 5.36453C13.9398 5.26298 13.8798 5.17252 13.7986 5.10356C13.7175 5.0346 13.6186 4.98994 13.5132 4.97472L9.37043 4.37088L7.51307 0.617955C7.46021 0.529271 7.38522 0.455834 7.29545 0.404836C7.20568 0.353838 7.1042 0.327026 7.00096 0.327026C6.89771 0.327026 6.79624 0.353838 6.70647 0.404836C6.6167 0.455834 6.54171 0.529271 6.48885 0.617955L4.63149 4.37088L0.488746 4.97472C0.383363 4.98994 0.284416 5.0346 0.203286 5.10356C0.122157 5.17252 0.0621407 5.26298 0.03014 5.36453C-0.00402286 5.46571 -0.00924428 5.57442 0.0150645 5.67841C0.0393733 5.7824 0.0922457 5.87753 0.167722 5.95308L3.17924 8.87287L2.4684 13.0003C2.45038 13.1066 2.46229 13.2158 2.50278 13.3157C2.54328 13.4156 2.61077 13.5022 2.6977 13.5659C2.78477 13.628 2.88746 13.6644 2.99416 13.6712C3.10087 13.678 3.20733 13.6547 3.30153 13.6042L7.00096 11.6551L10.708 13.6042C10.79 13.6491 10.882 13.6728 10.9755 13.673C11.0958 13.6716 11.2129 13.6343 11.3119 13.5659C11.3988 13.5022 11.4663 13.4156 11.5068 13.3157C11.5473 13.2158 11.5592 13.1066 11.5412 13.0003L10.8227 8.87287L13.8266 5.95308C13.9033 5.87835 13.9577 5.7836 13.9833 5.67957C14.009 5.57554 14.005 5.4664 13.9718 5.36453Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$f, "render$f"); +script$i.render = render$f; +var theme$9 = /* @__PURE__ */ __name(function theme31(_ref) { + var dt = _ref.dt; + return "\n.p-rating {\n position: relative;\n display: flex;\n align-items: center;\n gap: ".concat(dt("rating.gap"), ";\n}\n\n.p-rating-option {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n outline-color: transparent;\n border-radius: 50%;\n transition: background ").concat(dt("rating.transition.duration"), ", color ").concat(dt("rating.transition.duration"), ", border-color ").concat(dt("rating.transition.duration"), ", outline-color ").concat(dt("rating.transition.duration"), ", box-shadow ").concat(dt("rating.transition.duration"), ";\n}\n\n.p-rating-option.p-focus-visible {\n box-shadow: ").concat(dt("rating.focus.ring.shadow"), ";\n outline: ").concat(dt("rating.focus.ring.width"), " ").concat(dt("rating.focus.ring.style"), " ").concat(dt("rating.focus.ring.color"), ";\n outline-offset: ").concat(dt("rating.focus.ring.offset"), ";\n}\n\n.p-rating-icon {\n color: ").concat(dt("rating.icon.color"), ";\n transition: background ").concat(dt("rating.transition.duration"), ", color ").concat(dt("rating.transition.duration"), ", border-color ").concat(dt("rating.transition.duration"), ", outline-color ").concat(dt("rating.transition.duration"), ", box-shadow ").concat(dt("rating.transition.duration"), ";\n font-size: ").concat(dt("rating.icon.size"), ";\n width: ").concat(dt("rating.icon.size"), ";\n height: ").concat(dt("rating.icon.size"), ";\n}\n\n.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-option:hover .p-rating-icon {\n color: ").concat(dt("rating.icon.hover.color"), ";\n}\n\n.p-rating-option-active .p-rating-icon {\n color: ").concat(dt("rating.icon.active.color"), ";\n}\n\n.p-rating-icon.p-invalid { /* @todo */\n stroke: ").concat(dt("rating.invalid.icon.color"), ";\n}\n"); +}, "theme"); +var classes$a = { + root: /* @__PURE__ */ __name(function root24(_ref2) { + var props = _ref2.props; + return ["p-rating", { + "p-readonly": props.readonly, + "p-disabled": props.disabled + }]; + }, "root"), + option: /* @__PURE__ */ __name(function option3(_ref3) { + var instance = _ref3.instance, value2 = _ref3.value; + return ["p-rating-option", { + "p-rating-option-active": value2 <= instance.d_value, + "p-focus-visible": value2 === instance.focusedOptionIndex && instance.isFocusVisibleItem + }]; + }, "option"), + onIcon: /* @__PURE__ */ __name(function onIcon(_ref4) { + var instance = _ref4.instance; + return ["p-rating-icon p-rating-on-icon", { + "p-invalid": instance.$invalid + }]; + }, "onIcon"), + offIcon: /* @__PURE__ */ __name(function offIcon(_ref5) { + var instance = _ref5.instance; + return ["p-rating-icon p-rating-off-icon", { + "p-invalid": instance.$invalid + }]; + }, "offIcon") +}; +var RatingStyle = BaseStyle.extend({ + name: "rating", + theme: theme$9, + classes: classes$a +}); +var script$1$a = { + name: "BaseRating", + "extends": script$1s, + props: { + readonly: { + type: Boolean, + "default": false + }, + stars: { + type: Number, + "default": 5 + }, + onIcon: { + type: String, + "default": void 0 + }, + offIcon: { + type: String, + "default": void 0 + } + }, + style: RatingStyle, + provide: /* @__PURE__ */ __name(function provide41() { + return { + $pcRating: this, + $parentInstance: this + }; + }, "provide") +}; +var script$h = { + name: "Rating", + "extends": script$1$a, + inheritAttrs: false, + emits: ["change", "focus", "blur"], + data: /* @__PURE__ */ __name(function data30() { + return { + d_name: this.name, + focusedOptionIndex: -1, + isFocusVisibleItem: true + }; + }, "data"), + watch: { + name: /* @__PURE__ */ __name(function name3(newValue) { + this.d_name = newValue || UniqueComponentId(); + }, "name") + }, + mounted: /* @__PURE__ */ __name(function mounted31() { + this.d_name = this.d_name || UniqueComponentId(); + }, "mounted"), + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions9(key, value2) { + return this.ptm(key, { + context: { + active: value2 <= this.d_value, + focused: value2 === this.focusedOptionIndex + } + }); + }, "getPTOptions"), + onOptionClick: /* @__PURE__ */ __name(function onOptionClick3(event2, value2) { + if (!this.readonly && !this.disabled) { + this.onOptionSelect(event2, value2); + this.isFocusVisibleItem = false; + var firstFocusableEl = getFirstFocusableElement(event2.currentTarget); + firstFocusableEl && focus(firstFocusableEl); + } + }, "onOptionClick"), + onFocus: /* @__PURE__ */ __name(function onFocus12(event2, value2) { + this.focusedOptionIndex = value2; + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur12(event2) { + var _this$formField$onBlu, _this$formField; + this.focusedOptionIndex = -1; + this.$emit("blur", event2); + (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField); + }, "onBlur"), + onChange: /* @__PURE__ */ __name(function onChange(event2, value2) { + this.onOptionSelect(event2, value2); + this.isFocusVisibleItem = true; + }, "onChange"), + onOptionSelect: /* @__PURE__ */ __name(function onOptionSelect3(event2, value2) { + if (this.focusedOptionIndex === value2 || this.d_value === value2) { + this.focusedOptionIndex = -1; + this.updateModel(event2, null); + } else { + this.focusedOptionIndex = value2; + this.updateModel(event2, value2 || null); + } + }, "onOptionSelect"), + updateModel: /* @__PURE__ */ __name(function updateModel7(event2, value2) { + this.writeValue(value2, event2); + this.$emit("change", { + originalEvent: event2, + value: value2 + }); + }, "updateModel"), + starAriaLabel: /* @__PURE__ */ __name(function starAriaLabel(value2) { + return value2 === 1 ? this.$primevue.config.locale.aria.star : this.$primevue.config.locale.aria.stars.replace(/{star}/g, value2); + }, "starAriaLabel") + }, + components: { + StarFillIcon: script$i, + StarIcon: script$j, + BanIcon: script$k + } +}; +var _hoisted_1$b = ["onClick", "data-p-active", "data-p-focused"]; +var _hoisted_2$8 = ["value", "name", "checked", "disabled", "readonly", "aria-label", "onFocus", "onChange"]; +function render$e(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.stars, function(value2) { + return openBlock(), createElementBlock("div", mergeProps({ + key: value2, + "class": _ctx.cx("option", { + value: value2 + }), + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onOptionClick($event, value2); + }, "onClick"), + ref_for: true + }, $options.getPTOptions("option", value2), { + "data-p-active": value2 <= _ctx.d_value, + "data-p-focused": value2 === $data.focusedOptionIndex + }), [createBaseVNode("span", mergeProps({ + "class": "p-hidden-accessible", + ref_for: true + }, _ctx.ptm("hiddenOptionInputContainer"), { + "data-p-hidden-accessible": true + }), [createBaseVNode("input", mergeProps({ + type: "radio", + value: value2, + name: $data.d_name, + checked: _ctx.d_value === value2, + disabled: _ctx.disabled, + readonly: _ctx.readonly, + "aria-label": $options.starAriaLabel(value2), + onFocus: /* @__PURE__ */ __name(function onFocus15($event) { + return $options.onFocus($event, value2); + }, "onFocus"), + onBlur: _cache[0] || (_cache[0] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }), + onChange: /* @__PURE__ */ __name(function onChange2($event) { + return $options.onChange($event, value2); + }, "onChange"), + ref_for: true + }, _ctx.ptm("hiddenOptionInput")), null, 16, _hoisted_2$8)], 16), value2 <= _ctx.d_value ? renderSlot(_ctx.$slots, "onicon", { + key: 0, + value: value2, + "class": normalizeClass(_ctx.cx("onIcon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.onIcon ? "span" : "StarFillIcon"), mergeProps({ + "class": [_ctx.cx("onIcon"), _ctx.onIcon], + ref_for: true + }, _ctx.ptm("onIcon")), null, 16, ["class"]))]; + }) : renderSlot(_ctx.$slots, "officon", { + key: 1, + value: value2, + "class": normalizeClass(_ctx.cx("offIcon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.offIcon ? "span" : "StarIcon"), mergeProps({ + "class": [_ctx.cx("offIcon"), _ctx.offIcon], + ref_for: true + }, _ctx.ptm("offIcon")), null, 16, ["class"]))]; + })], 16, _hoisted_1$b); + }), 128))], 16); +} +__name(render$e, "render$e"); +script$h.render = render$e; +var script$g = { + name: "Row", + "extends": script$1d, + inject: ["$rows"], + mounted: /* @__PURE__ */ __name(function mounted32() { + var _this$$rows; + (_this$$rows = this.$rows) === null || _this$$rows === void 0 || _this$$rows.add(this.$); + }, "mounted"), + unmounted: /* @__PURE__ */ __name(function unmounted4() { + var _this$$rows2; + (_this$$rows2 = this.$rows) === null || _this$$rows2 === void 0 || _this$$rows2["delete"](this.$); + }, "unmounted"), + render: /* @__PURE__ */ __name(function render2() { + return null; + }, "render") +}; +var RowStyle = BaseStyle.extend({ + name: "row" +}); +var theme$8 = /* @__PURE__ */ __name(function theme32(_ref) { + _ref.dt; + return "\n.p-scrolltop.p-button {\n position: fixed !important;\n inset-block-end: 20px;\n inset-inline-end: 20px;\n}\n\n.p-scrolltop-sticky.p-button {\n position: sticky !important;\n display: flex;\n margin-inline-start: auto;\n}\n\n.p-scrolltop-enter-from {\n opacity: 0;\n}\n\n.p-scrolltop-enter-active {\n transition: opacity 0.15s;\n}\n\n.p-scrolltop.p-scrolltop-leave-to {\n opacity: 0;\n}\n\n.p-scrolltop-leave-active {\n transition: opacity 0.15s;\n}\n"; +}, "theme"); +var classes$9 = { + root: /* @__PURE__ */ __name(function root25(_ref2) { + var props = _ref2.props; + return ["p-scrolltop", { + "p-scrolltop-sticky": props.target !== "window" + }]; + }, "root"), + icon: "p-scrolltop-icon" +}; +var ScrollTopStyle = BaseStyle.extend({ + name: "scrolltop", + theme: theme$8, + classes: classes$9 +}); +var script$1$9 = { + name: "BaseScrollTop", + "extends": script$1d, + props: { + target: { + type: String, + "default": "window" + }, + threshold: { + type: Number, + "default": 400 + }, + icon: { + type: String, + "default": void 0 + }, + behavior: { + type: String, + "default": "smooth" + }, + buttonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default17() { + return { + rounded: true + }; + }, "_default") + } + }, + style: ScrollTopStyle, + provide: /* @__PURE__ */ __name(function provide42() { + return { + $pcScrollTop: this, + $parentInstance: this + }; + }, "provide") +}; +var script$f = { + name: "ScrollTop", + "extends": script$1$9, + inheritAttrs: false, + scrollListener: null, + container: null, + data: /* @__PURE__ */ __name(function data31() { + return { + visible: false + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted33() { + if (this.target === "window") this.bindDocumentScrollListener(); + else if (this.target === "parent") this.bindParentScrollListener(); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount14() { + if (this.target === "window") this.unbindDocumentScrollListener(); + else if (this.target === "parent") this.unbindParentScrollListener(); + if (this.container) { + ZIndex.clear(this.container); + this.overlay = null; + } + }, "beforeUnmount"), + methods: { + onClick: /* @__PURE__ */ __name(function onClick5() { + var scrollElement = this.target === "window" ? window : this.$el.parentElement; + scrollElement.scroll({ + top: 0, + behavior: this.behavior + }); + }, "onClick"), + checkVisibility: /* @__PURE__ */ __name(function checkVisibility(scrollY) { + if (scrollY > this.threshold) this.visible = true; + else this.visible = false; + }, "checkVisibility"), + bindParentScrollListener: /* @__PURE__ */ __name(function bindParentScrollListener() { + var _this = this; + this.scrollListener = function() { + _this.checkVisibility(_this.$el.parentElement.scrollTop); + }; + this.$el.parentElement.addEventListener("scroll", this.scrollListener); + }, "bindParentScrollListener"), + bindDocumentScrollListener: /* @__PURE__ */ __name(function bindDocumentScrollListener() { + var _this2 = this; + this.scrollListener = function() { + _this2.checkVisibility(getWindowScrollTop()); + }; + window.addEventListener("scroll", this.scrollListener); + }, "bindDocumentScrollListener"), + unbindParentScrollListener: /* @__PURE__ */ __name(function unbindParentScrollListener() { + if (this.scrollListener) { + this.$el.parentElement.removeEventListener("scroll", this.scrollListener); + this.scrollListener = null; + } + }, "unbindParentScrollListener"), + unbindDocumentScrollListener: /* @__PURE__ */ __name(function unbindDocumentScrollListener() { + if (this.scrollListener) { + window.removeEventListener("scroll", this.scrollListener); + this.scrollListener = null; + } + }, "unbindDocumentScrollListener"), + onEnter: /* @__PURE__ */ __name(function onEnter4(el) { + ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); + }, "onEnter"), + onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave4(el) { + ZIndex.clear(el); + }, "onAfterLeave"), + containerRef: /* @__PURE__ */ __name(function containerRef5(el) { + this.container = el ? el.$el : void 0; + }, "containerRef") + }, + computed: { + scrollTopAriaLabel: /* @__PURE__ */ __name(function scrollTopAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.scrollTop : void 0; + }, "scrollTopAriaLabel") + }, + components: { + ChevronUpIcon: script$1j, + Button: script$1e + } +}; +function render$d(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Button = resolveComponent("Button"); + return openBlock(), createBlock(Transition, mergeProps({ + name: "p-scrolltop", + appear: "", + onEnter: $options.onEnter, + onAfterLeave: $options.onAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [$data.visible ? (openBlock(), createBlock(_component_Button, mergeProps({ + key: 0, + ref: $options.containerRef, + "class": _ctx.cx("root"), + onClick: $options.onClick, + "aria-label": $options.scrollTopAriaLabel, + unstyled: _ctx.unstyled + }, _ctx.buttonProps, { + pt: _ctx.pt + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "icon", { + "class": normalizeClass(_ctx.cx("icon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon ? "span" : "ChevronUpIcon"), mergeProps({ + "class": [_ctx.cx("icon"), _ctx.icon, slotProps["class"]] + }, _ctx.ptm("icon")), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "onClick", "aria-label", "unstyled", "pt"])) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onAfterLeave"]); +} +__name(render$d, "render$d"); +script$f.render = render$d; +var script$e = { + name: "Sidebar", + "extends": script$1c, + mounted: /* @__PURE__ */ __name(function mounted34() { + console.warn("Deprecated since v4. Use Drawer component instead."); + }, "mounted") +}; +var SidebarStyle = BaseStyle.extend({ + name: "sidebar" +}); +var theme$7 = /* @__PURE__ */ __name(function theme33(_ref) { + var dt = _ref.dt; + return "\n.p-skeleton {\n overflow: hidden;\n background: ".concat(dt("skeleton.background"), ";\n border-radius: ").concat(dt("skeleton.border.radius"), ';\n}\n\n.p-skeleton::after {\n content: "";\n animation: p-skeleton-animation 1.2s infinite;\n height: 100%;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n transform: translateX(-100%);\n z-index: 1;\n background: linear-gradient(90deg, rgba(255, 255, 255, 0), ').concat(dt("skeleton.animation.background"), ", rgba(255, 255, 255, 0));\n}\n\n[dir='rtl'] .p-skeleton::after {\n animation-name: p-skeleton-animation-rtl;\n}\n\n.p-skeleton-circle {\n border-radius: 50%;\n}\n\n.p-skeleton-animation-none::after {\n animation: none;\n}\n\n@keyframes p-skeleton-animation {\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(100%);\n }\n}\n\n@keyframes p-skeleton-animation-rtl {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(-100%);\n }\n}\n"); +}, "theme"); +var inlineStyles$3 = { + root: { + position: "relative" + } +}; +var classes$8 = { + root: /* @__PURE__ */ __name(function root26(_ref2) { + var props = _ref2.props; + return ["p-skeleton p-component", { + "p-skeleton-circle": props.shape === "circle", + "p-skeleton-animation-none": props.animation === "none" + }]; + }, "root") +}; +var SkeletonStyle = BaseStyle.extend({ + name: "skeleton", + theme: theme$7, + classes: classes$8, + inlineStyles: inlineStyles$3 +}); +var script$1$8 = { + name: "BaseSkeleton", + "extends": script$1d, + props: { + shape: { + type: String, + "default": "rectangle" + }, + size: { + type: String, + "default": null + }, + width: { + type: String, + "default": "100%" + }, + height: { + type: String, + "default": "1rem" + }, + borderRadius: { + type: String, + "default": null + }, + animation: { + type: String, + "default": "wave" + } + }, + style: SkeletonStyle, + provide: /* @__PURE__ */ __name(function provide43() { + return { + $pcSkeleton: this, + $parentInstance: this + }; + }, "provide") +}; +var script$d = { + name: "Skeleton", + "extends": script$1$8, + inheritAttrs: false, + computed: { + containerStyle: /* @__PURE__ */ __name(function containerStyle() { + if (this.size) return { + width: this.size, + height: this.size, + borderRadius: this.borderRadius + }; + else return { + width: this.width, + height: this.height, + borderRadius: this.borderRadius + }; + }, "containerStyle") + } +}; +function render$c(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + style: [_ctx.sx("root"), $options.containerStyle], + "aria-hidden": "true" + }, _ctx.ptmi("root")), null, 16); +} +__name(render$c, "render$c"); +script$d.render = render$c; +function _typeof$8(o) { + "@babel/helpers - typeof"; + return _typeof$8 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$8(o); +} +__name(_typeof$8, "_typeof$8"); +function _defineProperty$8(e, r, t2) { + return (r = _toPropertyKey$8(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$8, "_defineProperty$8"); +function _toPropertyKey$8(t2) { + var i = _toPrimitive$8(t2, "string"); + return "symbol" == _typeof$8(i) ? i : i + ""; +} +__name(_toPropertyKey$8, "_toPropertyKey$8"); +function _toPrimitive$8(t2, r) { + if ("object" != _typeof$8(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$8(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$8, "_toPrimitive$8"); +var theme$6 = /* @__PURE__ */ __name(function theme34(_ref) { + var dt = _ref.dt; + return "\n.p-speeddial {\n position: static;\n display: flex;\n gap: ".concat(dt("speeddial.gap"), ";\n}\n\n.p-speeddial-button {\n z-index: 1;\n}\n\n.p-speeddial-button.p-speeddial-rotate {\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background ").concat(dt("speeddial.transition.duration"), ", color ").concat(dt("speeddial.transition.duration"), ", border-color ").concat(dt("speeddial.transition.duration"), ",\n box-shadow ").concat(dt("speeddial.transition.duration"), ", outline-color ").concat(dt("speeddial.transition.duration"), ";\n will-change: transform;\n}\n\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: inset-block-start 0s linear ").concat(dt("speeddial.transition.duration"), ";\n pointer-events: none;\n outline: 0 none;\n z-index: 2;\n gap: ").concat(dt("speeddial.gap"), ";\n}\n\n.p-speeddial-item {\n transform: scale(0);\n opacity: 0;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n will-change: transform;\n}\n\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n\n.p-speeddial-mask {\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n background: ").concat(dt("mask.background"), ";\n border-radius: 6px;\n transition: opacity 150ms;\n}\n\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n transition: opacity 150ms;\n}\n\n.p-speeddial-open .p-speeddial-list {\n pointer-events: auto;\n}\n\n.p-speeddial-open .p-speeddial-item {\n transform: scale(1);\n opacity: 1;\n}\n\n.p-speeddial-open .p-speeddial-rotate {\n transform: rotate(45deg);\n}\n"); +}, "theme"); +var inlineStyles$2 = { + root: /* @__PURE__ */ __name(function root27(_ref2) { + var props = _ref2.props; + return { + alignItems: (props.direction === "up" || props.direction === "down") && "center", + justifyContent: (props.direction === "left" || props.direction === "right") && "center", + flexDirection: props.direction === "up" ? "column-reverse" : props.direction === "down" ? "column" : props.direction === "left" ? "row-reverse" : props.direction === "right" ? "row" : null + }; + }, "root"), + list: /* @__PURE__ */ __name(function list(_ref3) { + var props = _ref3.props; + return { + flexDirection: props.direction === "up" ? "column-reverse" : props.direction === "down" ? "column" : props.direction === "left" ? "row-reverse" : props.direction === "right" ? "row" : null + }; + }, "list") +}; +var classes$7 = { + root: /* @__PURE__ */ __name(function root28(_ref4) { + var instance = _ref4.instance, props = _ref4.props; + return ["p-speeddial p-component p-speeddial-".concat(props.type), _defineProperty$8(_defineProperty$8(_defineProperty$8({}, "p-speeddial-direction-".concat(props.direction), props.type !== "circle"), "p-speeddial-open", instance.d_visible), "p-disabled", props.disabled)]; + }, "root"), + pcButton: /* @__PURE__ */ __name(function pcButton(_ref6) { + var props = _ref6.props; + return ["p-speeddial-button", { + "p-speeddial-rotate": props.rotateAnimation && !props.hideIcon + }]; + }, "pcButton"), + list: "p-speeddial-list", + item: "p-speeddial-item", + action: "p-speeddial-action", + actionIcon: "p-speeddial-action-icon", + mask: /* @__PURE__ */ __name(function mask4(_ref7) { + var instance = _ref7.instance; + return ["p-speeddial-mask", { + "p-speeddial-mask-visible": instance.d_visible + }]; + }, "mask") +}; +var SpeedDialStyle = BaseStyle.extend({ + name: "speeddial", + theme: theme$6, + classes: classes$7, + inlineStyles: inlineStyles$2 +}); +var script$1$7 = { + name: "BaseSpeedDial", + "extends": script$1d, + props: { + model: null, + visible: { + type: Boolean, + "default": false + }, + direction: { + type: String, + "default": "up" + }, + transitionDelay: { + type: Number, + "default": 30 + }, + type: { + type: String, + "default": "linear" + }, + radius: { + type: Number, + "default": 0 + }, + mask: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + hideOnClickOutside: { + type: Boolean, + "default": true + }, + buttonClass: null, + maskStyle: null, + maskClass: null, + showIcon: { + type: String, + "default": void 0 + }, + hideIcon: { + type: String, + "default": void 0 + }, + rotateAnimation: { + type: Boolean, + "default": true + }, + tooltipOptions: null, + style: null, + "class": null, + buttonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default18() { + return { + rounded: true + }; + }, "_default") + }, + actionButtonProps: { + type: Object, + "default": /* @__PURE__ */ __name(function _default19() { + return { + severity: "secondary", + rounded: true, + size: "small" + }; + }, "_default") + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: SpeedDialStyle, + provide: /* @__PURE__ */ __name(function provide44() { + return { + $pcSpeedDial: this, + $parentInstance: this + }; + }, "provide") +}; +function _typeof$7(o) { + "@babel/helpers - typeof"; + return _typeof$7 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$7(o); +} +__name(_typeof$7, "_typeof$7"); +function ownKeys$7(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$7, "ownKeys$7"); +function _objectSpread$7(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$7(Object(t2), true).forEach(function(r2) { + _defineProperty$7(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$7(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$7, "_objectSpread$7"); +function _defineProperty$7(e, r, t2) { + return (r = _toPropertyKey$7(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$7, "_defineProperty$7"); +function _toPropertyKey$7(t2) { + var i = _toPrimitive$7(t2, "string"); + return "symbol" == _typeof$7(i) ? i : i + ""; +} +__name(_toPropertyKey$7, "_toPropertyKey$7"); +function _toPrimitive$7(t2, r) { + if ("object" != _typeof$7(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$7(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$7, "_toPrimitive$7"); +function _toConsumableArray$3(r) { + return _arrayWithoutHoles$3(r) || _iterableToArray$3(r) || _unsupportedIterableToArray$3(r) || _nonIterableSpread$3(); +} +__name(_toConsumableArray$3, "_toConsumableArray$3"); +function _nonIterableSpread$3() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$3, "_nonIterableSpread$3"); +function _unsupportedIterableToArray$3(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$3(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$3(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$3, "_unsupportedIterableToArray$3"); +function _iterableToArray$3(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$3, "_iterableToArray$3"); +function _arrayWithoutHoles$3(r) { + if (Array.isArray(r)) return _arrayLikeToArray$3(r); +} +__name(_arrayWithoutHoles$3, "_arrayWithoutHoles$3"); +function _arrayLikeToArray$3(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$3, "_arrayLikeToArray$3"); +var Math_PI = 3.14159265358979; +var script$c = { + name: "SpeedDial", + "extends": script$1$7, + inheritAttrs: false, + emits: ["click", "show", "hide", "focus", "blur"], + documentClickListener: null, + container: null, + list: null, + data: /* @__PURE__ */ __name(function data32() { + return { + id: this.$attrs.id, + d_visible: this.visible, + isItemClicked: false, + focused: false, + focusedOptionIndex: -1 + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId12(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + visible: /* @__PURE__ */ __name(function visible4(newValue) { + this.d_visible = newValue; + }, "visible") + }, + mounted: /* @__PURE__ */ __name(function mounted35() { + this.id = this.id || UniqueComponentId(); + if (this.type !== "linear") { + var button = findSingle(this.container, '[data-pc-name="pcbutton"]'); + var firstItem = findSingle(this.list, '[data-pc-section="item"]'); + if (button && firstItem) { + var wDiff = Math.abs(button.offsetWidth - firstItem.offsetWidth); + var hDiff = Math.abs(button.offsetHeight - firstItem.offsetHeight); + this.list.style.setProperty($dt("item.diff.x").name, "".concat(wDiff / 2, "px")); + this.list.style.setProperty($dt("item.diff.y").name, "".concat(hDiff / 2, "px")); + } + } + if (this.hideOnClickOutside) { + this.bindDocumentClickListener(); + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount15() { + this.unbindDocumentClickListener(); + }, "beforeUnmount"), + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions10(id4, key) { + return this.ptm(key, { + context: { + active: this.isItemActive(id4), + hidden: !this.d_visible + } + }); + }, "getPTOptions"), + onFocus: /* @__PURE__ */ __name(function onFocus13(event2) { + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur13(event2) { + this.focusedOptionIndex = -1; + this.$emit("blur", event2); + }, "onBlur"), + onItemClick: /* @__PURE__ */ __name(function onItemClick7(e, item8) { + if (item8.command) { + item8.command({ + originalEvent: e, + item: item8 + }); + } + this.hide(); + this.isItemClicked = true; + e.preventDefault(); + }, "onItemClick"), + onClick: /* @__PURE__ */ __name(function onClick6(event2) { + this.d_visible ? this.hide() : this.show(); + this.isItemClicked = true; + this.$emit("click", event2); + }, "onClick"), + show: /* @__PURE__ */ __name(function show5() { + this.d_visible = true; + this.$emit("show"); + }, "show"), + hide: /* @__PURE__ */ __name(function hide6() { + this.d_visible = false; + this.$emit("hide"); + }, "hide"), + calculateTransitionDelay: /* @__PURE__ */ __name(function calculateTransitionDelay(index) { + var length = this.model.length; + var visible7 = this.d_visible; + return (visible7 ? index : length - index - 1) * this.transitionDelay; + }, "calculateTransitionDelay"), + onTogglerKeydown: /* @__PURE__ */ __name(function onTogglerKeydown(event2) { + switch (event2.code) { + case "ArrowDown": + case "ArrowLeft": + this.onTogglerArrowDown(event2); + break; + case "ArrowUp": + case "ArrowRight": + this.onTogglerArrowUp(event2); + break; + case "Escape": + this.onEscapeKey(); + break; + } + }, "onTogglerKeydown"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown11(event2) { + switch (event2.code) { + case "ArrowDown": + this.onArrowDown(event2); + break; + case "ArrowUp": + this.onArrowUp(event2); + break; + case "ArrowLeft": + this.onArrowLeft(event2); + break; + case "ArrowRight": + this.onArrowRight(event2); + break; + case "Enter": + case "NumpadEnter": + case "Space": + this.onEnterKey(event2); + break; + case "Escape": + this.onEscapeKey(event2); + break; + case "Home": + this.onHomeKey(event2); + break; + case "End": + this.onEndKey(event2); + break; + } + }, "onKeyDown"), + onTogglerArrowUp: /* @__PURE__ */ __name(function onTogglerArrowUp(event2) { + this.show(); + this.navigatePrevItem(event2); + event2.preventDefault(); + }, "onTogglerArrowUp"), + onTogglerArrowDown: /* @__PURE__ */ __name(function onTogglerArrowDown(event2) { + this.show(); + this.navigateNextItem(event2); + event2.preventDefault(); + }, "onTogglerArrowDown"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey7(event2) { + var _this = this; + var items2 = find(this.container, '[data-pc-section="item"]'); + var itemIndex = _toConsumableArray$3(items2).findIndex(function(item8) { + return item8.id === _this.focusedOptionIndex; + }); + var buttonEl = findSingle(this.container, "button"); + this.onItemClick(event2, this.model[itemIndex]); + this.onBlur(event2); + buttonEl && focus(buttonEl); + }, "onEnterKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey4() { + this.hide(); + var buttonEl = findSingle(this.container, "button"); + buttonEl && focus(buttonEl); + }, "onEscapeKey"), + onArrowUp: /* @__PURE__ */ __name(function onArrowUp(event2) { + if (this.direction === "down") { + this.navigatePrevItem(event2); + } else { + this.navigateNextItem(event2); + } + }, "onArrowUp"), + onArrowDown: /* @__PURE__ */ __name(function onArrowDown(event2) { + if (this.direction === "down") { + this.navigateNextItem(event2); + } else { + this.navigatePrevItem(event2); + } + }, "onArrowDown"), + onArrowLeft: /* @__PURE__ */ __name(function onArrowLeft(event2) { + var leftValidDirections = ["left", "up-right", "down-left"]; + var rightValidDirections = ["right", "up-left", "down-right"]; + if (leftValidDirections.includes(this.direction)) { + this.navigateNextItem(event2); + } else if (rightValidDirections.includes(this.direction)) { + this.navigatePrevItem(event2); + } else { + this.navigatePrevItem(event2); + } + }, "onArrowLeft"), + onArrowRight: /* @__PURE__ */ __name(function onArrowRight(event2) { + var leftValidDirections = ["left", "up-right", "down-left"]; + var rightValidDirections = ["right", "up-left", "down-right"]; + if (leftValidDirections.includes(this.direction)) { + this.navigatePrevItem(event2); + } else if (rightValidDirections.includes(this.direction)) { + this.navigateNextItem(event2); + } else { + this.navigateNextItem(event2); + } + }, "onArrowRight"), + onEndKey: /* @__PURE__ */ __name(function onEndKey8(event2) { + event2.preventDefault(); + this.focusedOptionIndex = -1; + this.navigatePrevItem(event2); + }, "onEndKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey8(event2) { + event2.preventDefault(); + this.focusedOptionIndex = -1; + this.navigateNextItem(event2); + }, "onHomeKey"), + navigateNextItem: /* @__PURE__ */ __name(function navigateNextItem(event2) { + var optionIndex = this.findNextOptionIndex(this.focusedOptionIndex); + this.changeFocusedOptionIndex(optionIndex); + event2.preventDefault(); + }, "navigateNextItem"), + navigatePrevItem: /* @__PURE__ */ __name(function navigatePrevItem(event2) { + var optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex); + this.changeFocusedOptionIndex(optionIndex); + event2.preventDefault(); + }, "navigatePrevItem"), + changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex5(index) { + var items2 = find(this.container, '[data-pc-section="item"]'); + var filteredItems = _toConsumableArray$3(items2).filter(function(item8) { + return !hasClass(findSingle(item8, "a"), "p-disabled"); + }); + if (filteredItems[index]) { + this.focusedOptionIndex = filteredItems[index].getAttribute("id"); + var buttonEl = findSingle(filteredItems[index], '[type="button"]'); + buttonEl && focus(buttonEl); + } + }, "changeFocusedOptionIndex"), + findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex5(index) { + var items2 = find(this.container, '[data-pc-section="item"]'); + var filteredItems = _toConsumableArray$3(items2).filter(function(item8) { + return !hasClass(findSingle(item8, "a"), "p-disabled"); + }); + var newIndex = index === -1 ? filteredItems[filteredItems.length - 1].id : index; + var matchedOptionIndex = filteredItems.findIndex(function(link) { + return link.getAttribute("id") === newIndex; + }); + matchedOptionIndex = index === -1 ? filteredItems.length - 1 : matchedOptionIndex - 1; + return matchedOptionIndex; + }, "findPrevOptionIndex"), + findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex5(index) { + var items2 = find(this.container, '[data-pc-section="item"]'); + var filteredItems = _toConsumableArray$3(items2).filter(function(item8) { + return !hasClass(findSingle(item8, "a"), "p-disabled"); + }); + var newIndex = index === -1 ? filteredItems[0].id : index; + var matchedOptionIndex = filteredItems.findIndex(function(link) { + return link.getAttribute("id") === newIndex; + }); + matchedOptionIndex = index === -1 ? 0 : matchedOptionIndex + 1; + return matchedOptionIndex; + }, "findNextOptionIndex"), + calculatePointStyle: /* @__PURE__ */ __name(function calculatePointStyle(index) { + var type = this.type; + if (type !== "linear") { + var length = this.model.length; + var radius = this.radius || length * 20; + if (type === "circle") { + var step = 2 * Math_PI / length; + return { + left: "calc(".concat(radius * Math.cos(step * index), "px + ").concat($dt("item.diff.x", "0px").variable, ")"), + top: "calc(".concat(radius * Math.sin(step * index), "px + ").concat($dt("item.diff.y", "0px").variable, ")") + }; + } else if (type === "semi-circle") { + var direction = this.direction; + var _step = Math_PI / (length - 1); + var x = "calc(".concat(radius * Math.cos(_step * index), "px + ").concat($dt("item.diff.x", "0px").variable, ")"); + var y = "calc(".concat(radius * Math.sin(_step * index), "px + ").concat($dt("item.diff.y", "0px").variable, ")"); + if (direction === "up") { + return { + left: x, + bottom: y + }; + } else if (direction === "down") { + return { + left: x, + top: y + }; + } else if (direction === "left") { + return { + right: y, + top: x + }; + } else if (direction === "right") { + return { + left: y, + top: x + }; + } + } else if (type === "quarter-circle") { + var _direction = this.direction; + var _step2 = Math_PI / (2 * (length - 1)); + var _x = "calc(".concat(radius * Math.cos(_step2 * index), "px + ").concat($dt("item.diff.x", "0px").variable, ")"); + var _y = "calc(".concat(radius * Math.sin(_step2 * index), "px + ").concat($dt("item.diff.y", "0px").variable, ")"); + if (_direction === "up-left") { + return { + right: _x, + bottom: _y + }; + } else if (_direction === "up-right") { + return { + left: _x, + bottom: _y + }; + } else if (_direction === "down-left") { + return { + right: _y, + top: _x + }; + } else if (_direction === "down-right") { + return { + left: _y, + top: _x + }; + } + } + } + return {}; + }, "calculatePointStyle"), + getItemStyle: /* @__PURE__ */ __name(function getItemStyle(index) { + var transitionDelay = this.calculateTransitionDelay(index); + var pointStyle = this.calculatePointStyle(index); + return _objectSpread$7({ + transitionDelay: "".concat(transitionDelay, "ms") + }, pointStyle); + }, "getItemStyle"), + bindDocumentClickListener: /* @__PURE__ */ __name(function bindDocumentClickListener() { + var _this2 = this; + if (!this.documentClickListener) { + this.documentClickListener = function(event2) { + if (_this2.d_visible && _this2.isOutsideClicked(event2)) { + _this2.hide(); + } + _this2.isItemClicked = false; + }; + document.addEventListener("click", this.documentClickListener); + } + }, "bindDocumentClickListener"), + unbindDocumentClickListener: /* @__PURE__ */ __name(function unbindDocumentClickListener() { + if (this.documentClickListener) { + document.removeEventListener("click", this.documentClickListener); + this.documentClickListener = null; + } + }, "unbindDocumentClickListener"), + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked4(event2) { + return this.container && !(this.container.isSameNode(event2.target) || this.container.contains(event2.target) || this.isItemClicked); + }, "isOutsideClicked"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible6(item8) { + return typeof item8.visible === "function" ? item8.visible() : item8.visible !== false; + }, "isItemVisible"), + isItemActive: /* @__PURE__ */ __name(function isItemActive7(id4) { + return id4 === this.focusedOptionId; + }, "isItemActive"), + containerRef: /* @__PURE__ */ __name(function containerRef6(el) { + this.container = el; + }, "containerRef"), + listRef: /* @__PURE__ */ __name(function listRef3(el) { + this.list = el; + }, "listRef") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass3() { + return [this.cx("root"), this["class"]]; + }, "containerClass"), + focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId6() { + return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null; + }, "focusedOptionId") + }, + components: { + Button: script$1e, + PlusIcon: script$1x + }, + directives: { + ripple: Ripple, + tooltip: Tooltip + } +}; +var _hoisted_1$a = ["id"]; +var _hoisted_2$7 = ["id", "data-p-active"]; +function render$b(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Button = resolveComponent("Button"); + var _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock(Fragment, null, [createBaseVNode("div", mergeProps({ + ref: $options.containerRef, + "class": $options.containerClass, + style: [_ctx.style, _ctx.sx("root")] + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "button", { + visible: $data.d_visible, + toggleCallback: $options.onClick + }, function() { + return [createVNode(_component_Button, mergeProps({ + "class": [_ctx.cx("pcButton"), _ctx.buttonClass], + disabled: _ctx.disabled, + "aria-expanded": $data.d_visible, + "aria-haspopup": true, + "aria-controls": $data.id + "_list", + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + unstyled: _ctx.unstyled, + onClick: _cache[0] || (_cache[0] = function($event) { + return $options.onClick($event); + }), + onKeydown: $options.onTogglerKeydown + }, _ctx.buttonProps, { + pt: _ctx.ptm("pcButton") + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "icon", { + visible: $data.d_visible + }, function() { + return [$data.d_visible && !!_ctx.hideIcon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.hideIcon ? "span" : "PlusIcon"), mergeProps({ + key: 0, + "class": [_ctx.hideIcon, slotProps["class"]] + }, _ctx.ptm("pcButton")["icon"], { + "data-pc-section": "icon" + }), null, 16, ["class"])) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.showIcon ? "span" : "PlusIcon"), mergeProps({ + key: 1, + "class": [$data.d_visible && !!_ctx.hideIcon ? _ctx.hideIcon : _ctx.showIcon, slotProps["class"]] + }, _ctx.ptm("pcButton")["icon"], { + "data-pc-section": "icon" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "disabled", "aria-expanded", "aria-controls", "aria-label", "aria-labelledby", "unstyled", "onKeydown", "pt"])]; + }), createBaseVNode("ul", mergeProps({ + ref: $options.listRef, + id: $data.id + "_list", + "class": _ctx.cx("list"), + style: _ctx.sx("list"), + role: "menu", + tabindex: "-1", + onFocus: _cache[1] || (_cache[1] = function() { + return $options.onFocus && $options.onFocus.apply($options, arguments); + }), + onBlur: _cache[2] || (_cache[2] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }), + onKeydown: _cache[3] || (_cache[3] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.model, function(item8, index) { + return openBlock(), createElementBlock(Fragment, { + key: index + }, [$options.isItemVisible(item8) ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: "".concat($data.id, "_").concat(index), + "class": _ctx.cx("item", { + id: "".concat($data.id, "_").concat(index) + }), + style: $options.getItemStyle(index), + role: "none", + "data-p-active": $options.isItemActive("".concat($data.id, "_").concat(index)), + ref_for: true + }, $options.getPTOptions("".concat($data.id, "_").concat(index), "item")), [!_ctx.$slots.item ? withDirectives((openBlock(), createBlock(_component_Button, mergeProps({ + key: 0, + tabindex: -1, + role: "menuitem", + "class": _ctx.cx("pcAction", { + item: item8 + }), + "aria-label": item8.label, + disabled: _ctx.disabled, + unstyled: _ctx.unstyled, + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onItemClick($event, item8); + }, "onClick"), + ref_for: true + }, _ctx.actionButtonProps, { + pt: $options.getPTOptions("".concat($data.id, "_").concat(index), "pcAction") + }), createSlots({ + _: 2 + }, [item8.icon ? { + name: "icon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "itemicon", { + item: item8, + "class": normalizeClass(slotProps["class"]) + }, function() { + return [createBaseVNode("span", mergeProps({ + "class": [item8.icon, slotProps["class"]], + ref_for: true + }, $options.getPTOptions("".concat($data.id, "_").concat(index), "actionIcon")), null, 16)]; + })]; + }), + key: "0" + } : void 0]), 1040, ["class", "aria-label", "disabled", "unstyled", "onClick", "pt"])), [[_directive_tooltip, { + value: item8.label, + disabled: !_ctx.tooltipOptions + }, _ctx.tooltipOptions]]) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.item), { + key: 1, + item: item8, + onClick: /* @__PURE__ */ __name(function onClick11(event2) { + return $options.onItemClick(event2, item8); + }, "onClick"), + toggleCallback: /* @__PURE__ */ __name(function toggleCallback(event2) { + return $options.onItemClick(event2, item8); + }, "toggleCallback") + }, null, 8, ["item", "onClick", "toggleCallback"]))], 16, _hoisted_2$7)) : createCommentVNode("", true)], 64); + }), 128))], 16, _hoisted_1$a)], 16), _ctx.mask ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": [_ctx.cx("mask"), _ctx.maskClass], + style: _ctx.maskStyle + }, _ctx.ptm("mask")), null, 16)) : createCommentVNode("", true)], 64); +} +__name(render$b, "render$b"); +script$c.render = render$b; +var classes$6 = { + root: /* @__PURE__ */ __name(function root29(_ref) { + var instance = _ref.instance; + return ["p-stepitem", { + "p-stepitem-active": instance.isActive + }]; + }, "root") +}; +var StepItemStyle = BaseStyle.extend({ + name: "stepitem", + classes: classes$6 +}); +var script$1$6 = { + name: "BaseStepItem", + "extends": script$1d, + props: { + value: { + type: [String, Number], + "default": void 0 + } + }, + style: StepItemStyle, + provide: /* @__PURE__ */ __name(function provide45() { + return { + $pcStepItem: this, + $parentInstance: this + }; + }, "provide") +}; +var script$b = { + name: "StepItem", + "extends": script$1$6, + inheritAttrs: false, + inject: ["$pcStepper"], + computed: { + isActive: /* @__PURE__ */ __name(function isActive() { + var _this$$pcStepper; + return ((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.d_value) === this.value; + }, "isActive") + } +}; +var _hoisted_1$9 = ["data-p-active"]; +function render$a(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + "data-p-active": $options.isActive + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$9); +} +__name(render$a, "render$a"); +script$b.render = render$a; +var theme$5 = /* @__PURE__ */ __name(function theme35(_ref) { + var dt = _ref.dt; + return '\n.p-steps {\n position: relative;\n}\n\n.p-steps-list {\n padding: 0;\n margin: 0;\n list-style-type: none;\n display: flex;\n}\n\n.p-steps-item {\n position: relative;\n display: flex;\n justify-content: center;\n flex: 1 1 auto;\n}\n\n.p-steps-item.p-disabled,\n.p-steps-item.p-disabled * {\n opacity: 1;\n pointer-events: auto;\n user-select: auto;\n cursor: auto;\n}\n\n.p-steps-item:before {\n content: " ";\n border-top: 2px solid '.concat(dt("steps.separator.background"), ";\n width: 100%;\n top: 50%;\n left: 0;\n display: block;\n position: absolute;\n margin-top: calc(-1rem + 1px);\n}\n\n.p-steps-item:first-child::before {\n width: calc(50% + 1rem);\n transform: translateX(100%);\n}\n\n.p-steps-item:last-child::before {\n width: 50%;\n}\n\n.p-steps-item-link {\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n overflow: hidden;\n text-decoration: none;\n transition: outline-color ").concat(dt("steps.transition.duration"), ", box-shadow ").concat(dt("steps.transition.duration"), ";\n border-radius: ").concat(dt("steps.item.link.border.radius"), ";\n outline-color: transparent;\n gap: ").concat(dt("steps.item.link.gap"), ";\n}\n\n.p-steps-item-link:not(.p-disabled):focus-visible {\n box-shadow: ").concat(dt("steps.item.link.focus.ring.shadow"), ";\n outline: ").concat(dt("steps.item.link.focus.ring.width"), " ").concat(dt("steps.item.link.focus.ring.style"), " ").concat(dt("steps.item.link.focus.ring.color"), ";\n outline-offset: ").concat(dt("steps.item.link.focus.ring.offset"), ";\n}\n\n.p-steps-item-label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n color: ").concat(dt("steps.item.label.color"), ";\n display: block;\n font-weight: ").concat(dt("steps.item.label.font.weight"), ";\n}\n\n.p-steps-item-number {\n display: flex;\n align-items: center;\n justify-content: center;\n color: ").concat(dt("steps.item.number.color"), ";\n border: 2px solid ").concat(dt("steps.item.number.border.color"), ";\n background: ").concat(dt("steps.item.number.background"), ";\n min-width: ").concat(dt("steps.item.number.size"), ";\n height: ").concat(dt("steps.item.number.size"), ";\n line-height: ").concat(dt("steps.item.number.size"), ";\n font-size: ").concat(dt("steps.item.number.font.size"), ";\n z-index: 1;\n border-radius: ").concat(dt("steps.item.number.border.radius"), ";\n position: relative;\n font-weight: ").concat(dt("steps.item.number.font.weight"), ';\n}\n\n.p-steps-item-number::after {\n content: " ";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ').concat(dt("steps.item.number.border.radius"), ";\n box-shadow: ").concat(dt("steps.item.number.shadow"), ";\n}\n\n.p-steps:not(.p-readonly) .p-steps-item {\n cursor: pointer;\n}\n\n.p-steps-item-active .p-steps-item-number {\n background: ").concat(dt("steps.item.number.active.background"), ";\n border-color: ").concat(dt("steps.item.number.active.border.color"), ";\n color: ").concat(dt("steps.item.number.active.color"), ";\n}\n\n.p-steps-item-active .p-steps-item-label {\n color: ").concat(dt("steps.item.label.active.color"), ";\n}\n"); +}, "theme"); +var classes$5 = { + root: /* @__PURE__ */ __name(function root30(_ref2) { + var props = _ref2.props; + return ["p-steps p-component", { + "p-readonly": props.readonly + }]; + }, "root"), + list: "p-steps-list", + item: /* @__PURE__ */ __name(function item6(_ref3) { + var instance = _ref3.instance, _item = _ref3.item, index = _ref3.index; + return ["p-steps-item", { + "p-steps-item-active": instance.isActive(index), + "p-disabled": instance.isItemDisabled(_item, index) + }]; + }, "item"), + itemLink: "p-steps-item-link", + itemNumber: "p-steps-item-number", + itemLabel: "p-steps-item-label" +}; +var StepsStyle = BaseStyle.extend({ + name: "steps", + theme: theme$5, + classes: classes$5 +}); +var script$1$5 = { + name: "BaseSteps", + "extends": script$1d, + props: { + id: { + type: String + }, + model: { + type: Array, + "default": null + }, + readonly: { + type: Boolean, + "default": true + }, + activeStep: { + type: Number, + "default": 0 + } + }, + style: StepsStyle, + provide: /* @__PURE__ */ __name(function provide46() { + return { + $pcSteps: this, + $parentInstance: this + }; + }, "provide") +}; +var script$a = { + name: "Steps", + "extends": script$1$5, + inheritAttrs: false, + emits: ["update:activeStep", "step-change"], + data: /* @__PURE__ */ __name(function data33() { + return { + d_activeStep: this.activeStep + }; + }, "data"), + watch: { + activeStep: /* @__PURE__ */ __name(function activeStep(newValue) { + this.d_activeStep = newValue; + }, "activeStep") + }, + mounted: /* @__PURE__ */ __name(function mounted36() { + var firstItem = this.findFirstItem(); + firstItem && (firstItem.tabIndex = "0"); + }, "mounted"), + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions11(key, item8, index) { + return this.ptm(key, { + context: { + item: item8, + index, + active: this.isActive(index), + disabled: this.isItemDisabled(item8, index) + } + }); + }, "getPTOptions"), + onItemClick: /* @__PURE__ */ __name(function onItemClick8(event2, item8, index) { + if (this.disabled(item8) || this.readonly) { + event2.preventDefault(); + return; + } + if (item8.command) { + item8.command({ + originalEvent: event2, + item: item8 + }); + } + if (index !== this.d_activeStep) { + this.d_activeStep = index; + this.$emit("update:activeStep", this.d_activeStep); + } + this.$emit("step-change", { + originalEvent: event2, + index + }); + }, "onItemClick"), + onItemKeydown: /* @__PURE__ */ __name(function onItemKeydown(event2, item8) { + switch (event2.code) { + case "ArrowRight": { + this.navigateToNextItem(event2.target); + event2.preventDefault(); + break; + } + case "ArrowLeft": { + this.navigateToPrevItem(event2.target); + event2.preventDefault(); + break; + } + case "Home": { + this.navigateToFirstItem(event2.target); + event2.preventDefault(); + break; + } + case "End": { + this.navigateToLastItem(event2.target); + event2.preventDefault(); + break; + } + case "Tab": + break; + case "Enter": + case "NumpadEnter": + case "Space": { + this.onItemClick(event2, item8); + event2.preventDefault(); + break; + } + } + }, "onItemKeydown"), + navigateToNextItem: /* @__PURE__ */ __name(function navigateToNextItem(target) { + var nextItem = this.findNextItem(target); + nextItem && this.setFocusToMenuitem(target, nextItem); + }, "navigateToNextItem"), + navigateToPrevItem: /* @__PURE__ */ __name(function navigateToPrevItem(target) { + var prevItem = this.findPrevItem(target); + prevItem && this.setFocusToMenuitem(target, prevItem); + }, "navigateToPrevItem"), + navigateToFirstItem: /* @__PURE__ */ __name(function navigateToFirstItem(target) { + var firstItem = this.findFirstItem(target); + firstItem && this.setFocusToMenuitem(target, firstItem); + }, "navigateToFirstItem"), + navigateToLastItem: /* @__PURE__ */ __name(function navigateToLastItem(target) { + var lastItem = this.findLastItem(target); + lastItem && this.setFocusToMenuitem(target, lastItem); + }, "navigateToLastItem"), + findNextItem: /* @__PURE__ */ __name(function findNextItem2(item8) { + var nextItem = item8.parentElement.nextElementSibling; + return nextItem ? nextItem.children[0] : null; + }, "findNextItem"), + findPrevItem: /* @__PURE__ */ __name(function findPrevItem2(item8) { + var prevItem = item8.parentElement.previousElementSibling; + return prevItem ? prevItem.children[0] : null; + }, "findPrevItem"), + findFirstItem: /* @__PURE__ */ __name(function findFirstItem2() { + var firstSibling = findSingle(this.$refs.list, '[data-pc-section="item"]'); + return firstSibling ? firstSibling.children[0] : null; + }, "findFirstItem"), + findLastItem: /* @__PURE__ */ __name(function findLastItem2() { + var siblings = find(this.$refs.list, '[data-pc-section="item"]'); + return siblings ? siblings[siblings.length - 1].children[0] : null; + }, "findLastItem"), + setFocusToMenuitem: /* @__PURE__ */ __name(function setFocusToMenuitem(target, focusableItem) { + target.tabIndex = "-1"; + focusableItem.tabIndex = "0"; + focusableItem.focus(); + }, "setFocusToMenuitem"), + isActive: /* @__PURE__ */ __name(function isActive2(index) { + return index === this.d_activeStep; + }, "isActive"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled6(item8, index) { + return this.disabled(item8) || this.readonly && !this.isActive(index); + }, "isItemDisabled"), + visible: /* @__PURE__ */ __name(function visible5(item8) { + return typeof item8.visible === "function" ? item8.visible() : item8.visible !== false; + }, "visible"), + disabled: /* @__PURE__ */ __name(function disabled5(item8) { + return typeof item8.disabled === "function" ? item8.disabled() : item8.disabled; + }, "disabled"), + label: /* @__PURE__ */ __name(function label8(item8) { + return typeof item8.label === "function" ? item8.label() : item8.label; + }, "label"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps7(item8, index) { + var _this = this; + return { + action: mergeProps({ + "class": this.cx("itemLink"), + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return _this.onItemClick($event, item8); + }, "onClick"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown15($event) { + return _this.onItemKeydown($event, item8); + }, "onKeyDown") + }, this.getPTOptions("itemLink", item8, index)), + step: mergeProps({ + "class": this.cx("itemNumber") + }, this.getPTOptions("itemNumber", item8, index)), + label: mergeProps({ + "class": this.cx("itemLabel") + }, this.getPTOptions("itemLabel", item8, index)) + }; + }, "getMenuItemProps") + } +}; +var _hoisted_1$8 = ["id"]; +var _hoisted_2$6 = ["aria-current", "onClick", "onKeydown", "data-p-active", "data-p-disabled"]; +function render$9(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("nav", mergeProps({ + id: _ctx.id, + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [createBaseVNode("ol", mergeProps({ + ref: "list", + "class": _ctx.cx("list") + }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.model, function(item8, index) { + return openBlock(), createElementBlock(Fragment, { + key: $options.label(item8) + "_" + index.toString() + }, [$options.visible(item8) ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + "class": [_ctx.cx("item", { + item: item8, + index + }), item8["class"]], + style: item8.style, + "aria-current": $options.isActive(index) ? "step" : void 0, + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onItemClick($event, item8, index); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + return $options.onItemKeydown($event, item8, index); + }, "onKeydown"), + ref_for: true + }, $options.getPTOptions("item", item8, index), { + "data-p-active": $options.isActive(index), + "data-p-disabled": $options.isItemDisabled(item8, index) + }), [!_ctx.$slots.item ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": _ctx.cx("itemLink"), + ref_for: true + }, $options.getPTOptions("itemLink", item8, index)), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("itemNumber"), + ref_for: true + }, $options.getPTOptions("itemNumber", item8, index)), toDisplayString(index + 1), 17), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("itemLabel"), + ref_for: true + }, $options.getPTOptions("itemLabel", item8, index)), toDisplayString($options.label(item8)), 17)], 16)) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.item), { + key: 1, + item: item8, + index, + active: index === $data.d_activeStep, + label: $options.label(item8), + props: $options.getMenuItemProps(item8, index) + }, null, 8, ["item", "index", "active", "label", "props"]))], 16, _hoisted_2$6)) : createCommentVNode("", true)], 64); + }), 128))], 16)], 16, _hoisted_1$8); +} +__name(render$9, "render$9"); +script$a.render = render$9; +var StyleClassStyle = BaseStyle.extend({ + name: "styleclass-directive" +}); +var BaseStyleClass = BaseDirective.extend({ + style: StyleClassStyle +}); +var StyleClass = BaseStyleClass.extend("styleclass", { + mounted: /* @__PURE__ */ __name(function mounted37(el, binding) { + el.setAttribute("data-pd-styleclass", true); + this.bind(el, binding); + }, "mounted"), + unmounted: /* @__PURE__ */ __name(function unmounted5(el) { + this.unbind(el); + }, "unmounted"), + methods: { + bind: /* @__PURE__ */ __name(function bind(el, binding) { + var _this = this; + var target = this.resolveTarget(el, binding); + this.$el = target; + el.$_pstyleclass_clicklistener = function() { + if (binding.value.toggleClass) { + if (hasClass(target, binding.value.toggleClass)) removeClass(target, binding.value.toggleClass); + else addClass(target, binding.value.toggleClass); + } else { + if (target.offsetParent === null) _this.enter(target, el, binding); + else _this.leave(target, binding); + } + }; + el.addEventListener("click", el.$_pstyleclass_clicklistener); + }, "bind"), + unbind: /* @__PURE__ */ __name(function unbind(el) { + if (el.$_pstyleclass_clicklistener) { + el.removeEventListener("click", el.$_pstyleclass_clicklistener); + el.$_pstyleclass_clicklistener = null; + } + this.unbindDocumentListener(el); + }, "unbind"), + enter: /* @__PURE__ */ __name(function enter2(target, el, binding) { + if (binding.value.enterActiveClass) { + if (!target.$_pstyleclass_animating) { + target.$_pstyleclass_animating = true; + if (binding.value.enterActiveClass.includes("slidedown")) { + target.style.height = "0px"; + removeClass(target, binding.value.hiddenClass || binding.value.enterFromClass); + target.style.maxHeight = target.scrollHeight + "px"; + addClass(target, binding.value.hiddenClass || binding.value.enterActiveClass); + target.style.height = ""; + } + addClass(target, binding.value.enterActiveClass); + if (binding.value.enterFromClass) { + removeClass(target, binding.value.enterFromClass); + } + target.$p_styleclass_enterlistener = function() { + removeClass(target, binding.value.enterActiveClass); + if (binding.value.enterToClass) { + addClass(target, binding.value.enterToClass); + } + target.removeEventListener("animationend", target.$p_styleclass_enterlistener); + if (binding.value.enterActiveClass.includes("slidedown")) { + target.style.maxHeight = ""; + } + target.$_pstyleclass_animating = false; + }; + target.addEventListener("animationend", target.$p_styleclass_enterlistener); + } + } else { + if (binding.value.enterFromClass) { + removeClass(target, binding.value.enterFromClass); + } + if (binding.value.enterToClass) { + addClass(target, binding.value.enterToClass); + } + } + if (binding.value.hideOnOutsideClick) { + this.bindDocumentListener(target, el, binding); + } + }, "enter"), + leave: /* @__PURE__ */ __name(function leave2(target, binding) { + if (binding.value.leaveActiveClass) { + if (!target.$_pstyleclass_animating) { + target.$_pstyleclass_animating = true; + addClass(target, binding.value.leaveActiveClass); + if (binding.value.leaveFromClass) { + removeClass(target, binding.value.leaveFromClass); + } + target.$p_styleclass_leavelistener = function() { + removeClass(target, binding.value.leaveActiveClass); + if (binding.value.leaveToClass) { + addClass(target, binding.value.leaveToClass); + } + target.removeEventListener("animationend", target.$p_styleclass_leavelistener); + target.$_pstyleclass_animating = false; + }; + target.addEventListener("animationend", target.$p_styleclass_leavelistener); + } + } else { + if (binding.value.leaveFromClass) { + removeClass(target, binding.value.leaveFromClass); + } + if (binding.value.leaveToClass) { + addClass(target, binding.value.leaveToClass); + } + } + if (binding.value.hideOnOutsideClick) { + this.unbindDocumentListener(target); + } + }, "leave"), + resolveTarget: /* @__PURE__ */ __name(function resolveTarget(el, binding) { + switch (binding.value.selector) { + case "@next": + return el.nextElementSibling; + case "@prev": + return el.previousElementSibling; + case "@parent": + return el.parentElement; + case "@grandparent": + return el.parentElement.parentElement; + default: + return document.querySelector(binding.value.selector); + } + }, "resolveTarget"), + bindDocumentListener: /* @__PURE__ */ __name(function bindDocumentListener(target, el, binding) { + var _this2 = this; + if (!target.$p_styleclass_documentlistener) { + target.$p_styleclass_documentlistener = function(event2) { + if (!_this2.isVisible(target) || getComputedStyle(target).getPropertyValue("position") === "static") { + _this2.unbindDocumentListener(target); + } else if (_this2.isOutsideClick(event2, target, el)) { + _this2.leave(target, binding); + } + }; + target.ownerDocument.addEventListener("click", target.$p_styleclass_documentlistener); + } + }, "bindDocumentListener"), + unbindDocumentListener: /* @__PURE__ */ __name(function unbindDocumentListener(target) { + if (target.$p_styleclass_documentlistener) { + target.ownerDocument.removeEventListener("click", target.$p_styleclass_documentlistener); + target.$p_styleclass_documentlistener = null; + } + }, "unbindDocumentListener"), + isVisible: /* @__PURE__ */ __name(function isVisible(target) { + return target.offsetParent !== null; + }, "isVisible"), + isOutsideClick: /* @__PURE__ */ __name(function isOutsideClick(event2, target, el) { + return !el.isSameNode(event2.target) && !el.contains(event2.target) && !target.contains(event2.target); + }, "isOutsideClick") + } +}); +var theme$4 = /* @__PURE__ */ __name(function theme36(_ref) { + var dt = _ref.dt; + return "\n.p-tabmenu {\n overflow-x: auto;\n}\n\n.p-tabmenu-tablist {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n background: ".concat(dt("tabmenu.tablist.background"), ";\n border-style: solid;\n border-color: ").concat(dt("tabmenu.tablist.border.color"), ";\n border-width: ").concat(dt("tabmenu.tablist.border.width"), ";\n position: relative;\n}\n\n.p-tabmenu-item-link {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n background: ").concat(dt("tabmenu.item.background"), ";\n border-style: solid;\n border-width: ").concat(dt("tabmenu.item.border.width"), ";\n border-color: ").concat(dt("tabmenu.item.border.color"), ";\n color: ").concat(dt("tabmenu.item.color"), ";\n padding: ").concat(dt("tabmenu.item.padding"), ";\n font-weight: ").concat(dt("tabmenu.item.font.weight"), ";\n transition: background ").concat(dt("tabmenu.transition.duration"), ", border-color ").concat(dt("tabmenu.transition.duration"), ", color ").concat(dt("tabmenu.transition.duration"), ", outline-color ").concat(dt("tabmenu.transition.duration"), ", box-shadow ").concat(dt("tabmenu.transition.duration"), ";\n margin: ").concat(dt("tabmenu.item.margin"), ";\n outline-color: transparent;\n gap: ").concat(dt("tabmenu.item.gap"), ";\n}\n\n.p-tabmenu-item-link:focus-visible {\n z-index: 1;\n box-shadow: ").concat(dt("tabmenu.item.focus.ring.shadow"), ";\n outline: ").concat(dt("tabmenu.item.focus.ring.width"), " ").concat(dt("tabmenu.item.focus.ring.style"), " ").concat(dt("tabmenu.item.focus.ring.color"), ";\n outline-offset: ").concat(dt("tabmenu.item.focus.ring.offset"), ";\n}\n\n.p-tabmenu-item-icon {\n color: ").concat(dt("tabmenu.item.icon.color"), ";\n transition: background ").concat(dt("tabmenu.transition.duration"), ", border-color ").concat(dt("tabmenu.transition.duration"), ", color ").concat(dt("tabmenu.transition.duration"), ", outline-color ").concat(dt("tabmenu.transition.duration"), ", box-shadow ").concat(dt("tabmenu.transition.duration"), ";\n}\n\n.p-tabmenu-item-label {\n line-height: 1;\n}\n\n.p-tabmenu-item:not(.p-tabmenu-item-active):not(.p-disabled):hover .p-tabmenu-item-link {\n background: ").concat(dt("tabmenu.item.hover.background"), ";\n border-color: ").concat(dt("tabmenu.item.hover.border.color"), ";\n color: ").concat(dt("tabmenu.item.hover.color"), ";\n}\n\n.p-tabmenu-item:not(.p-tabmenu-item-active):not(.p-disabled):hover .p-tabmenu-item-icon {\n color: ").concat(dt("tabmenu.item.icon.hover.color"), ";\n}\n\n.p-tabmenu-item-active .p-tabmenu-item-link {\n background: ").concat(dt("tabmenu.item.active.background"), ";\n border-color: ").concat(dt("tabmenu.item.active.border.color"), ";\n color: ").concat(dt("tabmenu.item.active.color"), ";\n}\n\n.p-tabmenu-item-active .p-tabmenu-item-icon {\n color: ").concat(dt("tabmenu.item.icon.active.color"), ";\n}\n\n.p-tabmenu-active-bar {\n z-index: 1;\n display: block;\n position: absolute;\n bottom: ").concat(dt("tabmenu.active.bar.bottom"), ";\n height: ").concat(dt("tabmenu.active.bar.height"), ";\n background: ").concat(dt("tabmenu.active.bar.background"), ";\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n\n.p-tabmenu::-webkit-scrollbar {\n display: none;\n}\n"); +}, "theme"); +var classes$4 = { + root: "p-tabmenu p-component", + tablist: "p-tabmenu-tablist", + item: /* @__PURE__ */ __name(function item7(_ref2) { + var instance = _ref2.instance, index = _ref2.index, _item = _ref2.item; + return ["p-tabmenu-item", { + "p-tabmenu-item-active": instance.d_activeIndex === index, + "p-disabled": instance.disabled(_item) + }]; + }, "item"), + itemLink: "p-tabmenu-item-link", + itemIcon: "p-tabmenu-item-icon", + itemLabel: "p-tabmenu-item-label", + activeBar: "p-tabmenu-active-bar" +}; +var TabMenuStyle = BaseStyle.extend({ + name: "tabmenu", + theme: theme$4, + classes: classes$4 +}); +var script$1$4 = { + name: "BaseTabMenu", + "extends": script$1d, + props: { + model: { + type: Array, + "default": null + }, + activeIndex: { + type: Number, + "default": 0 + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: TabMenuStyle, + provide: /* @__PURE__ */ __name(function provide47() { + return { + $pcTabMenu: this, + $parentInstance: this + }; + }, "provide") +}; +var script$9 = { + name: "TabMenu", + "extends": script$1$4, + inheritAttrs: false, + emits: ["update:activeIndex", "tab-change"], + data: /* @__PURE__ */ __name(function data34() { + return { + d_activeIndex: this.activeIndex + }; + }, "data"), + watch: { + activeIndex: { + flush: "post", + handler: /* @__PURE__ */ __name(function handler3(newValue) { + this.d_activeIndex = newValue; + this.updateInkBar(); + }, "handler") + } + }, + mounted: /* @__PURE__ */ __name(function mounted38() { + var _this = this; + this.$nextTick(function() { + _this.updateInkBar(); + }); + var activeItem2 = this.findActiveItem(); + activeItem2 && (activeItem2.tabIndex = "0"); + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated8() { + this.updateInkBar(); + }, "updated"), + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions12(key, item8, index) { + return this.ptm(key, { + context: { + item: item8, + index + } + }); + }, "getPTOptions"), + onItemClick: /* @__PURE__ */ __name(function onItemClick9(event2, item8, index) { + if (this.disabled(item8)) { + event2.preventDefault(); + return; + } + if (item8.command) { + item8.command({ + originalEvent: event2, + item: item8 + }); + } + if (index !== this.d_activeIndex) { + this.d_activeIndex = index; + this.$emit("update:activeIndex", this.d_activeIndex); + } + this.$emit("tab-change", { + originalEvent: event2, + index + }); + }, "onItemClick"), + onKeydownItem: /* @__PURE__ */ __name(function onKeydownItem(event2, item8, index) { + switch (event2.code) { + case "ArrowRight": { + this.navigateToNextItem(event2.target); + event2.preventDefault(); + break; + } + case "ArrowLeft": { + this.navigateToPrevItem(event2.target); + event2.preventDefault(); + break; + } + case "Home": { + this.navigateToFirstItem(event2.target); + event2.preventDefault(); + break; + } + case "End": { + this.navigateToLastItem(event2.target); + event2.preventDefault(); + break; + } + case "Space": + case "NumpadEnter": + case "Enter": { + this.onItemClick(event2, item8, index); + event2.preventDefault(); + break; + } + case "Tab": { + this.onTabKey(); + break; + } + } + }, "onKeydownItem"), + navigateToNextItem: /* @__PURE__ */ __name(function navigateToNextItem2(target) { + var nextItem = this.findNextItem(target); + nextItem && this.setFocusToMenuitem(target, nextItem); + }, "navigateToNextItem"), + navigateToPrevItem: /* @__PURE__ */ __name(function navigateToPrevItem2(target) { + var prevItem = this.findPrevItem(target); + prevItem && this.setFocusToMenuitem(target, prevItem); + }, "navigateToPrevItem"), + navigateToFirstItem: /* @__PURE__ */ __name(function navigateToFirstItem2(target) { + var firstItem = this.findFirstItem(target); + firstItem && this.setFocusToMenuitem(target, firstItem); + }, "navigateToFirstItem"), + navigateToLastItem: /* @__PURE__ */ __name(function navigateToLastItem2(target) { + var lastItem = this.findLastItem(target); + lastItem && this.setFocusToMenuitem(target, lastItem); + }, "navigateToLastItem"), + findNextItem: /* @__PURE__ */ __name(function findNextItem3(item8) { + var nextItem = item8.parentElement.nextElementSibling; + return nextItem ? getAttribute(nextItem, "data-p-disabled") === true ? this.findNextItem(nextItem.children[0]) : nextItem.children[0] : null; + }, "findNextItem"), + findPrevItem: /* @__PURE__ */ __name(function findPrevItem3(item8) { + var prevItem = item8.parentElement.previousElementSibling; + return prevItem ? getAttribute(prevItem, "data-p-disabled") === true ? this.findPrevItem(prevItem.children[0]) : prevItem.children[0] : null; + }, "findPrevItem"), + findFirstItem: /* @__PURE__ */ __name(function findFirstItem3() { + var firstSibling = findSingle(this.$refs.nav, '[data-pc-section="item"][data-p-disabled="false"]'); + return firstSibling ? firstSibling.children[0] : null; + }, "findFirstItem"), + findLastItem: /* @__PURE__ */ __name(function findLastItem3() { + var siblings = find(this.$refs.nav, '[data-pc-section="item"][data-p-disabled="false"]'); + return siblings ? siblings[siblings.length - 1].children[0] : null; + }, "findLastItem"), + findActiveItem: /* @__PURE__ */ __name(function findActiveItem() { + var activeItem2 = findSingle(this.$refs.nav, '[data-pc-section="item"][data-p-disabled="false"][data-p-active="true"]'); + return activeItem2 ? activeItem2.children[0] : null; + }, "findActiveItem"), + setFocusToMenuitem: /* @__PURE__ */ __name(function setFocusToMenuitem2(target, focusableItem) { + target.tabIndex = "-1"; + focusableItem.tabIndex = "0"; + focusableItem.focus(); + }, "setFocusToMenuitem"), + onTabKey: /* @__PURE__ */ __name(function onTabKey4() { + var activeItem2 = findSingle(this.$refs.nav, '[data-pc-section="item"][data-p-disabled="false"][data-p-active="true"]'); + var focusedItem = findSingle(this.$refs.nav, '[data-pc-section="itemlink"][tabindex="0"]'); + if (focusedItem !== activeItem2.children[0]) { + activeItem2 && (activeItem2.children[0].tabIndex = "0"); + focusedItem.tabIndex = "-1"; + } + }, "onTabKey"), + visible: /* @__PURE__ */ __name(function visible6(item8) { + return typeof item8.visible === "function" ? item8.visible() : item8.visible !== false; + }, "visible"), + disabled: /* @__PURE__ */ __name(function disabled6(item8) { + return typeof item8.disabled === "function" ? item8.disabled() : item8.disabled === true; + }, "disabled"), + label: /* @__PURE__ */ __name(function label9(item8) { + return typeof item8.label === "function" ? item8.label() : item8.label; + }, "label"), + updateInkBar: /* @__PURE__ */ __name(function updateInkBar() { + var tabs2 = this.$refs.nav.children; + var inkHighlighted = false; + for (var i = 0; i < tabs2.length; i++) { + var tab = tabs2[i]; + if (getAttribute(tab, "data-p-active")) { + this.$refs.inkbar.style.width = getWidth(tab) + "px"; + this.$refs.inkbar.style.left = getOffset(tab).left - getOffset(this.$refs.nav).left + "px"; + inkHighlighted = true; + } + } + if (!inkHighlighted) { + this.$refs.inkbar.style.width = "0px"; + this.$refs.inkbar.style.left = "0px"; + } + }, "updateInkBar"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps8(item8, index) { + var _this2 = this; + return { + action: mergeProps({ + "class": this.cx("itemLink"), + tabindex: -1, + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return _this2.onItemClick($event, item8, index); + }, "onClick"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown15($event) { + return _this2.onKeydownItem($event, item8, index); + }, "onKeyDown") + }, this.getPTOptions("itemLink", item8, index)), + icon: mergeProps({ + "class": [this.cx("itemIcon"), item8.icon] + }, this.getPTOptions("itemIcon", item8, index)), + label: mergeProps({ + "class": this.cx("itemLabel") + }, this.getPTOptions("itemLabel", item8, index)) + }; + }, "getMenuItemProps") + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$7 = ["aria-labelledby", "aria-label"]; +var _hoisted_2$5 = ["onClick", "onKeydown", "data-p-active", "data-p-disabled"]; +var _hoisted_3$5 = ["href", "target", "aria-label", "aria-disabled"]; +function render$8(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [createBaseVNode("ul", mergeProps({ + ref: "nav", + "class": _ctx.cx("tablist"), + role: "menubar", + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel + }, _ctx.ptm("tablist")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.model, function(item8, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.label(item8) + "_" + i.toString() + }, [$options.visible(item8) ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + ref_for: true, + ref: "tab", + "class": [_ctx.cx("item", { + item: item8, + index: i + }), item8["class"]], + role: "presentation", + onClick: /* @__PURE__ */ __name(function onClick11($event) { + return $options.onItemClick($event, item8, i); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + return $options.onKeydownItem($event, item8, i); + }, "onKeydown") + }, $options.getPTOptions("item", item8, i), { + "data-p-active": $data.d_activeIndex === i, + "data-p-disabled": $options.disabled(item8) + }), [!_ctx.$slots.item ? withDirectives((openBlock(), createElementBlock("a", mergeProps({ + key: 0, + ref_for: true, + ref: "tabLink", + role: "menuitem", + href: item8.url, + "class": _ctx.cx("itemLink"), + target: item8.target, + "aria-label": $options.label(item8), + "aria-disabled": $options.disabled(item8), + tabindex: -1 + }, $options.getPTOptions("itemLink", item8, i)), [_ctx.$slots.itemicon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.itemicon), { + key: 0, + item: item8, + "class": normalizeClass(_ctx.cx("itemIcon")) + }, null, 8, ["item", "class"])) : item8.icon ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": [_ctx.cx("itemIcon"), item8.icon], + ref_for: true + }, $options.getPTOptions("itemIcon", item8, i)), null, 16)) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("itemLabel"), + ref_for: true + }, $options.getPTOptions("itemLabel", item8, i)), toDisplayString($options.label(item8)), 17)], 16, _hoisted_3$5)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.item), { + key: 1, + item: item8, + index: i, + active: i === $data.d_activeIndex, + label: $options.label(item8), + props: $options.getMenuItemProps(item8, i) + }, null, 8, ["item", "index", "active", "label", "props"]))], 16, _hoisted_2$5)) : createCommentVNode("", true)], 64); + }), 128)), createBaseVNode("li", mergeProps({ + ref: "inkbar", + role: "none", + "class": _ctx.cx("activeBar") + }, _ctx.ptm("activeBar")), null, 16)], 16, _hoisted_1$7)], 16); +} +__name(render$8, "render$8"); +script$9.render = render$8; +var TerminalService = EventBus(); +var theme$3 = /* @__PURE__ */ __name(function theme37(_ref) { + var dt = _ref.dt; + return "\n.p-terminal {\n height: ".concat(dt("terminal.height"), ";\n overflow: auto;\n background: ").concat(dt("terminal.background"), ";\n color: ").concat(dt("terminal.color"), ";\n border: 1px solid ").concat(dt("terminal.border.color"), ";\n padding: ").concat(dt("terminal.padding"), ";\n border-radius: ").concat(dt("terminal.border.radius"), ";\n}\n\n.p-terminal-prompt {\n display: flex;\n align-items: center;\n}\n\n.p-terminal-prompt-value {\n flex: 1 1 auto;\n border: 0 none;\n background: transparent;\n color: inherit;\n padding: 0;\n outline: 0 none;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n}\n\n.p-terminal-prompt-label {\n margin-inline-end: ").concat(dt("terminal.prompt.gap"), ";\n}\n\n.p-terminal-input::-ms-clear {\n display: none;\n}\n\n.p-terminal-command-response {\n margin: ").concat(dt("terminal.command.response.margin"), ";\n}\n"); +}, "theme"); +var classes$3 = { + root: "p-terminal p-component", + welcomeMessage: "p-terminal-welcome-message", + commandList: "p-terminal-command-list", + command: "p-terminal-command", + commandValue: "p-terminal-command-value", + commandResponse: "p-terminal-command-response", + prompt: "p-terminal-prompt", + promptLabel: "p-terminal-prompt-label", + promptValue: "p-terminal-prompt-value" +}; +var TerminalStyle = BaseStyle.extend({ + name: "terminal", + theme: theme$3, + classes: classes$3 +}); +var script$1$3 = { + name: "BaseTerminal", + "extends": script$1d, + props: { + welcomeMessage: { + type: String, + "default": null + }, + prompt: { + type: String, + "default": null + } + }, + style: TerminalStyle, + provide: /* @__PURE__ */ __name(function provide48() { + return { + $pcTerminal: this, + $parentInstance: this + }; + }, "provide") +}; +var script$8 = { + name: "Terminal", + "extends": script$1$3, + inheritAttrs: false, + data: /* @__PURE__ */ __name(function data35() { + return { + commandText: null, + commands: [] + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted39() { + TerminalService.on("response", this.responseListener); + this.$refs.input.focus(); + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated9() { + this.$el.scrollTop = this.$el.scrollHeight; + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount16() { + TerminalService.off("response", this.responseListener); + }, "beforeUnmount"), + methods: { + onClick: /* @__PURE__ */ __name(function onClick7() { + this.$refs.input.focus(); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown5(event2) { + if (event2.key === "Enter" && this.commandText) { + this.commands.push({ + text: this.commandText + }); + TerminalService.emit("command", this.commandText); + this.commandText = ""; + } + }, "onKeydown"), + responseListener: /* @__PURE__ */ __name(function responseListener(response) { + this.commands[this.commands.length - 1].response = response; + }, "responseListener") + } +}; +function render$7(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + onClick: _cache[2] || (_cache[2] = function() { + return $options.onClick && $options.onClick.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [_ctx.welcomeMessage ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("welcomeMessage") + }, _ctx.ptm("welcomeMessage")), toDisplayString(_ctx.welcomeMessage), 17)) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("commandList") + }, _ctx.ptm("content")), [(openBlock(true), createElementBlock(Fragment, null, renderList($data.commands, function(command, i) { + return openBlock(), createElementBlock("div", mergeProps({ + key: command.text + i.toString(), + "class": _ctx.cx("command"), + ref_for: true + }, _ctx.ptm("commands")), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("promptLabel"), + ref_for: true + }, _ctx.ptm("prompt")), toDisplayString(_ctx.prompt), 17), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("commandValue"), + ref_for: true + }, _ctx.ptm("command")), toDisplayString(command.text), 17), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("commandResponse"), + "aria-live": "polite", + ref_for: true + }, _ctx.ptm("response")), toDisplayString(command.response), 17)], 16); + }), 128))], 16), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("prompt") + }, _ctx.ptm("container")), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("promptLabel") + }, _ctx.ptm("prompt")), toDisplayString(_ctx.prompt), 17), withDirectives(createBaseVNode("input", mergeProps({ + ref: "input", + "onUpdate:modelValue": _cache[0] || (_cache[0] = function($event) { + return $data.commandText = $event; + }), + "class": _ctx.cx("promptValue"), + type: "text", + autocomplete: "off", + onKeydown: _cache[1] || (_cache[1] = function() { + return $options.onKeydown && $options.onKeydown.apply($options, arguments); + }) + }, _ctx.ptm("commandText")), null, 16), [[vModelText, $data.commandText]])], 16)], 16); +} +__name(render$7, "render$7"); +script$8.render = render$7; +var theme$2 = /* @__PURE__ */ __name(function theme38(_ref) { + var dt = _ref.dt; + return "\n.p-timeline {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n direction: ltr;\n}\n\n.p-timeline-left .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-left .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event {\n flex-direction: row-reverse;\n}\n\n.p-timeline-right .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: row-reverse;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical .p-timeline-event-opposite,\n.p-timeline-vertical .p-timeline-event-content {\n padding: ".concat(dt("timeline.vertical.event.content.padding"), ";\n}\n\n.p-timeline-vertical .p-timeline-event-connector {\n width: ").concat(dt("timeline.event.connector.size"), ";\n}\n\n.p-timeline-event {\n display: flex;\n position: relative;\n min-height: ").concat(dt("timeline.event.min.height"), ";\n}\n\n.p-timeline-event:last-child {\n min-height: 0;\n}\n\n.p-timeline-event-opposite {\n flex: 1;\n}\n\n.p-timeline-event-content {\n flex: 1;\n}\n\n.p-timeline-event-separator {\n flex: 0;\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n.p-timeline-event-marker {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n align-self: baseline;\n border-width: ").concat(dt("timeline.event.marker.border.width"), ";\n border-style: solid;\n border-color: ").concat(dt("timeline.event.marker.border.color"), ";\n border-radius: ").concat(dt("timeline.event.marker.border.radius"), ";\n width: ").concat(dt("timeline.event.marker.size"), ";\n height: ").concat(dt("timeline.event.marker.size"), ";\n background: ").concat(dt("timeline.event.marker.background"), ';\n}\n\n.p-timeline-event-marker::before {\n content: " ";\n border-radius: ').concat(dt("timeline.event.marker.content.border.radius"), ";\n width: ").concat(dt("timeline.event.marker.content.size"), ";\n height:").concat(dt("timeline.event.marker.content.size"), ";\n background: ").concat(dt("timeline.event.marker.content.background"), ';\n}\n\n.p-timeline-event-marker::after {\n content: " ";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ').concat(dt("timeline.event.marker.border.radius"), ";\n box-shadow: ").concat(dt("timeline.event.marker.content.inset.shadow"), ";\n}\n\n.p-timeline-event-connector {\n flex-grow: 1;\n background: ").concat(dt("timeline.event.connector.color"), ";\n}\n\n.p-timeline-horizontal {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event {\n flex-direction: column;\n flex: 1;\n}\n\n.p-timeline-horizontal .p-timeline-event:last-child {\n flex: 0;\n}\n\n.p-timeline-horizontal .p-timeline-event-separator {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event-connector {\n width: 100%;\n height: ").concat(dt("timeline.event.connector.size"), ";\n}\n\n.p-timeline-horizontal .p-timeline-event-opposite,\n.p-timeline-horizontal .p-timeline-event-content {\n padding: ").concat(dt("timeline.horizontal.event.content.padding"), ";\n}\n\n.p-timeline-horizontal.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: column-reverse;\n}\n\n.p-timeline-bottom .p-timeline-event {\n flex-direction: column-reverse;\n}\n"); +}, "theme"); +var classes$2 = { + root: /* @__PURE__ */ __name(function root31(_ref2) { + var props = _ref2.props; + return ["p-timeline p-component", "p-timeline-" + props.align, "p-timeline-" + props.layout]; + }, "root"), + event: "p-timeline-event", + eventOpposite: "p-timeline-event-opposite", + eventSeparator: "p-timeline-event-separator", + eventMarker: "p-timeline-event-marker", + eventConnector: "p-timeline-event-connector", + eventContent: "p-timeline-event-content" +}; +var TimelineStyle = BaseStyle.extend({ + name: "timeline", + theme: theme$2, + classes: classes$2 +}); +var script$1$2 = { + name: "BaseTimeline", + "extends": script$1d, + props: { + value: null, + align: { + mode: String, + "default": "left" + }, + layout: { + mode: String, + "default": "vertical" + }, + dataKey: null + }, + style: TimelineStyle, + provide: /* @__PURE__ */ __name(function provide49() { + return { + $pcTimeline: this, + $parentInstance: this + }; + }, "provide") +}; +var script$7 = { + name: "Timeline", + "extends": script$1$2, + inheritAttrs: false, + methods: { + getKey: /* @__PURE__ */ __name(function getKey3(item8, index) { + return this.dataKey ? resolveFieldData(item8, this.dataKey) : index; + }, "getKey"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions13(key, index) { + return this.ptm(key, { + context: { + index, + count: this.value.length + } + }); + }, "getPTOptions") + } +}; +function render$6(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.value, function(item8, index) { + return openBlock(), createElementBlock("div", mergeProps({ + key: $options.getKey(item8, index), + "class": _ctx.cx("event"), + ref_for: true + }, $options.getPTOptions("event", index)), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("eventOpposite", { + index + }), + ref_for: true + }, $options.getPTOptions("eventOpposite", index)), [renderSlot(_ctx.$slots, "opposite", { + item: item8, + index + })], 16), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("eventSeparator"), + ref_for: true + }, $options.getPTOptions("eventSeparator", index)), [renderSlot(_ctx.$slots, "marker", { + item: item8, + index + }, function() { + return [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("eventMarker"), + ref_for: true + }, $options.getPTOptions("eventMarker", index)), null, 16)]; + }), index !== _ctx.value.length - 1 ? renderSlot(_ctx.$slots, "connector", { + key: 0, + item: item8, + index + }, function() { + return [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("eventConnector"), + ref_for: true + }, $options.getPTOptions("eventConnector", index)), null, 16)]; + }) : createCommentVNode("", true)], 16), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("eventContent"), + ref_for: true + }, $options.getPTOptions("eventContent", index)), [renderSlot(_ctx.$slots, "content", { + item: item8, + index + })], 16)], 16); + }), 128))], 16); +} +__name(render$6, "render$6"); +script$7.render = render$6; +var theme$1 = /* @__PURE__ */ __name(function theme39(_ref) { + var dt = _ref.dt; + return "\n.p-treeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ".concat(dt("treeselect.background"), ";\n border: 1px solid ").concat(dt("treeselect.border.color"), ";\n transition: background ").concat(dt("treeselect.transition.duration"), ", color ").concat(dt("treeselect.transition.duration"), ", border-color ").concat(dt("treeselect.transition.duration"), ", outline-color ").concat(dt("treeselect.transition.duration"), ", box-shadow ").concat(dt("treeselect.transition.duration"), ";\n border-radius: ").concat(dt("treeselect.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("treeselect.shadow"), ";\n}\n\n.p-treeselect:not(.p-disabled):hover {\n border-color: ").concat(dt("treeselect.hover.border.color"), ";\n}\n\n.p-treeselect:not(.p-disabled).p-focus {\n border-color: ").concat(dt("treeselect.focus.border.color"), ";\n box-shadow: ").concat(dt("treeselect.focus.ring.shadow"), ";\n outline: ").concat(dt("treeselect.focus.ring.width"), " ").concat(dt("treeselect.focus.ring.style"), " ").concat(dt("treeselect.focus.ring.color"), ";\n outline-offset: ").concat(dt("treeselect.focus.ring.offset"), ";\n}\n\n.p-treeselect.p-variant-filled {\n background: ").concat(dt("treeselect.filled.background"), ";\n}\n\n.p-treeselect.p-variant-filled:not(.p-disabled):hover {\n background: ").concat(dt("treeselect.filled.hover.background"), ";\n}\n\n.p-treeselect.p-variant-filled.p-focus {\n background: ").concat(dt("treeselect.filled.focus.background"), ";\n}\n\n.p-treeselect.p-invalid {\n border-color: ").concat(dt("treeselect.invalid.border.color"), ";\n}\n\n.p-treeselect.p-disabled {\n opacity: 1;\n background: ").concat(dt("treeselect.disabled.background"), ";\n}\n\n.p-treeselect-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ").concat(dt("treeselect.clear.icon.color"), ";\n inset-inline-end: ").concat(dt("treeselect.dropdown.width"), ";\n}\n\n.p-treeselect-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ").concat(dt("treeselect.dropdown.color"), ";\n width: ").concat(dt("treeselect.dropdown.width"), ";\n border-start-end-radius: ").concat(dt("border.radius.md"), ";\n border-end-end-radius: ").concat(dt("border.radius.md"), ";\n}\n\n.p-treeselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n}\n\n.p-treeselect-label {\n display: flex;\n align-items: center;\n gap: calc(").concat(dt("treeselect.padding.y"), " / 2);\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: ").concat(dt("treeselect.padding.y"), " ").concat(dt("treeselect.padding.x"), ";\n color: ").concat(dt("treeselect.color"), ";\n}\n\n.p-treeselect-label.p-placeholder {\n color: ").concat(dt("treeselect.placeholder.color"), ";\n}\n\n.p-treeselect.p-invalid .p-treeselect-label.p-placeholder {\n color: ").concat(dt("treeselect.invalid.placeholder.color"), ";\n}\n\n.p-treeselect.p-disabled .p-treeselect-label {\n color: ").concat(dt("treeselect.disabled.color"), ";\n}\n\n.p-treeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\n\n.p-treeselect .p-treeselect-overlay {\n min-width: 100%;\n}\n\n.p-treeselect-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ").concat(dt("treeselect.overlay.background"), ";\n color: ").concat(dt("treeselect.overlay.color"), ";\n border: 1px solid ").concat(dt("treeselect.overlay.border.color"), ";\n border-radius: ").concat(dt("treeselect.overlay.border.radius"), ";\n box-shadow: ").concat(dt("treeselect.overlay.shadow"), ";\n overflow: hidden;\n}\n\n.p-treeselect-tree-container {\n overflow: auto;\n}\n\n.p-treeselect-empty-message {\n padding: ").concat(dt("treeselect.empty.message.padding"), ";\n background: transparent;\n}\n\n.p-treeselect-fluid {\n display: flex;\n}\n\n.p-treeselect-overlay .p-tree {\n padding: ").concat(dt("treeselect.tree.padding"), ";\n}\n\n.p-treeselect-overlay .p-tree-loading {\n min-height: 3rem;\n}\n\n.p-treeselect-label .p-chip {\n padding-block-start: calc(").concat(dt("treeselect.padding.y"), " / 2);\n padding-block-end: calc(").concat(dt("treeselect.padding.y"), " / 2);\n border-radius: ").concat(dt("treeselect.chip.border.radius"), ";\n}\n\n.p-treeselect-label:has(.p-chip) {\n padding: calc(").concat(dt("treeselect.padding.y"), " / 2) calc(").concat(dt("treeselect.padding.x"), " / 2);\n}\n\n.p-treeselect-sm .p-treeselect-label {\n font-size: ").concat(dt("treeselect.sm.font.size"), ";\n padding-block: ").concat(dt("treeselect.sm.padding.y"), ";\n padding-inline: ").concat(dt("treeselect.sm.padding.x"), ";\n}\n\n.p-treeselect-sm .p-treeselect-dropdown .p-icon {\n font-size: ").concat(dt("treeselect.sm.font.size"), ";\n width: ").concat(dt("treeselect.sm.font.size"), ";\n height: ").concat(dt("treeselect.sm.font.size"), ";\n}\n\n.p-treeselect-lg .p-treeselect-label {\n font-size: ").concat(dt("treeselect.lg.font.size"), ";\n padding-block: ").concat(dt("treeselect.lg.padding.y"), ";\n padding-inline: ").concat(dt("treeselect.lg.padding.x"), ";\n}\n\n.p-treeselect-lg .p-treeselect-dropdown .p-icon {\n font-size: ").concat(dt("treeselect.lg.font.size"), ";\n width: ").concat(dt("treeselect.lg.font.size"), ";\n height: ").concat(dt("treeselect.lg.font.size"), ";\n}\n"); +}, "theme"); +var inlineStyles$1 = { + root: /* @__PURE__ */ __name(function root32(_ref2) { + var props = _ref2.props; + return { + position: props.appendTo === "self" ? "relative" : void 0 + }; + }, "root") +}; +var classes$1 = { + root: /* @__PURE__ */ __name(function root33(_ref3) { + var instance = _ref3.instance, props = _ref3.props; + return ["p-treeselect p-component p-inputwrapper", { + "p-treeselect-display-chip": props.display === "chip", + "p-disabled": props.disabled, + "p-invalid": instance.$invalid, + "p-focus": instance.focused, + "p-variant-filled": instance.$variant === "filled", + "p-inputwrapper-filled": instance.$filled, + "p-inputwrapper-focus": instance.focused || instance.overlayVisible, + "p-treeselect-open": instance.overlayVisible, + "p-treeselect-fluid": instance.$fluid, + "p-treeselect-sm p-inputfield-sm": props.size === "small", + "p-treeselect-lg p-inputfield-lg": props.size === "large" + }]; + }, "root"), + labelContainer: "p-treeselect-label-container", + label: /* @__PURE__ */ __name(function label10(_ref4) { + var instance = _ref4.instance, props = _ref4.props; + return ["p-treeselect-label", { + "p-placeholder": instance.label === props.placeholder, + "p-treeselect-label-empty": !props.placeholder && instance.emptyValue + }]; + }, "label"), + clearIcon: "p-treeselect-clear-icon", + chip: "p-treeselect-chip-item", + pcChip: "p-treeselect-chip", + dropdown: "p-treeselect-dropdown", + dropdownIcon: "p-treeselect-dropdown-icon", + panel: "p-treeselect-overlay p-component", + treeContainer: "p-treeselect-tree-container", + emptyMessage: "p-treeselect-empty-message" +}; +var TreeSelectStyle = BaseStyle.extend({ + name: "treeselect", + theme: theme$1, + classes: classes$1, + inlineStyles: inlineStyles$1 +}); +var script$1$1 = { + name: "BaseTreeSelect", + "extends": script$1n, + props: { + options: Array, + scrollHeight: { + type: String, + "default": "20rem" + }, + placeholder: { + type: String, + "default": null + }, + tabindex: { + type: Number, + "default": null + }, + selectionMode: { + type: String, + "default": "single" + }, + selectedItemsLabel: { + type: String, + "default": null + }, + maxSelectedLabels: { + type: Number, + "default": null + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + emptyMessage: { + type: String, + "default": null + }, + display: { + type: String, + "default": "comma" + }, + metaKeySelection: { + type: Boolean, + "default": false + }, + loading: { + type: Boolean, + "default": false + }, + loadingIcon: { + type: String, + "default": void 0 + }, + loadingMode: { + type: String, + "default": "mask" + }, + showClear: { + type: Boolean, + "default": false + }, + clearIcon: { + type: String, + "default": void 0 + }, + filter: { + type: Boolean, + "default": false + }, + filterBy: { + type: [String, Function], + "default": "label" + }, + filterMode: { + type: String, + "default": "lenient" + }, + filterPlaceholder: { + type: String, + "default": null + }, + filterLocale: { + type: String, + "default": void 0 + }, + inputId: { + type: String, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + inputProps: { + type: null, + "default": null + }, + panelClass: { + type: [String, Object], + "default": null + }, + panelProps: { + type: null, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + }, + expandedKeys: { + type: null, + "default": null + } + }, + style: TreeSelectStyle, + provide: /* @__PURE__ */ __name(function provide50() { + return { + $pcTreeSelect: this, + $parentInstance: this + }; + }, "provide") +}; +function _typeof$1$1(o) { + "@babel/helpers - typeof"; + return _typeof$1$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$1$1(o); +} +__name(_typeof$1$1, "_typeof$1$1"); +function ownKeys$1$1(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$1$1, "ownKeys$1$1"); +function _objectSpread$1$1(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$1$1(Object(t2), true).forEach(function(r2) { + _defineProperty$1$1(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$1$1(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$1$1, "_objectSpread$1$1"); +function _defineProperty$1$1(e, r, t2) { + return (r = _toPropertyKey$1$1(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$1$1, "_defineProperty$1$1"); +function _toPropertyKey$1$1(t2) { + var i = _toPrimitive$1$1(t2, "string"); + return "symbol" == _typeof$1$1(i) ? i : i + ""; +} +__name(_toPropertyKey$1$1, "_toPropertyKey$1$1"); +function _toPrimitive$1$1(t2, r) { + if ("object" != _typeof$1$1(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$1$1(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$1$1, "_toPrimitive$1$1"); +function _createForOfIteratorHelper$2(r, e) { + var t2 = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t2) { + if (Array.isArray(r) || (t2 = _unsupportedIterableToArray$2(r)) || e) { + t2 && (r = t2); + var _n = 0, F = /* @__PURE__ */ __name(function F2() { + }, "F"); + return { s: F, n: /* @__PURE__ */ __name(function n() { + return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + throw r2; + }, "e"), f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, a = true, u = false; + return { s: /* @__PURE__ */ __name(function s() { + t2 = t2.call(r); + }, "s"), n: /* @__PURE__ */ __name(function n() { + var r2 = t2.next(); + return a = r2.done, r2; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + u = true, o = r2; + }, "e"), f: /* @__PURE__ */ __name(function f() { + try { + a || null == t2["return"] || t2["return"](); + } finally { + if (u) throw o; + } + }, "f") }; +} +__name(_createForOfIteratorHelper$2, "_createForOfIteratorHelper$2"); +function _toConsumableArray$2(r) { + return _arrayWithoutHoles$2(r) || _iterableToArray$2(r) || _unsupportedIterableToArray$2(r) || _nonIterableSpread$2(); +} +__name(_toConsumableArray$2, "_toConsumableArray$2"); +function _nonIterableSpread$2() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$2, "_nonIterableSpread$2"); +function _unsupportedIterableToArray$2(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$2(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$2(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$2, "_unsupportedIterableToArray$2"); +function _iterableToArray$2(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$2, "_iterableToArray$2"); +function _arrayWithoutHoles$2(r) { + if (Array.isArray(r)) return _arrayLikeToArray$2(r); +} +__name(_arrayWithoutHoles$2, "_arrayWithoutHoles$2"); +function _arrayLikeToArray$2(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$2, "_arrayLikeToArray$2"); +var script$6 = { + name: "TreeSelect", + "extends": script$1$1, + inheritAttrs: false, + emits: ["before-show", "before-hide", "change", "show", "hide", "node-select", "node-unselect", "node-expand", "node-collapse", "focus", "blur", "update:expandedKeys"], + inject: { + $pcFluid: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data36() { + return { + id: this.$attrs.id, + focused: false, + overlayVisible: false, + d_expandedKeys: this.expandedKeys || {} + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId13(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + modelValue: { + handler: /* @__PURE__ */ __name(function handler4() { + if (!this.selfChange) { + this.updateTreeState(); + } + this.selfChange = false; + }, "handler"), + immediate: true + }, + options: /* @__PURE__ */ __name(function options3() { + this.updateTreeState(); + }, "options"), + expandedKeys: /* @__PURE__ */ __name(function expandedKeys2(value2) { + this.d_expandedKeys = value2; + }, "expandedKeys") + }, + outsideClickListener: null, + resizeListener: null, + scrollHandler: null, + overlay: null, + selfChange: false, + selfClick: false, + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount17() { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + if (this.scrollHandler) { + this.scrollHandler.destroy(); + this.scrollHandler = null; + } + if (this.overlay) { + ZIndex.clear(this.overlay); + this.overlay = null; + } + }, "beforeUnmount"), + mounted: /* @__PURE__ */ __name(function mounted40() { + this.id = this.id || UniqueComponentId(); + this.updateTreeState(); + }, "mounted"), + methods: { + show: /* @__PURE__ */ __name(function show6() { + this.$emit("before-show"); + this.overlayVisible = true; + }, "show"), + hide: /* @__PURE__ */ __name(function hide7() { + this.$emit("before-hide"); + this.overlayVisible = false; + this.$refs.focusInput.focus(); + }, "hide"), + onFocus: /* @__PURE__ */ __name(function onFocus14(event2) { + this.focused = true; + this.$emit("focus", event2); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur14(event2) { + var _this$formField$onBlu, _this$formField; + this.focused = false; + this.$emit("blur", event2); + (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField); + }, "onBlur"), + onClick: /* @__PURE__ */ __name(function onClick8(event2) { + if (this.disabled) { + return; + } + if (event2.target.tagName === "INPUT" || event2.target.getAttribute("data-pc-section") === "clearicon" || event2.target.closest('[data-pc-section="clearicon"]')) { + return; + } else if (!this.overlay || !this.overlay.contains(event2.target)) { + if (this.overlayVisible) this.hide(); + else this.show(); + focus(this.$refs.focusInput); + } + }, "onClick"), + onClearClick: /* @__PURE__ */ __name(function onClearClick3() { + this.onSelectionChange(null); + }, "onClearClick"), + onSelectionChange: /* @__PURE__ */ __name(function onSelectionChange(keys) { + this.selfChange = true; + this.writeValue(keys); + this.$emit("change", keys); + }, "onSelectionChange"), + onNodeSelect: /* @__PURE__ */ __name(function onNodeSelect(node2) { + this.$emit("node-select", node2); + if (this.selectionMode === "single") { + this.hide(); + } + }, "onNodeSelect"), + onNodeUnselect: /* @__PURE__ */ __name(function onNodeUnselect(node2) { + this.$emit("node-unselect", node2); + }, "onNodeUnselect"), + onNodeToggle: /* @__PURE__ */ __name(function onNodeToggle2(keys) { + this.d_expandedKeys = keys; + this.$emit("update:expandedKeys", this.d_expandedKeys); + }, "onNodeToggle"), + getSelectedItemsLabel: /* @__PURE__ */ __name(function getSelectedItemsLabel2() { + var pattern = /{(.*?)}/; + var selectedItemsLabel = this.selectedItemsLabel || this.$primevue.config.locale.selectionMessage; + if (pattern.test(selectedItemsLabel)) { + return selectedItemsLabel.replace(selectedItemsLabel.match(pattern)[0], Object.keys(this.d_value).length + ""); + } + return selectedItemsLabel; + }, "getSelectedItemsLabel"), + onFirstHiddenFocus: /* @__PURE__ */ __name(function onFirstHiddenFocus2(event2) { + var focusableEl = event2.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable="true"])') : this.$refs.focusInput; + focus(focusableEl); + }, "onFirstHiddenFocus"), + onLastHiddenFocus: /* @__PURE__ */ __name(function onLastHiddenFocus2(event2) { + var focusableEl = event2.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable="true"])') : this.$refs.focusInput; + focus(focusableEl); + }, "onLastHiddenFocus"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown12(event2) { + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "Space": + case "Enter": + case "NumpadEnter": + this.onEnterKey(event2); + break; + case "Escape": + this.onEscapeKey(event2); + break; + case "Tab": + this.onTabKey(event2); + break; + } + }, "onKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey8(event2) { + var _this = this; + if (this.overlayVisible) return; + this.show(); + this.$nextTick(function() { + var treeNodeEl = find(_this.$refs.tree.$el, '[data-pc-section="treeitem"]'); + var focusedElement = _toConsumableArray$2(treeNodeEl).find(function(item8) { + return item8.getAttribute("tabindex") === "0"; + }); + focus(focusedElement); + }); + event2.preventDefault(); + }, "onArrowDownKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey8(event2) { + if (this.overlayVisible) { + this.hide(); + } else { + this.onArrowDownKey(event2); + } + event2.preventDefault(); + }, "onEnterKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey5(event2) { + if (this.overlayVisible) { + this.hide(); + event2.preventDefault(); + } + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey5(event2) { + var pressedInInputText = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + if (!pressedInInputText) { + if (this.overlayVisible && this.hasFocusableElements()) { + focus(this.$refs.firstHiddenFocusableElementOnOverlay); + event2.preventDefault(); + } + } + }, "onTabKey"), + hasFocusableElements: /* @__PURE__ */ __name(function hasFocusableElements2() { + return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable="true"])').length > 0; + }, "hasFocusableElements"), + onOverlayEnter: /* @__PURE__ */ __name(function onOverlayEnter5(el) { + ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + this.alignOverlay(); + this.focus(); + }, "onOverlayEnter"), + onOverlayAfterEnter: /* @__PURE__ */ __name(function onOverlayAfterEnter3() { + this.bindOutsideClickListener(); + this.bindScrollListener(); + this.bindResizeListener(); + this.scrollValueInView(); + this.$emit("show"); + }, "onOverlayAfterEnter"), + onOverlayLeave: /* @__PURE__ */ __name(function onOverlayLeave5() { + this.unbindOutsideClickListener(); + this.unbindScrollListener(); + this.unbindResizeListener(); + this.$emit("hide"); + this.overlay = null; + }, "onOverlayLeave"), + onOverlayAfterLeave: /* @__PURE__ */ __name(function onOverlayAfterLeave5(el) { + ZIndex.clear(el); + }, "onOverlayAfterLeave"), + focus: /* @__PURE__ */ __name(function focus3() { + var focusableElements = getFocusableElements(this.overlay); + if (focusableElements && focusableElements.length > 0) { + focusableElements[0].focus(); + } + }, "focus"), + alignOverlay: /* @__PURE__ */ __name(function alignOverlay6() { + if (this.appendTo === "self") { + relativePosition(this.overlay, this.$el); + } else { + this.overlay.style.minWidth = getOuterWidth(this.$el) + "px"; + absolutePosition(this.overlay, this.$el); + } + }, "alignOverlay"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener7() { + var _this2 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event2) { + if (_this2.overlayVisible && !_this2.selfClick && _this2.isOutsideClicked(event2)) { + _this2.hide(); + } + _this2.selfClick = false; + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener7() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener7() { + var _this3 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function() { + if (_this3.overlayVisible) { + _this3.hide(); + } + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener7() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener7() { + var _this4 = this; + if (!this.resizeListener) { + this.resizeListener = function() { + if (_this4.overlayVisible && !isTouchDevice()) { + _this4.hide(); + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener7() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked5(event2) { + return !(this.$el.isSameNode(event2.target) || this.$el.contains(event2.target) || this.overlay && this.overlay.contains(event2.target)); + }, "isOutsideClicked"), + overlayRef: /* @__PURE__ */ __name(function overlayRef5(el) { + this.overlay = el; + }, "overlayRef"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick6(event2) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event2, + target: this.$el + }); + this.selfClick = true; + }, "onOverlayClick"), + onOverlayKeydown: /* @__PURE__ */ __name(function onOverlayKeydown(event2) { + if (event2.code === "Escape") this.hide(); + }, "onOverlayKeydown"), + findSelectedNodes: /* @__PURE__ */ __name(function findSelectedNodes(node2, keys, selectedNodes2) { + if (node2) { + if (this.isSelected(node2, keys)) { + selectedNodes2.push(node2); + delete keys[node2.key]; + } + if (Object.keys(keys).length && node2.children) { + var _iterator = _createForOfIteratorHelper$2(node2.children), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var childNode = _step.value; + this.findSelectedNodes(childNode, keys, selectedNodes2); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + } else { + var _iterator2 = _createForOfIteratorHelper$2(this.options), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var _childNode = _step2.value; + this.findSelectedNodes(_childNode, keys, selectedNodes2); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + }, "findSelectedNodes"), + isSelected: /* @__PURE__ */ __name(function isSelected5(node2, keys) { + return this.selectionMode === "checkbox" ? keys[node2.key] && keys[node2.key].checked : keys[node2.key]; + }, "isSelected"), + updateTreeState: /* @__PURE__ */ __name(function updateTreeState() { + var keys = _objectSpread$1$1({}, this.d_value); + if (keys && this.options) { + this.updateTreeBranchState(null, null, keys); + } + }, "updateTreeState"), + updateTreeBranchState: /* @__PURE__ */ __name(function updateTreeBranchState(node2, path, keys) { + if (node2) { + if (this.isSelected(node2, keys)) { + this.expandPath(path); + delete keys[node2.key]; + } + if (Object.keys(keys).length && node2.children) { + var _iterator3 = _createForOfIteratorHelper$2(node2.children), _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) { + var childNode = _step3.value; + path.push(node2.key); + this.updateTreeBranchState(childNode, path, keys); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + } else { + var _iterator4 = _createForOfIteratorHelper$2(this.options), _step4; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) { + var _childNode2 = _step4.value; + this.updateTreeBranchState(_childNode2, [], keys); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + }, "updateTreeBranchState"), + expandPath: /* @__PURE__ */ __name(function expandPath(path) { + if (path.length > 0) { + var _iterator5 = _createForOfIteratorHelper$2(path), _step5; + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done; ) { + var key = _step5.value; + this.d_expandedKeys[key] = true; + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + this.d_expandedKeys = _objectSpread$1$1({}, this.d_expandedKeys); + this.$emit("update:expandedKeys", this.d_expandedKeys); + } + }, "expandPath"), + scrollValueInView: /* @__PURE__ */ __name(function scrollValueInView() { + if (this.overlay) { + var selectedItem = findSingle(this.overlay, '[data-p-selected="true"]'); + if (selectedItem) { + selectedItem.scrollIntoView({ + block: "nearest", + inline: "start" + }); + } + } + }, "scrollValueInView") + }, + computed: { + selectedNodes: /* @__PURE__ */ __name(function selectedNodes() { + var selectedNodes2 = []; + if (this.d_value && this.options) { + var keys = _objectSpread$1$1({}, this.d_value); + this.findSelectedNodes(null, keys, selectedNodes2); + } + return selectedNodes2; + }, "selectedNodes"), + label: /* @__PURE__ */ __name(function label11() { + var value2 = this.selectedNodes; + var label12; + if (value2.length) { + if (isNotEmpty(this.maxSelectedLabels) && value2.length > this.maxSelectedLabels) { + label12 = this.getSelectedItemsLabel(); + } else { + label12 = value2.map(function(node2) { + return node2.label; + }).join(", "); + } + } else { + label12 = this.placeholder; + } + return label12; + }, "label"), + chipSelectedItems: /* @__PURE__ */ __name(function chipSelectedItems2() { + return isNotEmpty(this.maxSelectedLabels) && this.d_value && Object.keys(this.d_value).length > this.maxSelectedLabels; + }, "chipSelectedItems"), + emptyMessageText: /* @__PURE__ */ __name(function emptyMessageText4() { + return this.emptyMessage || this.$primevue.config.locale.emptyMessage; + }, "emptyMessageText"), + emptyValue: /* @__PURE__ */ __name(function emptyValue() { + return !this.$filled; + }, "emptyValue"), + emptyOptions: /* @__PURE__ */ __name(function emptyOptions() { + return !this.options || this.options.length === 0; + }, "emptyOptions"), + listId: /* @__PURE__ */ __name(function listId() { + return this.id + "_list"; + }, "listId"), + hasFluid: /* @__PURE__ */ __name(function hasFluid2() { + return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; + }, "hasFluid"), + isClearIconVisible: /* @__PURE__ */ __name(function isClearIconVisible3() { + return this.showClear && this.d_value != null && isNotEmpty(this.options); + }, "isClearIconVisible") + }, + components: { + TSTree: script$1U, + Chip: script$1t, + Portal: script$1f, + ChevronDownIcon: script$1k, + TimesIcon: script$1g + }, + directives: { + ripple: Ripple + } +}; +function _typeof$6(o) { + "@babel/helpers - typeof"; + return _typeof$6 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$6(o); +} +__name(_typeof$6, "_typeof$6"); +function ownKeys$6(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$6, "ownKeys$6"); +function _objectSpread$6(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$6(Object(t2), true).forEach(function(r2) { + _defineProperty$6(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$6(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$6, "_objectSpread$6"); +function _defineProperty$6(e, r, t2) { + return (r = _toPropertyKey$6(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$6, "_defineProperty$6"); +function _toPropertyKey$6(t2) { + var i = _toPrimitive$6(t2, "string"); + return "symbol" == _typeof$6(i) ? i : i + ""; +} +__name(_toPropertyKey$6, "_toPropertyKey$6"); +function _toPrimitive$6(t2, r) { + if ("object" != _typeof$6(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$6(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$6, "_toPrimitive$6"); +var _hoisted_1$6 = ["id", "disabled", "tabindex", "aria-labelledby", "aria-label", "aria-expanded", "aria-controls"]; +var _hoisted_2$4 = { + key: 0 +}; +var _hoisted_3$4 = ["aria-expanded"]; +function render$5(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Chip = resolveComponent("Chip"); + var _component_TSTree = resolveComponent("TSTree"); + var _component_Portal = resolveComponent("Portal"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: "container", + "class": _ctx.cx("root"), + style: _ctx.sx("root"), + onClick: _cache[10] || (_cache[10] = function() { + return $options.onClick && $options.onClick.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [createBaseVNode("div", mergeProps({ + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenInputContainer"), { + "data-p-hidden-accessible": true + }), [createBaseVNode("input", mergeProps({ + ref: "focusInput", + id: _ctx.inputId, + type: "text", + role: "combobox", + "class": _ctx.inputClass, + style: _ctx.inputStyle, + readonly: "", + disabled: _ctx.disabled, + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + "aria-haspopup": "tree", + "aria-expanded": $data.overlayVisible, + "aria-controls": $options.listId, + onFocus: _cache[0] || (_cache[0] = function($event) { + return $options.onFocus($event); + }), + onBlur: _cache[1] || (_cache[1] = function($event) { + return $options.onBlur($event); + }), + onKeydown: _cache[2] || (_cache[2] = function($event) { + return $options.onKeyDown($event); + }) + }, _objectSpread$6(_objectSpread$6({}, _ctx.inputProps), _ctx.ptm("hiddenInput"))), null, 16, _hoisted_1$6)], 16), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("labelContainer") + }, _ctx.ptm("labelContainer")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("label") + }, _ctx.ptm("label")), [renderSlot(_ctx.$slots, "value", { + value: $options.selectedNodes, + placeholder: _ctx.placeholder + }, function() { + return [_ctx.display === "comma" ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [createTextVNode(toDisplayString($options.label || "empty"), 1)], 64)) : _ctx.display === "chip" ? (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [$options.chipSelectedItems ? (openBlock(), createElementBlock("span", _hoisted_2$4, toDisplayString($options.label), 1)) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [(openBlock(true), createElementBlock(Fragment, null, renderList($options.selectedNodes, function(node2) { + return openBlock(), createElementBlock("div", mergeProps({ + key: node2.key, + "class": _ctx.cx("chipItem"), + ref_for: true + }, _ctx.ptm("chipItem")), [createVNode(_component_Chip, { + "class": normalizeClass(_ctx.cx("pcChip")), + label: node2.label, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcChip") + }, null, 8, ["class", "label", "unstyled", "pt"])], 16); + }), 128)), $options.emptyValue ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [createTextVNode(toDisplayString(_ctx.placeholder || "empty"), 1)], 64)) : createCommentVNode("", true)], 64))], 64)) : createCommentVNode("", true)]; + })], 16)], 16), $options.isClearIconVisible ? renderSlot(_ctx.$slots, "clearicon", { + key: 0, + "class": normalizeClass(_ctx.cx("clearIcon")), + clearCallback: $options.onClearClick + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.clearIcon ? "i" : "TimesIcon"), mergeProps({ + ref: "clearIcon", + "class": [_ctx.cx("clearIcon"), _ctx.clearIcon], + onClick: $options.onClearClick + }, _ctx.ptm("clearIcon"), { + "data-pc-section": "clearicon" + }), null, 16, ["class", "onClick"]))]; + }) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("dropdown"), + role: "button", + "aria-haspopup": "tree", + "aria-expanded": $data.overlayVisible + }, _ctx.ptm("dropdown")), [renderSlot(_ctx.$slots, _ctx.$slots.dropdownicon ? "dropdownicon" : "triggericon", { + "class": normalizeClass(_ctx.cx("dropdownIcon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent("ChevronDownIcon"), mergeProps({ + "class": _ctx.cx("dropdownIcon") + }, _ctx.ptm("dropdownIcon")), null, 16, ["class"]))]; + })], 16, _hoisted_3$4), createVNode(_component_Portal, { + appendTo: _ctx.appendTo + }, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: $options.onOverlayEnter, + onAfterEnter: $options.onOverlayAfterEnter, + onLeave: $options.onOverlayLeave, + onAfterLeave: $options.onOverlayAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [$data.overlayVisible ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.overlayRef, + onClick: _cache[8] || (_cache[8] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }), + "class": [_ctx.cx("panel"), _ctx.panelClass], + onKeydown: _cache[9] || (_cache[9] = function() { + return $options.onOverlayKeydown && $options.onOverlayKeydown.apply($options, arguments); + }) + }, _objectSpread$6(_objectSpread$6({}, _ctx.panelProps), _ctx.ptm("panel"))), [createBaseVNode("span", mergeProps({ + ref: "firstHiddenFocusableElementOnOverlay", + role: "presentation", + "class": "p-hidden-accessible p-hidden-focusable", + tabindex: 0, + onFocus: _cache[3] || (_cache[3] = function() { + return $options.onFirstHiddenFocus && $options.onFirstHiddenFocus.apply($options, arguments); + }) + }, _ctx.ptm("hiddenFirstFocusableEl"), { + "data-p-hidden-accessible": true, + "data-p-hidden-focusable": true + }), null, 16), renderSlot(_ctx.$slots, "header", { + value: _ctx.d_value, + options: _ctx.options + }), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("treeContainer"), + style: { + "max-height": _ctx.scrollHeight + } + }, _ctx.ptm("treeContainer")), [createVNode(_component_TSTree, { + ref: "tree", + id: $options.listId, + value: _ctx.options, + selectionMode: _ctx.selectionMode, + loading: _ctx.loading, + loadingIcon: _ctx.loadingIcon, + loadingMode: _ctx.loadingMode, + filter: _ctx.filter, + filterBy: _ctx.filterBy, + filterMode: _ctx.filterMode, + filterPlaceholder: _ctx.filterPlaceholder, + filterLocale: _ctx.filterLocale, + "onUpdate:selectionKeys": $options.onSelectionChange, + selectionKeys: _ctx.d_value, + expandedKeys: $data.d_expandedKeys, + "onUpdate:expandedKeys": $options.onNodeToggle, + metaKeySelection: _ctx.metaKeySelection, + onNodeExpand: _cache[4] || (_cache[4] = function($event) { + return _ctx.$emit("node-expand", $event); + }), + onNodeCollapse: _cache[5] || (_cache[5] = function($event) { + return _ctx.$emit("node-collapse", $event); + }), + onNodeSelect: $options.onNodeSelect, + onNodeUnselect: $options.onNodeUnselect, + onClick: _cache[6] || (_cache[6] = withModifiers(function() { + }, ["stop"])), + level: 0, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcTree") + }, createSlots({ + _: 2 + }, [_ctx.$slots.option ? { + name: "default", + fn: withCtx(function(optionSlotProps) { + return [renderSlot(_ctx.$slots, "option", { + node: optionSlotProps.node, + expanded: optionSlotProps.expanded, + selected: optionSlotProps.selected + })]; + }), + key: "0" + } : void 0, _ctx.$slots.itemtoggleicon ? { + name: "toggleicon", + fn: withCtx(function(iconSlotProps) { + return [renderSlot(_ctx.$slots, "itemtoggleicon", { + node: iconSlotProps.node, + expanded: iconSlotProps.expanded, + "class": normalizeClass(iconSlotProps["class"]) + })]; + }), + key: "1" + } : _ctx.$slots.itemtogglericon ? { + name: "togglericon", + fn: withCtx(function(iconSlotProps) { + return [renderSlot(_ctx.$slots, "itemtogglericon", { + node: iconSlotProps.node, + expanded: iconSlotProps.expanded, + "class": normalizeClass(iconSlotProps["class"]) + })]; + }), + key: "2" + } : void 0, _ctx.$slots.itemcheckboxicon ? { + name: "checkboxicon", + fn: withCtx(function(iconSlotProps) { + return [renderSlot(_ctx.$slots, "itemcheckboxicon", { + checked: iconSlotProps.checked, + partialChecked: iconSlotProps.partialChecked, + "class": normalizeClass(iconSlotProps["class"]) + })]; + }), + key: "3" + } : void 0]), 1032, ["id", "value", "selectionMode", "loading", "loadingIcon", "loadingMode", "filter", "filterBy", "filterMode", "filterPlaceholder", "filterLocale", "onUpdate:selectionKeys", "selectionKeys", "expandedKeys", "onUpdate:expandedKeys", "metaKeySelection", "onNodeSelect", "onNodeUnselect", "unstyled", "pt"]), $options.emptyOptions && !_ctx.loading ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("emptyMessage") + }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "empty", {}, function() { + return [createTextVNode(toDisplayString($options.emptyMessageText), 1)]; + })], 16)) : createCommentVNode("", true)], 16), renderSlot(_ctx.$slots, "footer", { + value: _ctx.d_value, + options: _ctx.options + }), createBaseVNode("span", mergeProps({ + ref: "lastHiddenFocusableElementOnOverlay", + role: "presentation", + "class": "p-hidden-accessible p-hidden-focusable", + tabindex: 0, + onFocus: _cache[7] || (_cache[7] = function() { + return $options.onLastHiddenFocus && $options.onLastHiddenFocus.apply($options, arguments); + }) + }, _ctx.ptm("hiddenLastFocusableEl"), { + "data-p-hidden-accessible": true, + "data-p-hidden-focusable": true + }), null, 16)], 16)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; + }), + _: 3 + }, 8, ["appendTo"])], 16); +} +__name(render$5, "render$5"); +script$6.render = render$5; +var theme40 = /* @__PURE__ */ __name(function theme41(_ref) { + var dt = _ref.dt; + return "\n.p-treetable {\n position: relative;\n}\n\n.p-treetable-table {\n border-spacing: 0;\n border-collapse: separate;\n width: 100%;\n}\n\n.p-treetable-scrollable > .p-treetable-table-container {\n position: relative;\n}\n\n.p-treetable-scrollable-table > .p-treetable-thead {\n inset-block-start: 0;\n z-index: 1;\n}\n\n.p-treetable-scrollable-table > .p-treetable-frozen-tbody {\n position: sticky;\n z-index: 1;\n}\n\n.p-treetable-scrollable-table > .p-treetable-tfoot {\n inset-block-end: 0;\n z-index: 1;\n}\n\n.p-treetable-scrollable .p-treetable-frozen-column {\n position: sticky;\n background: ".concat(dt("treetable.header.cell.background"), ";\n}\n\n.p-treetable-scrollable th.p-treetable-frozen-column {\n z-index: 1;\n}\n\n.p-treetable-scrollable > .p-treetable-table-container > .p-treetable-table > .p-treetable-thead {\n background: ").concat(dt("treetable.header.cell.background"), ";\n}\n\n.p-treetable-scrollable > .p-treetable-table-container > .p-treetable-table > .p-treetable-tfoot {\n background: ").concat(dt("treetable.footer.cell.background"), ";\n}\n\n.p-treetable-flex-scrollable {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.p-treetable-flex-scrollable > .p-treetable-table-container {\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n}\n\n.p-treetable-scrollable-table > .p-treetable-tbody > .p-treetable-row-group-header {\n position: sticky;\n z-index: 1;\n}\n\n.p-treetable-resizable-table > .p-treetable-thead > tr > th,\n.p-treetable-resizable-table > .p-treetable-tfoot > tr > td,\n.p-treetable-resizable-table > .p-treetable-tbody > tr > td {\n overflow: hidden;\n white-space: nowrap;\n}\n\n.p-treetable-resizable-table > .p-treetable-thead > tr > th.p-treetable-resizable-column:not(.p-treetable-frozen-column) {\n background-clip: padding-box;\n position: relative;\n}\n\n.p-treetable-resizable-table-fit > .p-treetable-thead > tr > th.p-treetable-resizable-column:last-child .p-treetable-column-resizer {\n display: none;\n}\n\n.p-treetable-column-resizer {\n display: block;\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n margin: 0;\n width: ").concat(dt("treetable.column.resizer.width"), ";\n height: 100%;\n padding: 0;\n cursor: col-resize;\n border: 1px solid transparent;\n}\n\n.p-treetable-column-header-content {\n display: flex;\n align-items: center;\n gap: ").concat(dt("treetable.header.cell.gap"), ";\n}\n\n.p-treetable-column-resize-indicator {\n width: ").concat(dt("treetable.resize.indicator.width"), ";\n position: absolute;\n z-index: 10;\n display: none;\n background: ").concat(dt("treetable.resize.indicator.color"), ";\n}\n\n.p-treetable-mask {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n}\n\n.p-treetable-paginator-top {\n border-color: ").concat(dt("treetable.paginator.top.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("treetable.paginator.top.border.width"), ";\n}\n\n.p-treetable-paginator-bottom {\n border-color: ").concat(dt("treetable.paginator.bottom.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("treetable.paginator.bottom.border.width"), ";\n}\n\n.p-treetable-header {\n background: ").concat(dt("treetable.header.background"), ";\n color: ").concat(dt("treetable.header.color"), ";\n border-color: ").concat(dt("treetable.header.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("treetable.header.border.width"), ";\n padding: ").concat(dt("treetable.header.padding"), ";\n}\n\n.p-treetable-footer {\n background: ").concat(dt("treetable.footer.background"), ";\n color: ").concat(dt("treetable.footer.color"), ";\n border-color: ").concat(dt("treetable.footer.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("treetable.footer.border.width"), ";\n padding: ").concat(dt("treetable.footer.padding"), ";\n}\n\n.p-treetable-header-cell {\n padding: ").concat(dt("treetable.header.cell.padding"), ";\n background: ").concat(dt("treetable.header.cell.background"), ";\n border-color: ").concat(dt("treetable.header.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ").concat(dt("treetable.header.cell.color"), ";\n font-weight: normal;\n text-align: start;\n transition: background ").concat(dt("treetable.transition.duration"), ", color ").concat(dt("treetable.transition.duration"), ", border-color ").concat(dt("treetable.transition.duration"), ",\n outline-color ").concat(dt("treetable.transition.duration"), ", box-shadow ").concat(dt("treetable.transition.duration"), ";\n}\n\n.p-treetable-column-title {\n font-weight: ").concat(dt("treetable.column.title.font.weight"), ";\n}\n\n.p-treetable-tbody > tr {\n outline-color: transparent;\n background: ").concat(dt("treetable.row.background"), ";\n color: ").concat(dt("treetable.row.color"), ";\n transition: background ").concat(dt("treetable.transition.duration"), ", color ").concat(dt("treetable.transition.duration"), ", border-color ").concat(dt("treetable.transition.duration"), ",\n outline-color ").concat(dt("treetable.transition.duration"), ", box-shadow ").concat(dt("treetable.transition.duration"), ";\n}\n\n.p-treetable-tbody > tr > td {\n text-align: start;\n border-color: ").concat(dt("treetable.body.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n padding: ").concat(dt("treetable.body.cell.padding"), ";\n}\n\n.p-treetable-hoverable .p-treetable-tbody > tr:not(.p-treetable-row-selected):hover {\n background: ").concat(dt("treetable.row.hover.background"), ";\n color: ").concat(dt("treetable.row.hover.color"), ";\n}\n\n.p-treetable-tbody > tr.p-treetable-row-selected {\n background: ").concat(dt("treetable.row.selected.background"), ";\n color: ").concat(dt("treetable.row.selected.color"), ";\n}\n\n.p-treetable-tbody > tr:has(+ .p-treetable-row-selected) > td {\n border-block-end-color: ").concat(dt("treetable.body.cell.selected.border.color"), ";\n}\n\n.p-treetable-tbody > tr.p-treetable-row-selected > td {\n border-block-end-color: ").concat(dt("treetable.body.cell.selected.border.color"), ";\n}\n\n.p-treetable-tbody > tr:focus-visible,\n.p-treetable-tbody > tr.p-treetable-contextmenu-row-selected {\n box-shadow: ").concat(dt("treetable.row.focus.ring.shadow"), ";\n outline: ").concat(dt("treetable.row.focus.ring.width"), " ").concat(dt("treetable.row.focus.ring.style"), " ").concat(dt("treetable.row.focus.ring.color"), ";\n outline-offset: ").concat(dt("treetable.row.focus.ring.offset"), ";\n}\n\n.p-treetable-tfoot > tr > td {\n text-align: start;\n padding: ").concat(dt("treetable.footer.cell.padding"), ";\n border-color: ").concat(dt("treetable.footer.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ").concat(dt("treetable.footer.cell.color"), ";\n background: ").concat(dt("treetable.footer.cell.background"), ";\n}\n\n.p-treetable-column-footer {\n font-weight: ").concat(dt("treetable.column.footer.font.weight"), ";\n}\n\n.p-treetable-sortable-column {\n cursor: pointer;\n user-select: none;\n outline-color: transparent;\n}\n\n.p-treetable-column-title,\n.p-treetable-sort-icon,\n.p-treetable-sort-badge {\n vertical-align: middle;\n}\n\n.p-treetable-sort-icon {\n color: ").concat(dt("treetable.sort.icon.color"), ";\n font-size: ").concat(dt("treetable.sort.icon.size"), ";\n width: ").concat(dt("treetable.sort.icon.size"), ";\n height: ").concat(dt("treetable.sort.icon.size"), ";\n transition: color ").concat(dt("treetable.transition.duration"), ";\n}\n\n.p-treetable-sortable-column:not(.p-treetable-column-sorted):hover {\n background: ").concat(dt("treetable.header.cell.hover.background"), ";\n color: ").concat(dt("treetable.header.cell.hover.color"), ";\n}\n\n.p-treetable-sortable-column:not(.p-treetable-column-sorted):hover .p-treetable-sort-icon {\n color: ").concat(dt("treetable.sort.icon.hover.color"), ";\n}\n\n.p-treetable-column-sorted {\n background: ").concat(dt("treetable.header.cell.selected.background"), ";\n color: ").concat(dt("treetable.header.cell.selected.color"), ";\n}\n\n.p-treetable-column-sorted .p-treetable-sort-icon {\n color: ").concat(dt("treetable.header.cell.selected.color"), ";\n}\n\n.p-treetable-sortable-column:focus-visible {\n box-shadow: ").concat(dt("treetable.header.cell.focus.ring.shadow"), ";\n outline: ").concat(dt("treetable.header.cell.focus.ring.width"), " ").concat(dt("treetable.header.cell.focus.ring.style"), " ").concat(dt("treetable.header.cell.focus.ring.color"), ";\n outline-offset: ").concat(dt("treetable.header.cell.focus.ring.offset"), ";\n}\n\n.p-treetable-hoverable .p-treetable-selectable-row {\n cursor: pointer;\n}\n\n.p-treetable-loading-icon {\n font-size: ").concat(dt("treetable.loading.icon.size"), ";\n width: ").concat(dt("treetable.loading.icon.size"), ";\n height: ").concat(dt("treetable.loading.icon.size"), ";\n}\n\n.p-treetable-gridlines .p-treetable-header {\n border-width: 1px 1px 0 1px;\n}\n\n.p-treetable-gridlines .p-treetable-footer {\n border-width: 0 1px 1px 1px;\n}\n\n.p-treetable-gridlines .p-treetable-paginator-top {\n border-width: 1px 1px 0 1px;\n}\n\n.p-treetable-gridlines .p-treetable-paginator-bottom {\n border-width: 0 1px 1px 1px;\n}\n\n.p-treetable-gridlines .p-treetable-thead > tr > th {\n border-width: 1px 0 1px 1px;\n}\n\n.p-treetable-gridlines .p-treetable-thead > tr > th:last-child {\n border-width: 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tbody > tr > td {\n border-width: 1px 0 0 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tbody > tr > td:last-child {\n border-width: 1px 1px 0 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tbody > tr:last-child > td {\n border-width: 1px 0 1px 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tbody > tr:last-child > td:last-child {\n border-width: 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tfoot > tr > td {\n border-width: 1px 0 1px 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tfoot > tr > td:last-child {\n border-width: 1px 1px 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines .p-treetable-thead + .p-treetable-tfoot > tr > td {\n border-width: 0 0 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines .p-treetable-thead + .p-treetable-tfoot > tr > td:last-child {\n border-width: 0 1px 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines:has(.p-treetable-thead):has(.p-treetable-tbody) .p-treetable-tbody > tr > td {\n border-width: 0 0 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines:has(.p-treetable-thead):has(.p-treetable-tbody) .p-treetable-tbody > tr > td:last-child {\n border-width: 0 1px 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines:has(.p-treetable-tbody):has(.p-treetable-tfoot) .p-treetable-tbody > tr:last-child > td {\n border-width: 0 0 0 1px;\n}\n\n.p-treetable.p-treetable-gridlines:has(.p-treetable-tbody):has(.p-treetable-tfoot) .p-treetable-tbody > tr:last-child > td:last-child {\n border-width: 0 1px 0 1px;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-header {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-thead > tr > th {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-tbody > tr > td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-footer {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-header {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-thead > tr > th {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-tbody > tr > td {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-footer {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable-body-cell-content {\n display: flex;\n align-items: center;\n gap: ").concat(dt("treetable.body.cell.gap"), ";\n}\n\n.p-treetable-tbody > tr.p-treetable-row-selected .p-treetable-node-toggle-button {\n color: inherit;\n}\n\n.p-treetable-node-toggle-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("treetable.node.toggle.button.size"), ";\n height: ").concat(dt("treetable.node.toggle.button.size"), ";\n color: ").concat(dt("treetable.node.toggle.button.color"), ";\n border: 0 none;\n background: transparent;\n cursor: pointer;\n border-radius: ").concat(dt("treetable.node.toggle.button.border.radius"), ";\n transition: background ").concat(dt("treetable.transition.duration"), ", color ").concat(dt("treetable.transition.duration"), ", border-color ").concat(dt("treetable.transition.duration"), ",\n outline-color ").concat(dt("treetable.transition.duration"), ", box-shadow ").concat(dt("treetable.transition.duration"), ";\n outline-color: transparent;\n user-select: none;\n}\n\n.p-treetable-node-toggle-button:enabled:hover {\n color: ").concat(dt("treetable.node.toggle.button.hover.color"), ";\n background: ").concat(dt("treetable.node.toggle.button.hover.background"), ";\n}\n\n.p-treetable-tbody > tr.p-treetable-row-selected .p-treetable-node-toggle-button:hover {\n background: ").concat(dt("treetable.node.toggle.button.selected.hover.background"), ";\n color: ").concat(dt("treetable.node.toggle.button.selected.hover.color"), ";\n}\n\n.p-treetable-node-toggle-button:focus-visible {\n box-shadow: ").concat(dt("treetable.node.toggle.button.focus.ring.shadow"), ";\n outline: ").concat(dt("treetable.node.toggle.button.focus.ring.width"), " ").concat(dt("treetable.node.toggle.button.focus.ring.style"), " ").concat(dt("treetable.node.toggle.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("treetable.node.toggle.button.focus.ring.offset"), ";\n}\n\n.p-treetable-node-toggle-icon:dir(rtl) {\n transform: rotate(180deg);\n}\n"); +}, "theme"); +var classes = { + root: /* @__PURE__ */ __name(function root34(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-treetable p-component", { + "p-treetable-hoverable": props.rowHover || instance.rowSelectionMode, + "p-treetable-resizable": props.resizableColumns, + "p-treetable-resizable-fit": props.resizableColumns && props.columnResizeMode === "fit", + "p-treetable-scrollable": props.scrollable, + "p-treetable-flex-scrollable": props.scrollable && props.scrollHeight === "flex", + "p-treetable-gridlines": props.showGridlines, + "p-treetable-sm": props.size === "small", + "p-treetable-lg": props.size === "large" + }]; + }, "root"), + loading: "p-treetable-loading", + //TODO: required? + mask: "p-treetable-mask p-overlay-mask", + loadingIcon: "p-treetable-loading-icon", + header: "p-treetable-header", + paginator: /* @__PURE__ */ __name(function paginator(_ref3) { + var position = _ref3.position; + return "p-treetable-paginator-" + position; + }, "paginator"), + tableContainer: "p-treetable-table-container", + table: /* @__PURE__ */ __name(function table(_ref4) { + var props = _ref4.props; + return ["p-treetable-table", { + "p-treetable-scrollable-table": props.scrollable, + "p-treetable-resizable-table": props.resizableColumns, + "p-treetable-resizable-table-fit": props.resizableColumns && props.columnResizeMode === "fit" + }]; + }, "table"), + thead: "p-treetable-thead", + headerCell: /* @__PURE__ */ __name(function headerCell(_ref5) { + var instance = _ref5.instance, props = _ref5.props, context = _ref5.context; + return ["p-treetable-header-cell", { + "p-treetable-sortable-column": instance.columnProp("sortable"), + "p-treetable-resizable-column": props.resizableColumns, + "p-treetable-column-sorted": context === null || context === void 0 ? void 0 : context.sorted, + "p-treetable-frozen-column": instance.columnProp("frozen") + }]; + }, "headerCell"), + columnResizer: "p-treetable-column-resizer", + columnHeaderContent: "p-treetable-column-header-content", + columnTitle: "p-treetable-column-title", + sortIcon: "p-treetable-sort-icon", + pcSortBadge: "p-treetable-sort-badge", + tbody: "p-treetable-tbody", + row: /* @__PURE__ */ __name(function row(_ref6) { + var props = _ref6.props, instance = _ref6.instance; + return [{ + "p-treetable-row-selected": instance.selected, + "p-treetable-contextmenu-row-selected": props.contextMenuSelection && instance.isSelectedWithContextMenu + }]; + }, "row"), + bodyCell: /* @__PURE__ */ __name(function bodyCell(_ref7) { + var instance = _ref7.instance; + return [{ + "p-treetable-frozen-column": instance.columnProp("frozen") + }]; + }, "bodyCell"), + bodyCellContent: /* @__PURE__ */ __name(function bodyCellContent(_ref8) { + var instance = _ref8.instance; + return ["p-treetable-body-cell-content", { + "p-treetable-body-cell-content-expander": instance.columnProp("expander") + }]; + }, "bodyCellContent"), + nodeToggleButton: "p-treetable-node-toggle-button", + nodeToggleIcon: "p-treetable-node-toggle-icon", + pcNodeCheckbox: "p-treetable-node-checkbox", + emptyMessage: "p-treetable-empty-message", + tfoot: "p-treetable-tfoot", + footerCell: /* @__PURE__ */ __name(function footerCell(_ref9) { + var instance = _ref9.instance; + return [{ + "p-treetable-frozen-column": instance.columnProp("frozen") + }]; + }, "footerCell"), + footer: "p-treetable-footer", + columnResizeIndicator: "p-treetable-column-resize-indicator" +}; +var inlineStyles = { + tableContainer: { + overflow: "auto" + }, + thead: { + position: "sticky" + }, + tfoot: { + position: "sticky" + } +}; +var TreeTableStyle = BaseStyle.extend({ + name: "treetable", + theme: theme40, + classes, + inlineStyles +}); +var script$5 = { + name: "BaseTreeTable", + "extends": script$1d, + props: { + value: { + type: null, + "default": null + }, + dataKey: { + type: [String, Function], + "default": "key" + }, + expandedKeys: { + type: null, + "default": null + }, + selectionKeys: { + type: null, + "default": null + }, + selectionMode: { + type: String, + "default": null + }, + metaKeySelection: { + type: Boolean, + "default": false + }, + contextMenu: { + type: Boolean, + "default": false + }, + contextMenuSelection: { + type: Object, + "default": null + }, + rows: { + type: Number, + "default": 0 + }, + first: { + type: Number, + "default": 0 + }, + totalRecords: { + type: Number, + "default": 0 + }, + paginator: { + type: Boolean, + "default": false + }, + paginatorPosition: { + type: String, + "default": "bottom" + }, + alwaysShowPaginator: { + type: Boolean, + "default": true + }, + paginatorTemplate: { + type: String, + "default": "FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown" + }, + pageLinkSize: { + type: Number, + "default": 5 + }, + rowsPerPageOptions: { + type: Array, + "default": null + }, + currentPageReportTemplate: { + type: String, + "default": "({currentPage} of {totalPages})" + }, + lazy: { + type: Boolean, + "default": false + }, + loading: { + type: Boolean, + "default": false + }, + loadingIcon: { + type: String, + "default": void 0 + }, + loadingMode: { + type: String, + "default": "mask" + }, + rowHover: { + type: Boolean, + "default": false + }, + autoLayout: { + type: Boolean, + "default": false + }, + sortField: { + type: [String, Function], + "default": null + }, + sortOrder: { + type: Number, + "default": null + }, + defaultSortOrder: { + type: Number, + "default": 1 + }, + multiSortMeta: { + type: Array, + "default": null + }, + sortMode: { + type: String, + "default": "single" + }, + removableSort: { + type: Boolean, + "default": false + }, + filters: { + type: Object, + "default": null + }, + filterMode: { + type: String, + "default": "lenient" + }, + filterLocale: { + type: String, + "default": void 0 + }, + resizableColumns: { + type: Boolean, + "default": false + }, + columnResizeMode: { + type: String, + "default": "fit" + }, + indentation: { + type: Number, + "default": 1 + }, + showGridlines: { + type: Boolean, + "default": false + }, + scrollable: { + type: Boolean, + "default": false + }, + scrollHeight: { + type: String, + "default": null + }, + size: { + type: String, + "default": null + }, + tableStyle: { + type: null, + "default": null + }, + tableClass: { + type: [String, Object], + "default": null + }, + tableProps: { + type: Object, + "default": null + } + }, + style: TreeTableStyle, + provide: /* @__PURE__ */ __name(function provide51() { + return { + $pcTreeTable: this, + $parentInstance: this + }; + }, "provide") +}; +var script$4 = { + name: "FooterCell", + hostName: "TreeTable", + "extends": script$1d, + props: { + column: { + type: Object, + "default": null + }, + index: { + type: Number, + "default": null + } + }, + data: /* @__PURE__ */ __name(function data37() { + return { + styleObject: {} + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted41() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated10() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "updated"), + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp(prop) { + return getVNodeProp(this.column, prop); + }, "columnProp"), + getColumnPT: /* @__PURE__ */ __name(function getColumnPT(key) { + var _this$$parentInstance; + var columnMetaData = { + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index: this.index, + frozen: this.columnProp("frozen"), + size: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.size + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp() { + return this.column.props && this.column.props.pt ? this.column.props.pt : void 0; + }, "getColumnProp"), + updateStickyPosition: /* @__PURE__ */ __name(function updateStickyPosition() { + if (this.columnProp("frozen")) { + var align = this.columnProp("alignFrozen"); + if (align === "right") { + var pos = 0; + var next = getNextElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (next) { + pos = getOuterWidth(next) + parseFloat(next.style.right || 0); + } + this.styleObject.insetInlineEnd = pos + "px"; + } else { + var _pos = 0; + var prev = getPreviousElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (prev) { + _pos = getOuterWidth(prev) + parseFloat(prev.style.left || 0); + } + this.styleObject.insetInlineStart = _pos + "px"; + } + } + }, "updateStickyPosition") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass4() { + return [this.columnProp("footerClass"), this.columnProp("class"), this.cx("footerCell")]; + }, "containerClass"), + containerStyle: /* @__PURE__ */ __name(function containerStyle2() { + var bodyStyle = this.columnProp("footerStyle"); + var columnStyle = this.columnProp("style"); + return this.columnProp("frozen") ? [columnStyle, bodyStyle, this.styleObject] : [columnStyle, bodyStyle]; + }, "containerStyle") + } +}; +function _typeof$5(o) { + "@babel/helpers - typeof"; + return _typeof$5 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$5(o); +} +__name(_typeof$5, "_typeof$5"); +function ownKeys$5(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$5, "ownKeys$5"); +function _objectSpread$5(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$5(Object(t2), true).forEach(function(r2) { + _defineProperty$5(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$5(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$5, "_objectSpread$5"); +function _defineProperty$5(e, r, t2) { + return (r = _toPropertyKey$5(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$5, "_defineProperty$5"); +function _toPropertyKey$5(t2) { + var i = _toPrimitive$5(t2, "string"); + return "symbol" == _typeof$5(i) ? i : i + ""; +} +__name(_toPropertyKey$5, "_toPropertyKey$5"); +function _toPrimitive$5(t2, r) { + if ("object" != _typeof$5(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$5(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$5, "_toPrimitive$5"); +var _hoisted_1$4 = ["data-p-frozen-column"]; +function render$4(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("td", mergeProps({ + style: $options.containerStyle, + "class": $options.containerClass, + role: "cell" + }, _objectSpread$5(_objectSpread$5({}, $options.getColumnPT("root")), $options.getColumnPT("footerCell")), { + "data-p-frozen-column": $options.columnProp("frozen") + }), [$props.column.children && $props.column.children.footer ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.footer), { + key: 0, + column: $props.column + }, null, 8, ["column"])) : createCommentVNode("", true), $options.columnProp("footer") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": _ctx.cx("columnFooter") + }, $options.getColumnPT("columnFooter")), toDisplayString($options.columnProp("footer")), 17)) : createCommentVNode("", true)], 16, _hoisted_1$4); +} +__name(render$4, "render$4"); +script$4.render = render$4; +var script$3 = { + name: "HeaderCell", + hostName: "TreeTable", + "extends": script$1d, + emits: ["column-click", "column-resizestart"], + props: { + column: { + type: Object, + "default": null + }, + resizableColumns: { + type: Boolean, + "default": false + }, + sortField: { + type: [String, Function], + "default": null + }, + sortOrder: { + type: Number, + "default": null + }, + multiSortMeta: { + type: Array, + "default": null + }, + sortMode: { + type: String, + "default": "single" + }, + index: { + type: Number, + "default": null + } + }, + data: /* @__PURE__ */ __name(function data38() { + return { + styleObject: {} + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted42() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated11() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "updated"), + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp2(prop) { + return getVNodeProp(this.column, prop); + }, "columnProp"), + getColumnPT: /* @__PURE__ */ __name(function getColumnPT2(key) { + var _this$$parentInstance; + var columnMetaData = { + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index: this.index, + sorted: this.isColumnSorted(), + frozen: this.$parentInstance.scrollable && this.columnProp("frozen"), + resizable: this.resizableColumns, + scrollable: this.$parentInstance.scrollable, + showGridlines: this.$parentInstance.showGridlines, + size: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.size + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp2() { + return this.column.props && this.column.props.pt ? this.column.props.pt : void 0; + }, "getColumnProp"), + updateStickyPosition: /* @__PURE__ */ __name(function updateStickyPosition2() { + if (this.columnProp("frozen")) { + var align = this.columnProp("alignFrozen"); + if (align === "right") { + var pos = 0; + var next = getNextElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (next) { + pos = getOuterWidth(next) + parseFloat(next.style.right || 0); + } + this.styleObject.insetInlineEnd = pos + "px"; + } else { + var _pos = 0; + var prev = getPreviousElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (prev) { + _pos = getOuterWidth(prev) + parseFloat(prev.style.left || 0); + } + this.styleObject.insetInlineStart = _pos + "px"; + } + var filterRow = this.$el.parentElement.nextElementSibling; + if (filterRow) { + var index = getIndex(this.$el); + filterRow.children[index].style.left = this.styleObject.left; + filterRow.children[index].style.right = this.styleObject.right; + } + } + }, "updateStickyPosition"), + onClick: /* @__PURE__ */ __name(function onClick9(event2) { + this.$emit("column-click", { + originalEvent: event2, + column: this.column + }); + }, "onClick"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown13(event2) { + if ((event2.code === "Enter" || event2.code === "NumpadEnter" || event2.code === "Space") && event2.currentTarget.nodeName === "TH" && getAttribute(event2.currentTarget, "data-p-sortable-column")) { + this.$emit("column-click", { + originalEvent: event2, + column: this.column + }); + event2.preventDefault(); + } + }, "onKeyDown"), + onResizeStart: /* @__PURE__ */ __name(function onResizeStart(event2) { + this.$emit("column-resizestart", event2); + }, "onResizeStart"), + getMultiSortMetaIndex: /* @__PURE__ */ __name(function getMultiSortMetaIndex() { + var index = -1; + for (var i = 0; i < this.multiSortMeta.length; i++) { + var meta = this.multiSortMeta[i]; + if (meta.field === this.columnProp("field") || meta.field === this.columnProp("sortField")) { + index = i; + break; + } + } + return index; + }, "getMultiSortMetaIndex"), + isMultiSorted: /* @__PURE__ */ __name(function isMultiSorted() { + return this.columnProp("sortable") && this.getMultiSortMetaIndex() > -1; + }, "isMultiSorted"), + isColumnSorted: /* @__PURE__ */ __name(function isColumnSorted() { + return this.sortMode === "single" ? this.sortField && (this.sortField === this.columnProp("field") || this.sortField === this.columnProp("sortField")) : this.isMultiSorted(); + }, "isColumnSorted") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass5() { + return [this.columnProp("headerClass"), this.columnProp("class"), this.cx("headerCell")]; + }, "containerClass"), + containerStyle: /* @__PURE__ */ __name(function containerStyle3() { + var headerStyle = this.columnProp("headerStyle"); + var columnStyle = this.columnProp("style"); + return this.columnProp("frozen") ? [columnStyle, headerStyle, this.styleObject] : [columnStyle, headerStyle]; + }, "containerStyle"), + sortState: /* @__PURE__ */ __name(function sortState() { + var sorted2 = false; + var sortOrder3 = null; + if (this.sortMode === "single") { + sorted2 = this.sortField && (this.sortField === this.columnProp("field") || this.sortField === this.columnProp("sortField")); + sortOrder3 = sorted2 ? this.sortOrder : 0; + } else if (this.sortMode === "multiple") { + var metaIndex = this.getMultiSortMetaIndex(); + if (metaIndex > -1) { + sorted2 = true; + sortOrder3 = this.multiSortMeta[metaIndex].order; + } + } + return { + sorted: sorted2, + sortOrder: sortOrder3 + }; + }, "sortState"), + sortableColumnIcon: /* @__PURE__ */ __name(function sortableColumnIcon() { + var _this$sortState = this.sortState, sorted2 = _this$sortState.sorted, sortOrder3 = _this$sortState.sortOrder; + if (!sorted2) return script$1V; + else if (sorted2 && sortOrder3 > 0) return script$1W; + else if (sorted2 && sortOrder3 < 0) return script$1X; + return null; + }, "sortableColumnIcon"), + ariaSort: /* @__PURE__ */ __name(function ariaSort() { + if (this.columnProp("sortable")) { + var _this$sortState2 = this.sortState, sorted2 = _this$sortState2.sorted, sortOrder3 = _this$sortState2.sortOrder; + if (sorted2 && sortOrder3 < 0) return "descending"; + else if (sorted2 && sortOrder3 > 0) return "ascending"; + else return "none"; + } else { + return null; + } + }, "ariaSort") + }, + components: { + Badge: script$1z, + SortAltIcon: script$1V, + SortAmountUpAltIcon: script$1W, + SortAmountDownIcon: script$1X + } +}; +function _typeof$4(o) { + "@babel/helpers - typeof"; + return _typeof$4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$4(o); +} +__name(_typeof$4, "_typeof$4"); +function ownKeys$4(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$4, "ownKeys$4"); +function _objectSpread$4(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$4(Object(t2), true).forEach(function(r2) { + _defineProperty$4(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$4(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$4, "_objectSpread$4"); +function _defineProperty$4(e, r, t2) { + return (r = _toPropertyKey$4(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$4, "_defineProperty$4"); +function _toPropertyKey$4(t2) { + var i = _toPrimitive$4(t2, "string"); + return "symbol" == _typeof$4(i) ? i : i + ""; +} +__name(_toPropertyKey$4, "_toPropertyKey$4"); +function _toPrimitive$4(t2, r) { + if ("object" != _typeof$4(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$4(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$4, "_toPrimitive$4"); +var _hoisted_1$3$1 = ["tabindex", "aria-sort", "data-p-sortable-column", "data-p-resizable-column", "data-p-sorted", "data-p-frozen-column"]; +function render$3(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Badge = resolveComponent("Badge"); + return openBlock(), createElementBlock("th", mergeProps({ + "class": $options.containerClass, + style: [$options.containerStyle], + onClick: _cache[1] || (_cache[1] = function() { + return $options.onClick && $options.onClick.apply($options, arguments); + }), + onKeydown: _cache[2] || (_cache[2] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }), + tabindex: $options.columnProp("sortable") ? "0" : null, + "aria-sort": $options.ariaSort, + role: "columnheader" + }, _objectSpread$4(_objectSpread$4({}, $options.getColumnPT("root")), $options.getColumnPT("headerCell")), { + "data-p-sortable-column": $options.columnProp("sortable"), + "data-p-resizable-column": $props.resizableColumns, + "data-p-sorted": $options.isColumnSorted(), + "data-p-frozen-column": $options.columnProp("frozen") + }), [$props.resizableColumns && !$options.columnProp("frozen") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 0, + "class": _ctx.cx("columnResizer"), + onMousedown: _cache[0] || (_cache[0] = function() { + return $options.onResizeStart && $options.onResizeStart.apply($options, arguments); + }) + }, $options.getColumnPT("columnResizer")), null, 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("columnHeaderContent") + }, $options.getColumnPT("columnHeaderContent")), [$props.column.children && $props.column.children.header ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.header), { + key: 0, + column: $props.column + }, null, 8, ["column"])) : createCommentVNode("", true), $options.columnProp("header") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": _ctx.cx("columnTitle") + }, $options.getColumnPT("columnTitle")), toDisplayString($options.columnProp("header")), 17)) : createCommentVNode("", true), $options.columnProp("sortable") ? (openBlock(), createElementBlock("span", normalizeProps(mergeProps({ + key: 2 + }, $options.getColumnPT("sort"))), [(openBlock(), createBlock(resolveDynamicComponent($props.column.children && $props.column.children.sorticon || $options.sortableColumnIcon), mergeProps({ + sorted: $options.sortState.sorted, + sortOrder: $options.sortState.sortOrder, + "class": _ctx.cx("sortIcon") + }, $options.getColumnPT("sortIcon")), null, 16, ["sorted", "sortOrder", "class"]))], 16)) : createCommentVNode("", true), $options.isMultiSorted() ? (openBlock(), createBlock(_component_Badge, mergeProps({ + key: 3, + "class": _ctx.cx("pcSortBadge") + }, $options.getColumnPT("pcSortBadge"), { + value: $options.getMultiSortMetaIndex() + 1, + size: "small" + }), null, 16, ["class", "value"])) : createCommentVNode("", true)], 16)], 16, _hoisted_1$3$1); +} +__name(render$3, "render$3"); +script$3.render = render$3; +var script$2 = { + name: "BodyCell", + hostName: "TreeTable", + "extends": script$1d, + emits: ["node-toggle", "checkbox-toggle"], + props: { + node: { + type: Object, + "default": null + }, + column: { + type: Object, + "default": null + }, + level: { + type: Number, + "default": 0 + }, + indentation: { + type: Number, + "default": 1 + }, + leaf: { + type: Boolean, + "default": false + }, + expanded: { + type: Boolean, + "default": false + }, + selectionMode: { + type: String, + "default": null + }, + checked: { + type: Boolean, + "default": false + }, + partialChecked: { + type: Boolean, + "default": false + }, + templates: { + type: Object, + "default": null + }, + index: { + type: Number, + "default": null + }, + loadingMode: { + type: String, + "default": "mask" + } + }, + data: /* @__PURE__ */ __name(function data39() { + return { + styleObject: {} + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted43() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated12() { + if (this.columnProp("frozen")) { + this.updateStickyPosition(); + } + }, "updated"), + methods: { + toggle: /* @__PURE__ */ __name(function toggle4() { + this.$emit("node-toggle", this.node); + }, "toggle"), + columnProp: /* @__PURE__ */ __name(function columnProp3(prop) { + return getVNodeProp(this.column, prop); + }, "columnProp"), + getColumnPT: /* @__PURE__ */ __name(function getColumnPT3(key) { + var _this$$parentInstance; + var columnMetaData = { + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + index: this.index, + selectable: this.$parentInstance.rowHover || this.$parentInstance.rowSelectionMode, + selected: this.$parent.selected, + frozen: this.columnProp("frozen"), + scrollable: this.$parentInstance.scrollable, + showGridlines: this.$parentInstance.showGridlines, + size: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.size + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnPT"), + getColumnProp: /* @__PURE__ */ __name(function getColumnProp3() { + return this.column.props && this.column.props.pt ? this.column.props.pt : void 0; + }, "getColumnProp"), + getColumnCheckboxPT: /* @__PURE__ */ __name(function getColumnCheckboxPT(key) { + var columnMetaData = { + props: this.column.props, + parent: { + instance: this, + props: this.$props, + state: this.$data + }, + context: { + checked: this.checked, + partialChecked: this.partialChecked + } + }; + return mergeProps(this.ptm("column.".concat(key), { + column: columnMetaData + }), this.ptm("column.".concat(key), columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData)); + }, "getColumnCheckboxPT"), + updateStickyPosition: /* @__PURE__ */ __name(function updateStickyPosition3() { + if (this.columnProp("frozen")) { + var align = this.columnProp("alignFrozen"); + if (align === "right") { + var pos = 0; + var next = getNextElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (next) { + pos = getOuterWidth(next) + parseFloat(next.style.right || 0); + } + this.styleObject.insetInlineEnd = pos + "px"; + } else { + var _pos = 0; + var prev = getPreviousElementSibling(this.$el, '[data-p-frozen-column="true"]'); + if (prev) { + _pos = getOuterWidth(prev) + parseFloat(prev.style.left || 0); + } + this.styleObject.insetInlineStart = _pos + "px"; + } + } + }, "updateStickyPosition"), + resolveFieldData: /* @__PURE__ */ __name(function resolveFieldData$1(rowData, field) { + return resolveFieldData(rowData, field); + }, "resolveFieldData$1"), + toggleCheckbox: /* @__PURE__ */ __name(function toggleCheckbox() { + this.$emit("checkbox-toggle"); + }, "toggleCheckbox") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass6() { + return [this.columnProp("bodyClass"), this.columnProp("class"), this.cx("bodyCell")]; + }, "containerClass"), + containerStyle: /* @__PURE__ */ __name(function containerStyle4() { + var bodyStyle = this.columnProp("bodyStyle"); + var columnStyle = this.columnProp("style"); + return this.columnProp("frozen") ? [columnStyle, bodyStyle, this.styleObject] : [columnStyle, bodyStyle]; + }, "containerStyle"), + togglerStyle: /* @__PURE__ */ __name(function togglerStyle() { + return { + marginLeft: this.level * this.indentation + "rem", + visibility: this.leaf ? "hidden" : "visible" + }; + }, "togglerStyle"), + checkboxSelectionMode: /* @__PURE__ */ __name(function checkboxSelectionMode() { + return this.selectionMode === "checkbox"; + }, "checkboxSelectionMode") + }, + components: { + Checkbox: script$1J, + ChevronRightIcon: script$1l, + ChevronDownIcon: script$1k, + CheckIcon: script$1D, + MinusIcon: script$1y, + SpinnerIcon: script$1r + }, + directives: { + ripple: Ripple + } +}; +function _typeof$3(o) { + "@babel/helpers - typeof"; + return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$3(o); +} +__name(_typeof$3, "_typeof$3"); +function ownKeys$3(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$3, "ownKeys$3"); +function _objectSpread$3(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$3(Object(t2), true).forEach(function(r2) { + _defineProperty$3(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$3(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$3, "_objectSpread$3"); +function _defineProperty$3(e, r, t2) { + return (r = _toPropertyKey$3(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$3, "_defineProperty$3"); +function _toPropertyKey$3(t2) { + var i = _toPrimitive$3(t2, "string"); + return "symbol" == _typeof$3(i) ? i : i + ""; +} +__name(_toPropertyKey$3, "_toPropertyKey$3"); +function _toPrimitive$3(t2, r) { + if ("object" != _typeof$3(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$3(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$3, "_toPrimitive$3"); +var _hoisted_1$2$1 = ["data-p-frozen-column"]; +function render$2(_ctx, _cache, $props, $setup, $data, $options) { + var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); + var _component_Checkbox = resolveComponent("Checkbox"); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("td", mergeProps({ + style: $options.containerStyle, + "class": $options.containerClass, + role: "cell" + }, _objectSpread$3(_objectSpread$3({}, $options.getColumnPT("root")), $options.getColumnPT("bodyCell")), { + "data-p-frozen-column": $options.columnProp("frozen") + }), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("bodyCellContent") + }, $options.getColumnPT("bodyCellContent")), [$options.columnProp("expander") ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ + key: 0, + type: "button", + "class": _ctx.cx("nodeToggleButton"), + onClick: _cache[0] || (_cache[0] = function() { + return $options.toggle && $options.toggle.apply($options, arguments); + }), + style: $options.togglerStyle, + tabindex: "-1" + }, $options.getColumnPT("nodeToggleButton"), { + "data-pc-group-section": "rowactionbutton" + }), [$props.node.loading && $props.loadingMode === "icon" ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [$props.templates["nodetoggleicon"] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates["nodetoggleicon"]), { + key: 0 + })) : createCommentVNode("", true), $props.templates["nodetogglericon"] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates["nodetogglericon"]), { + key: 1 + })) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({ + key: 2, + spin: "" + }, _ctx.ptm("nodetoggleicon")), null, 16))], 64)) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [$props.column.children && $props.column.children.rowtoggleicon ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.rowtoggleicon), { + key: 0, + node: $props.node, + expanded: $props.expanded, + "class": normalizeClass(_ctx.cx("nodeToggleIcon")) + }, null, 8, ["node", "expanded", "class"])) : createCommentVNode("", true), $props.column.children && $props.column.children.rowtogglericon ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.rowtogglericon), { + key: 1, + node: $props.node, + expanded: $props.expanded, + "class": normalizeClass(_ctx.cx("nodeToggleIcon")) + }, null, 8, ["node", "expanded", "class"])) : $props.expanded ? (openBlock(), createBlock(resolveDynamicComponent($props.node.expandedIcon ? "span" : "ChevronDownIcon"), mergeProps({ + key: 2, + "class": _ctx.cx("nodeToggleIcon") + }, $options.getColumnPT("nodeToggleIcon")), null, 16, ["class"])) : (openBlock(), createBlock(resolveDynamicComponent($props.node.collapsedIcon ? "span" : "ChevronRightIcon"), mergeProps({ + key: 3, + "class": _ctx.cx("nodeToggleIcon") + }, $options.getColumnPT("nodeToggleIcon")), null, 16, ["class"]))], 64))], 16)), [[_directive_ripple]]) : createCommentVNode("", true), $options.checkboxSelectionMode && $options.columnProp("expander") ? (openBlock(), createBlock(_component_Checkbox, { + key: 1, + modelValue: $props.checked, + binary: true, + "class": normalizeClass(_ctx.cx("pcNodeCheckbox")), + disabled: $props.node.selectable === false, + onChange: $options.toggleCheckbox, + tabindex: -1, + indeterminate: $props.partialChecked, + unstyled: _ctx.unstyled, + pt: $options.getColumnCheckboxPT("pcNodeCheckbox"), + "data-p-partialchecked": $props.partialChecked + }, { + icon: withCtx(function(slotProps) { + return [$props.templates["checkboxicon"] ? (openBlock(), createBlock(resolveDynamicComponent($props.templates["checkboxicon"]), { + key: 0, + checked: slotProps.checked, + partialChecked: $props.partialChecked, + "class": normalizeClass(slotProps["class"]) + }, null, 8, ["checked", "partialChecked", "class"])) : createCommentVNode("", true)]; + }), + _: 1 + }, 8, ["modelValue", "class", "disabled", "onChange", "indeterminate", "unstyled", "pt", "data-p-partialchecked"])) : createCommentVNode("", true), $props.column.children && $props.column.children.body ? (openBlock(), createBlock(resolveDynamicComponent($props.column.children.body), { + key: 2, + node: $props.node, + column: $props.column + }, null, 8, ["node", "column"])) : (openBlock(), createElementBlock(Fragment, { + key: 3 + }, [createTextVNode(toDisplayString($options.resolveFieldData($props.node.data, $options.columnProp("field"))), 1)], 64))], 16)], 16, _hoisted_1$2$1); +} +__name(render$2, "render$2"); +script$2.render = render$2; +function _typeof$2(o) { + "@babel/helpers - typeof"; + return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$2(o); +} +__name(_typeof$2, "_typeof$2"); +function _createForOfIteratorHelper$1(r, e) { + var t2 = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t2) { + if (Array.isArray(r) || (t2 = _unsupportedIterableToArray$1(r)) || e) { + t2 && (r = t2); + var _n = 0, F = /* @__PURE__ */ __name(function F2() { + }, "F"); + return { s: F, n: /* @__PURE__ */ __name(function n() { + return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + throw r2; + }, "e"), f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, a = true, u = false; + return { s: /* @__PURE__ */ __name(function s() { + t2 = t2.call(r); + }, "s"), n: /* @__PURE__ */ __name(function n() { + var r2 = t2.next(); + return a = r2.done, r2; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + u = true, o = r2; + }, "e"), f: /* @__PURE__ */ __name(function f() { + try { + a || null == t2["return"] || t2["return"](); + } finally { + if (u) throw o; + } + }, "f") }; +} +__name(_createForOfIteratorHelper$1, "_createForOfIteratorHelper$1"); +function ownKeys$2(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$2, "ownKeys$2"); +function _objectSpread$2(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$2(Object(t2), true).forEach(function(r2) { + _defineProperty$2(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$2(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$2, "_objectSpread$2"); +function _defineProperty$2(e, r, t2) { + return (r = _toPropertyKey$2(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$2, "_defineProperty$2"); +function _toPropertyKey$2(t2) { + var i = _toPrimitive$2(t2, "string"); + return "symbol" == _typeof$2(i) ? i : i + ""; +} +__name(_toPropertyKey$2, "_toPropertyKey$2"); +function _toPrimitive$2(t2, r) { + if ("object" != _typeof$2(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$2(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$2, "_toPrimitive$2"); +function _toConsumableArray$1(r) { + return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread$1(); +} +__name(_toConsumableArray$1, "_toConsumableArray$1"); +function _nonIterableSpread$1() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$1, "_nonIterableSpread$1"); +function _unsupportedIterableToArray$1(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$1(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$1(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$1, "_unsupportedIterableToArray$1"); +function _iterableToArray$1(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$1, "_iterableToArray$1"); +function _arrayWithoutHoles$1(r) { + if (Array.isArray(r)) return _arrayLikeToArray$1(r); +} +__name(_arrayWithoutHoles$1, "_arrayWithoutHoles$1"); +function _arrayLikeToArray$1(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$1, "_arrayLikeToArray$1"); +var script$1 = { + name: "TreeTableRow", + hostName: "TreeTable", + "extends": script$1d, + emits: ["node-click", "node-toggle", "checkbox-change", "nodeClick", "nodeToggle", "checkboxChange", "row-rightclick", "rowRightclick"], + props: { + node: { + type: null, + "default": null + }, + dataKey: { + type: [String, Function], + "default": "key" + }, + parentNode: { + type: null, + "default": null + }, + columns: { + type: null, + "default": null + }, + expandedKeys: { + type: null, + "default": null + }, + selectionKeys: { + type: null, + "default": null + }, + selectionMode: { + type: String, + "default": null + }, + level: { + type: Number, + "default": 0 + }, + indentation: { + type: Number, + "default": 1 + }, + tabindex: { + type: Number, + "default": -1 + }, + ariaSetSize: { + type: Number, + "default": null + }, + ariaPosInset: { + type: Number, + "default": null + }, + loadingMode: { + type: String, + "default": "mask" + }, + templates: { + type: Object, + "default": null + }, + contextMenu: { + type: Boolean, + "default": false + }, + contextMenuSelection: { + type: Object, + "default": null + } + }, + nodeTouched: false, + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp4(col, prop) { + return getVNodeProp(col, prop); + }, "columnProp"), + toggle: /* @__PURE__ */ __name(function toggle5() { + this.$emit("node-toggle", this.node); + }, "toggle"), + onClick: /* @__PURE__ */ __name(function onClick10(event2) { + if (isClickable(event2.target) || getAttribute(event2.target, "data-pc-section") === "nodetogglebutton" || getAttribute(event2.target, "data-pc-section") === "nodetoggleicon" || event2.target.tagName === "path") { + return; + } + this.setTabIndexForSelectionMode(event2, this.nodeTouched); + this.$emit("node-click", { + originalEvent: event2, + nodeTouched: this.nodeTouched, + node: this.node + }); + this.nodeTouched = false; + }, "onClick"), + onRowRightClick: /* @__PURE__ */ __name(function onRowRightClick(event2) { + this.$emit("row-rightclick", { + originalEvent: event2, + node: this.node + }); + }, "onRowRightClick"), + onTouchEnd: /* @__PURE__ */ __name(function onTouchEnd2() { + this.nodeTouched = true; + }, "onTouchEnd"), + nodeKey: /* @__PURE__ */ __name(function nodeKey(node2) { + return resolveFieldData(node2, this.dataKey); + }, "nodeKey"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown14(event2, item8) { + switch (event2.code) { + case "ArrowDown": + this.onArrowDownKey(event2); + break; + case "ArrowUp": + this.onArrowUpKey(event2); + break; + case "ArrowLeft": + this.onArrowLeftKey(event2); + break; + case "ArrowRight": + this.onArrowRightKey(event2); + break; + case "Home": + this.onHomeKey(event2); + break; + case "End": + this.onEndKey(event2); + break; + case "Enter": + case "NumpadEnter": + case "Space": + if (!isClickable(event2.target)) { + this.onEnterKey(event2, item8); + } + break; + case "Tab": + this.onTabKey(event2); + break; + } + }, "onKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey9(event2) { + var nextElementSibling = event2.currentTarget.nextElementSibling; + nextElementSibling && this.focusRowChange(event2.currentTarget, nextElementSibling); + event2.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey8(event2) { + var previousElementSibling = event2.currentTarget.previousElementSibling; + previousElementSibling && this.focusRowChange(event2.currentTarget, previousElementSibling); + event2.preventDefault(); + }, "onArrowUpKey"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey4(event2) { + var _this = this; + var ishiddenIcon = findSingle(event2.currentTarget, "button").style.visibility === "hidden"; + var togglerElement = findSingle(this.$refs.node, '[data-pc-section="nodetogglebutton"]'); + if (ishiddenIcon) return; + !this.expanded && togglerElement.click(); + this.$nextTick(function() { + _this.onArrowDownKey(event2); + }); + event2.preventDefault(); + }, "onArrowRightKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey5(event2) { + if (this.level === 0 && !this.expanded) { + return; + } + var currentTarget = event2.currentTarget; + var ishiddenIcon = findSingle(currentTarget, "button").style.visibility === "hidden"; + var togglerElement = findSingle(currentTarget, '[data-pc-section="nodetogglebutton"]'); + if (this.expanded && !ishiddenIcon) { + togglerElement.click(); + return; + } + var target = this.findBeforeClickableNode(currentTarget); + target && this.focusRowChange(currentTarget, target); + }, "onArrowLeftKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey9(event2) { + var findFirstElement = findSingle(event2.currentTarget.parentElement, 'tr[aria-level="'.concat(this.level + 1, '"]')); + findFirstElement && focus(findFirstElement); + event2.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey9(event2) { + var nodes = find(event2.currentTarget.parentElement, 'tr[aria-level="'.concat(this.level + 1, '"]')); + var findFirstElement = nodes[nodes.length - 1]; + focus(findFirstElement); + event2.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey9(event2) { + event2.preventDefault(); + this.setTabIndexForSelectionMode(event2, this.nodeTouched); + if (this.selectionMode === "checkbox") { + this.toggleCheckbox(); + return; + } + this.$emit("node-click", { + originalEvent: event2, + nodeTouched: this.nodeTouched, + node: this.node + }); + this.nodeTouched = false; + }, "onEnterKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey6() { + var rows3 = _toConsumableArray$1(find(this.$refs.node.parentElement, "tr")); + var hasSelectedRow = rows3.some(function(row2) { + return getAttribute(row2, "data-p-selected") || row2.getAttribute("aria-checked") === "true"; + }); + rows3.forEach(function(row2) { + row2.tabIndex = -1; + }); + if (hasSelectedRow) { + var selectedNodes2 = rows3.filter(function(node2) { + return getAttribute(node2, "data-p-selected") || node2.getAttribute("aria-checked") === "true"; + }); + selectedNodes2[0].tabIndex = 0; + return; + } + rows3[0].tabIndex = 0; + }, "onTabKey"), + focusRowChange: /* @__PURE__ */ __name(function focusRowChange(firstFocusableRow, currentFocusedRow) { + firstFocusableRow.tabIndex = "-1"; + currentFocusedRow.tabIndex = "0"; + focus(currentFocusedRow); + }, "focusRowChange"), + findBeforeClickableNode: /* @__PURE__ */ __name(function findBeforeClickableNode(node2) { + var prevNode = node2.previousElementSibling; + if (prevNode) { + var prevNodeButton = prevNode.querySelector("button"); + if (prevNodeButton && prevNodeButton.style.visibility !== "hidden") { + return prevNode; + } + return this.findBeforeClickableNode(prevNode); + } + return null; + }, "findBeforeClickableNode"), + toggleCheckbox: /* @__PURE__ */ __name(function toggleCheckbox2() { + var _selectionKeys = this.selectionKeys ? _objectSpread$2({}, this.selectionKeys) : {}; + var _check = !this.checked; + this.propagateDown(this.node, _check, _selectionKeys); + this.$emit("checkbox-change", { + node: this.node, + check: _check, + selectionKeys: _selectionKeys + }); + }, "toggleCheckbox"), + propagateDown: /* @__PURE__ */ __name(function propagateDown(node2, check, selectionKeys) { + if (check) selectionKeys[this.nodeKey(node2)] = { + checked: true, + partialChecked: false + }; + else delete selectionKeys[this.nodeKey(node2)]; + if (node2.children && node2.children.length) { + var _iterator = _createForOfIteratorHelper$1(node2.children), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var child = _step.value; + this.propagateDown(child, check, selectionKeys); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, "propagateDown"), + propagateUp: /* @__PURE__ */ __name(function propagateUp(event2) { + var check = event2.check; + var _selectionKeys = _objectSpread$2({}, event2.selectionKeys); + var checkedChildCount = 0; + var childPartialSelected = false; + var _iterator2 = _createForOfIteratorHelper$1(this.node.children), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var child = _step2.value; + if (_selectionKeys[this.nodeKey(child)] && _selectionKeys[this.nodeKey(child)].checked) checkedChildCount++; + else if (_selectionKeys[this.nodeKey(child)] && _selectionKeys[this.nodeKey(child)].partialChecked) childPartialSelected = true; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + if (check && checkedChildCount === this.node.children.length) { + _selectionKeys[this.nodeKey(this.node)] = { + checked: true, + partialChecked: false + }; + } else { + if (!check) { + delete _selectionKeys[this.nodeKey(this.node)]; + } + if (childPartialSelected || checkedChildCount > 0 && checkedChildCount !== this.node.children.length) _selectionKeys[this.nodeKey(this.node)] = { + checked: false, + partialChecked: true + }; + else _selectionKeys[this.nodeKey(this.node)] = { + checked: false, + partialChecked: false + }; + } + this.$emit("checkbox-change", { + node: event2.node, + check: event2.check, + selectionKeys: _selectionKeys + }); + }, "propagateUp"), + onCheckboxChange: /* @__PURE__ */ __name(function onCheckboxChange(event2) { + var check = event2.check; + var _selectionKeys = _objectSpread$2({}, event2.selectionKeys); + var checkedChildCount = 0; + var childPartialSelected = false; + var _iterator3 = _createForOfIteratorHelper$1(this.node.children), _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) { + var child = _step3.value; + if (_selectionKeys[this.nodeKey(child)] && _selectionKeys[this.nodeKey(child)].checked) checkedChildCount++; + else if (_selectionKeys[this.nodeKey(child)] && _selectionKeys[this.nodeKey(child)].partialChecked) childPartialSelected = true; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + if (check && checkedChildCount === this.node.children.length) { + _selectionKeys[this.nodeKey(this.node)] = { + checked: true, + partialChecked: false + }; + } else { + if (!check) { + delete _selectionKeys[this.nodeKey(this.node)]; + } + if (childPartialSelected || checkedChildCount > 0 && checkedChildCount !== this.node.children.length) _selectionKeys[this.nodeKey(this.node)] = { + checked: false, + partialChecked: true + }; + else _selectionKeys[this.nodeKey(this.node)] = { + checked: false, + partialChecked: false + }; + } + this.$emit("checkbox-change", { + node: event2.node, + check: event2.check, + selectionKeys: _selectionKeys + }); + }, "onCheckboxChange"), + setTabIndexForSelectionMode: /* @__PURE__ */ __name(function setTabIndexForSelectionMode(event2, nodeTouched) { + if (this.selectionMode !== null) { + var elements = _toConsumableArray$1(find(this.$refs.node.parentElement, "tr")); + event2.currentTarget.tabIndex = nodeTouched === false ? -1 : 0; + if (elements.every(function(element) { + return element.tabIndex === -1; + })) { + elements[0].tabIndex = 0; + } + } + }, "setTabIndexForSelectionMode") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass7() { + return [this.node.styleClass, this.cx("row")]; + }, "containerClass"), + expanded: /* @__PURE__ */ __name(function expanded2() { + return this.expandedKeys && this.expandedKeys[this.nodeKey(this.node)] === true; + }, "expanded"), + leaf: /* @__PURE__ */ __name(function leaf2() { + return this.node.leaf === false ? false : !(this.node.children && this.node.children.length); + }, "leaf"), + selected: /* @__PURE__ */ __name(function selected2() { + return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.nodeKey(this.node)] === true : false; + }, "selected"), + isSelectedWithContextMenu: /* @__PURE__ */ __name(function isSelectedWithContextMenu() { + if (this.node && this.contextMenuSelection) { + return equals(this.node, this.contextMenuSelection, this.dataKey); + } + return false; + }, "isSelectedWithContextMenu"), + checked: /* @__PURE__ */ __name(function checked() { + return this.selectionKeys ? this.selectionKeys[this.nodeKey(this.node)] && this.selectionKeys[this.nodeKey(this.node)].checked : false; + }, "checked"), + partialChecked: /* @__PURE__ */ __name(function partialChecked() { + return this.selectionKeys ? this.selectionKeys[this.nodeKey(this.node)] && this.selectionKeys[this.nodeKey(this.node)].partialChecked : false; + }, "partialChecked"), + getAriaSelected: /* @__PURE__ */ __name(function getAriaSelected() { + return this.selectionMode === "single" || this.selectionMode === "multiple" ? this.selected : null; + }, "getAriaSelected"), + ptmOptions: /* @__PURE__ */ __name(function ptmOptions2() { + return { + context: { + selectable: this.$parentInstance.rowHover || this.$parentInstance.rowSelectionMode, + selected: this.selected, + scrollable: this.$parentInstance.scrollable + } + }; + }, "ptmOptions") + }, + components: { + TTBodyCell: script$2 + } +}; +var _hoisted_1$1$1 = ["tabindex", "aria-expanded", "aria-level", "aria-setsize", "aria-posinset", "aria-selected", "aria-checked", "data-p-selected", "data-p-selected-contextmenu"]; +function render$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_TTBodyCell = resolveComponent("TTBodyCell"); + var _component_TreeTableRow = resolveComponent("TreeTableRow", true); + return openBlock(), createElementBlock(Fragment, null, [createBaseVNode("tr", mergeProps({ + ref: "node", + "class": $options.containerClass, + style: $props.node.style, + tabindex: $props.tabindex, + role: "row", + "aria-expanded": $props.node.children && $props.node.children.length ? $options.expanded : void 0, + "aria-level": $props.level + 1, + "aria-setsize": $props.ariaSetSize, + "aria-posinset": $props.ariaPosInset, + "aria-selected": $options.getAriaSelected, + "aria-checked": $options.checked || void 0, + onClick: _cache[1] || (_cache[1] = function() { + return $options.onClick && $options.onClick.apply($options, arguments); + }), + onKeydown: _cache[2] || (_cache[2] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }), + onTouchend: _cache[3] || (_cache[3] = function() { + return $options.onTouchEnd && $options.onTouchEnd.apply($options, arguments); + }), + onContextmenu: _cache[4] || (_cache[4] = function() { + return $options.onRowRightClick && $options.onRowRightClick.apply($options, arguments); + }) + }, _ctx.ptm("row", $options.ptmOptions), { + "data-p-selected": $options.selected, + "data-p-selected-contextmenu": $props.contextMenuSelection && $options.isSelectedWithContextMenu + }), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.columns, function(col, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || i + }, [!$options.columnProp(col, "hidden") ? (openBlock(), createBlock(_component_TTBodyCell, { + key: 0, + column: col, + node: $props.node, + level: $props.level, + leaf: $options.leaf, + indentation: $props.indentation, + expanded: $options.expanded, + selectionMode: $props.selectionMode, + checked: $options.checked, + partialChecked: $options.partialChecked, + templates: $props.templates, + onNodeToggle: _cache[0] || (_cache[0] = function($event) { + return _ctx.$emit("node-toggle", $event); + }), + onCheckboxToggle: $options.toggleCheckbox, + index: i, + loadingMode: $props.loadingMode, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["column", "node", "level", "leaf", "indentation", "expanded", "selectionMode", "checked", "partialChecked", "templates", "onCheckboxToggle", "index", "loadingMode", "unstyled", "pt"])) : createCommentVNode("", true)], 64); + }), 128))], 16, _hoisted_1$1$1), $options.expanded && $props.node.children && $props.node.children.length ? (openBlock(true), createElementBlock(Fragment, { + key: 0 + }, renderList($props.node.children, function(childNode) { + return openBlock(), createBlock(_component_TreeTableRow, { + key: $options.nodeKey(childNode), + dataKey: $props.dataKey, + columns: $props.columns, + node: childNode, + parentNode: $props.node, + level: $props.level + 1, + expandedKeys: $props.expandedKeys, + selectionMode: $props.selectionMode, + selectionKeys: $props.selectionKeys, + contextMenu: $props.contextMenu, + contextMenuSelection: $props.contextMenuSelection, + indentation: $props.indentation, + ariaPosInset: $props.node.children.indexOf(childNode) + 1, + ariaSetSize: $props.node.children.length, + templates: $props.templates, + onNodeToggle: _cache[5] || (_cache[5] = function($event) { + return _ctx.$emit("node-toggle", $event); + }), + onNodeClick: _cache[6] || (_cache[6] = function($event) { + return _ctx.$emit("node-click", $event); + }), + onRowRightclick: _cache[7] || (_cache[7] = function($event) { + return _ctx.$emit("row-rightclick", $event); + }), + onCheckboxChange: $options.onCheckboxChange, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["dataKey", "columns", "node", "parentNode", "level", "expandedKeys", "selectionMode", "selectionKeys", "contextMenu", "contextMenuSelection", "indentation", "ariaPosInset", "ariaSetSize", "templates", "onCheckboxChange", "unstyled", "pt"]); + }), 128)) : createCommentVNode("", true)], 64); +} +__name(render$1, "render$1"); +script$1.render = render$1; +function _typeof$1(o) { + "@babel/helpers - typeof"; + return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$1(o); +} +__name(_typeof$1, "_typeof$1"); +function _createForOfIteratorHelper(r, e) { + var t2 = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t2) { + if (Array.isArray(r) || (t2 = _unsupportedIterableToArray(r)) || e) { + t2 && (r = t2); + var _n = 0, F = /* @__PURE__ */ __name(function F2() { + }, "F"); + return { s: F, n: /* @__PURE__ */ __name(function n() { + return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + throw r2; + }, "e"), f: F }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, a = true, u = false; + return { s: /* @__PURE__ */ __name(function s() { + t2 = t2.call(r); + }, "s"), n: /* @__PURE__ */ __name(function n() { + var r2 = t2.next(); + return a = r2.done, r2; + }, "n"), e: /* @__PURE__ */ __name(function e2(r2) { + u = true, o = r2; + }, "e"), f: /* @__PURE__ */ __name(function f() { + try { + a || null == t2["return"] || t2["return"](); + } finally { + if (u) throw o; + } + }, "f") }; +} +__name(_createForOfIteratorHelper, "_createForOfIteratorHelper"); +function ownKeys$1(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys$1, "ownKeys$1"); +function _objectSpread$1(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$1(Object(t2), true).forEach(function(r2) { + _defineProperty$1(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys$1(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread$1, "_objectSpread$1"); +function _defineProperty$1(e, r, t2) { + return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty$1, "_defineProperty$1"); +function _toPropertyKey$1(t2) { + var i = _toPrimitive$1(t2, "string"); + return "symbol" == _typeof$1(i) ? i : i + ""; +} +__name(_toPropertyKey$1, "_toPropertyKey$1"); +function _toPrimitive$1(t2, r) { + if ("object" != _typeof$1(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof$1(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive$1, "_toPrimitive$1"); +function _toConsumableArray(r) { + return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); +} +__name(_toConsumableArray, "_toConsumableArray"); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread, "_nonIterableSpread"); +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray(r, a); + var t2 = {}.toString.call(r).slice(8, -1); + return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray, "_unsupportedIterableToArray"); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray, "_iterableToArray"); +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return _arrayLikeToArray(r); +} +__name(_arrayWithoutHoles, "_arrayWithoutHoles"); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray, "_arrayLikeToArray"); +var script = { + name: "TreeTable", + "extends": script$5, + inheritAttrs: false, + emits: ["node-expand", "node-collapse", "update:expandedKeys", "update:selectionKeys", "node-select", "node-unselect", "update:first", "update:rows", "page", "update:sortField", "update:sortOrder", "update:multiSortMeta", "sort", "filter", "column-resize-end", "update:contextMenuSelection", "row-contextmenu"], + provide: /* @__PURE__ */ __name(function provide52() { + return { + $columns: this.d_columns + }; + }, "provide"), + data: /* @__PURE__ */ __name(function data40() { + return { + d_expandedKeys: this.expandedKeys || {}, + d_first: this.first, + d_rows: this.rows, + d_sortField: this.sortField, + d_sortOrder: this.sortOrder, + d_multiSortMeta: this.multiSortMeta ? _toConsumableArray(this.multiSortMeta) : [], + hasASelectedNode: false, + d_columns: new _default({ + type: "Column" + }) + }; + }, "data"), + documentColumnResizeListener: null, + documentColumnResizeEndListener: null, + lastResizeHelperX: null, + resizeColumnElement: null, + watch: { + expandedKeys: /* @__PURE__ */ __name(function expandedKeys3(newValue) { + this.d_expandedKeys = newValue; + }, "expandedKeys"), + first: /* @__PURE__ */ __name(function first2(newValue) { + this.d_first = newValue; + }, "first"), + rows: /* @__PURE__ */ __name(function rows2(newValue) { + this.d_rows = newValue; + }, "rows"), + sortField: /* @__PURE__ */ __name(function sortField2(newValue) { + this.d_sortField = newValue; + }, "sortField"), + sortOrder: /* @__PURE__ */ __name(function sortOrder2(newValue) { + this.d_sortOrder = newValue; + }, "sortOrder"), + multiSortMeta: /* @__PURE__ */ __name(function multiSortMeta(newValue) { + this.d_multiSortMeta = newValue; + }, "multiSortMeta") + }, + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount18() { + this.destroyStyleElement(); + this.d_columns.clear(); + }, "beforeUnmount"), + methods: { + columnProp: /* @__PURE__ */ __name(function columnProp5(col, prop) { + return getVNodeProp(col, prop); + }, "columnProp"), + ptHeaderCellOptions: /* @__PURE__ */ __name(function ptHeaderCellOptions(column2) { + return { + context: { + frozen: this.columnProp(column2, "frozen") + } + }; + }, "ptHeaderCellOptions"), + onNodeToggle: /* @__PURE__ */ __name(function onNodeToggle3(node2) { + var key = this.nodeKey(node2); + if (this.d_expandedKeys[key]) { + delete this.d_expandedKeys[key]; + this.$emit("node-collapse", node2); + } else { + this.d_expandedKeys[key] = true; + this.$emit("node-expand", node2); + } + this.d_expandedKeys = _objectSpread$1({}, this.d_expandedKeys); + this.$emit("update:expandedKeys", this.d_expandedKeys); + }, "onNodeToggle"), + onNodeClick: /* @__PURE__ */ __name(function onNodeClick3(event2) { + if (this.rowSelectionMode && event2.node.selectable !== false) { + var metaSelection = event2.nodeTouched ? false : this.metaKeySelection; + var _selectionKeys = metaSelection ? this.handleSelectionWithMetaKey(event2) : this.handleSelectionWithoutMetaKey(event2); + this.$emit("update:selectionKeys", _selectionKeys); + } + }, "onNodeClick"), + nodeKey: /* @__PURE__ */ __name(function nodeKey2(node2) { + return resolveFieldData(node2, this.dataKey); + }, "nodeKey"), + handleSelectionWithMetaKey: /* @__PURE__ */ __name(function handleSelectionWithMetaKey(event2) { + var originalEvent = event2.originalEvent; + var node2 = event2.node; + var nodeKey3 = this.nodeKey(node2); + var metaKey = originalEvent.metaKey || originalEvent.ctrlKey; + var selected3 = this.isNodeSelected(node2); + var _selectionKeys; + if (selected3 && metaKey) { + if (this.isSingleSelectionMode()) { + _selectionKeys = {}; + } else { + _selectionKeys = _objectSpread$1({}, this.selectionKeys); + delete _selectionKeys[nodeKey3]; + } + this.$emit("node-unselect", node2); + } else { + if (this.isSingleSelectionMode()) { + _selectionKeys = {}; + } else if (this.isMultipleSelectionMode()) { + _selectionKeys = !metaKey ? {} : this.selectionKeys ? _objectSpread$1({}, this.selectionKeys) : {}; + } + _selectionKeys[nodeKey3] = true; + this.$emit("node-select", node2); + } + return _selectionKeys; + }, "handleSelectionWithMetaKey"), + handleSelectionWithoutMetaKey: /* @__PURE__ */ __name(function handleSelectionWithoutMetaKey(event2) { + var node2 = event2.node; + var nodeKey3 = this.nodeKey(node2); + var selected3 = this.isNodeSelected(node2); + var _selectionKeys; + if (this.isSingleSelectionMode()) { + if (selected3) { + _selectionKeys = {}; + this.$emit("node-unselect", node2); + } else { + _selectionKeys = {}; + _selectionKeys[nodeKey3] = true; + this.$emit("node-select", node2); + } + } else { + if (selected3) { + _selectionKeys = _objectSpread$1({}, this.selectionKeys); + delete _selectionKeys[nodeKey3]; + this.$emit("node-unselect", node2); + } else { + _selectionKeys = this.selectionKeys ? _objectSpread$1({}, this.selectionKeys) : {}; + _selectionKeys[nodeKey3] = true; + this.$emit("node-select", node2); + } + } + return _selectionKeys; + }, "handleSelectionWithoutMetaKey"), + onCheckboxChange: /* @__PURE__ */ __name(function onCheckboxChange2(event2) { + this.$emit("update:selectionKeys", event2.selectionKeys); + if (event2.check) this.$emit("node-select", event2.node); + else this.$emit("node-unselect", event2.node); + }, "onCheckboxChange"), + onRowRightClick: /* @__PURE__ */ __name(function onRowRightClick2(event2) { + if (this.contextMenu) { + clearSelection(); + event2.originalEvent.target.focus(); + } + this.$emit("update:contextMenuSelection", event2.node); + this.$emit("row-contextmenu", event2); + }, "onRowRightClick"), + isSingleSelectionMode: /* @__PURE__ */ __name(function isSingleSelectionMode() { + return this.selectionMode === "single"; + }, "isSingleSelectionMode"), + isMultipleSelectionMode: /* @__PURE__ */ __name(function isMultipleSelectionMode() { + return this.selectionMode === "multiple"; + }, "isMultipleSelectionMode"), + onPage: /* @__PURE__ */ __name(function onPage2(event2) { + this.d_first = event2.first; + this.d_rows = event2.rows; + var pageEvent = this.createLazyLoadEvent(event2); + pageEvent.pageCount = event2.pageCount; + pageEvent.page = event2.page; + this.d_expandedKeys = {}; + this.$emit("update:expandedKeys", this.d_expandedKeys); + this.$emit("update:first", this.d_first); + this.$emit("update:rows", this.d_rows); + this.$emit("page", pageEvent); + }, "onPage"), + resetPage: /* @__PURE__ */ __name(function resetPage2() { + this.d_first = 0; + this.$emit("update:first", this.d_first); + }, "resetPage"), + getFilterColumnHeaderClass: /* @__PURE__ */ __name(function getFilterColumnHeaderClass(column2) { + return [this.cx("headerCell", { + column: column2 + }), this.columnProp(column2, "filterHeaderClass")]; + }, "getFilterColumnHeaderClass"), + onColumnHeaderClick: /* @__PURE__ */ __name(function onColumnHeaderClick(e) { + var event2 = e.originalEvent; + var column2 = e.column; + if (this.columnProp(column2, "sortable")) { + var targetNode = event2.target; + var columnField = this.columnProp(column2, "sortField") || this.columnProp(column2, "field"); + if (getAttribute(targetNode, "data-p-sortable-column") === true || getAttribute(targetNode, "data-pc-section") === "columntitle" || getAttribute(targetNode, "data-pc-section") === "columnheadercontent" || getAttribute(targetNode, "data-pc-section") === "sorticon" || getAttribute(targetNode.parentElement, "data-pc-section") === "sorticon" || getAttribute(targetNode.parentElement.parentElement, "data-pc-section") === "sorticon" || targetNode.closest('[data-p-sortable-column="true"]')) { + clearSelection(); + if (this.sortMode === "single") { + if (this.d_sortField === columnField) { + if (this.removableSort && this.d_sortOrder * -1 === this.defaultSortOrder) { + this.d_sortOrder = null; + this.d_sortField = null; + } else { + this.d_sortOrder = this.d_sortOrder * -1; + } + } else { + this.d_sortOrder = this.defaultSortOrder; + this.d_sortField = columnField; + } + this.$emit("update:sortField", this.d_sortField); + this.$emit("update:sortOrder", this.d_sortOrder); + this.resetPage(); + } else if (this.sortMode === "multiple") { + var metaKey = event2.metaKey || event2.ctrlKey; + if (!metaKey) { + this.d_multiSortMeta = this.d_multiSortMeta.filter(function(meta) { + return meta.field === columnField; + }); + } + this.addMultiSortField(columnField); + this.$emit("update:multiSortMeta", this.d_multiSortMeta); + } + this.$emit("sort", this.createLazyLoadEvent(event2)); + } + } + }, "onColumnHeaderClick"), + addMultiSortField: /* @__PURE__ */ __name(function addMultiSortField(field) { + var index = this.d_multiSortMeta.findIndex(function(meta) { + return meta.field === field; + }); + if (index >= 0) { + if (this.removableSort && this.d_multiSortMeta[index].order * -1 === this.defaultSortOrder) this.d_multiSortMeta.splice(index, 1); + else this.d_multiSortMeta[index] = { + field, + order: this.d_multiSortMeta[index].order * -1 + }; + } else { + this.d_multiSortMeta.push({ + field, + order: this.defaultSortOrder + }); + } + this.d_multiSortMeta = _toConsumableArray(this.d_multiSortMeta); + }, "addMultiSortField"), + sortSingle: /* @__PURE__ */ __name(function sortSingle(nodes) { + return this.sortNodesSingle(nodes); + }, "sortSingle"), + sortNodesSingle: /* @__PURE__ */ __name(function sortNodesSingle(nodes) { + var _this = this; + var _nodes = _toConsumableArray(nodes); + var comparer = localeComparator(); + _nodes.sort(function(node1, node2) { + var value1 = resolveFieldData(node1.data, _this.d_sortField); + var value2 = resolveFieldData(node2.data, _this.d_sortField); + return sort(value1, value2, _this.d_sortOrder, comparer); + }); + return _nodes; + }, "sortNodesSingle"), + sortMultiple: /* @__PURE__ */ __name(function sortMultiple(nodes) { + return this.sortNodesMultiple(nodes); + }, "sortMultiple"), + sortNodesMultiple: /* @__PURE__ */ __name(function sortNodesMultiple(nodes) { + var _this2 = this; + var _nodes = _toConsumableArray(nodes); + _nodes.sort(function(node1, node2) { + return _this2.multisortField(node1, node2, 0); + }); + return _nodes; + }, "sortNodesMultiple"), + multisortField: /* @__PURE__ */ __name(function multisortField(node1, node2, index) { + var value1 = resolveFieldData(node1.data, this.d_multiSortMeta[index].field); + var value2 = resolveFieldData(node2.data, this.d_multiSortMeta[index].field); + var comparer = localeComparator(); + if (value1 === value2) { + return this.d_multiSortMeta.length - 1 > index ? this.multisortField(node1, node2, index + 1) : 0; + } + return sort(value1, value2, this.d_multiSortMeta[index].order, comparer); + }, "multisortField"), + filter: /* @__PURE__ */ __name(function filter(value2) { + var filteredNodes = []; + var strict = this.filterMode === "strict"; + var _iterator = _createForOfIteratorHelper(value2), _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done; ) { + var node2 = _step.value; + var copyNode = _objectSpread$1({}, node2); + var localMatch = true; + var globalMatch = false; + for (var j = 0; j < this.columns.length; j++) { + var col = this.columns[j]; + var filterField = this.columnProp(col, "filterField") || this.columnProp(col, "field"); + if (Object.prototype.hasOwnProperty.call(this.filters, filterField)) { + var filterMatchMode = this.columnProp(col, "filterMatchMode") || "startsWith"; + var filterValue = this.filters[filterField]; + var filterConstraint = FilterService.filters[filterMatchMode]; + var paramsWithoutNode = { + filterField, + filterValue, + filterConstraint, + strict + }; + if (strict && !(this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode)) || !strict && !(this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode))) { + localMatch = false; + } + if (!localMatch) { + break; + } + } + if (this.hasGlobalFilter() && !globalMatch) { + var copyNodeForGlobal = _objectSpread$1({}, copyNode); + var _filterValue = this.filters["global"]; + var _filterConstraint = FilterService.filters["contains"]; + var globalFilterParamsWithoutNode = { + filterField, + filterValue: _filterValue, + filterConstraint: _filterConstraint, + strict + }; + if (strict && (this.findFilteredNodes(copyNodeForGlobal, globalFilterParamsWithoutNode) || this.isFilterMatched(copyNodeForGlobal, globalFilterParamsWithoutNode)) || !strict && (this.isFilterMatched(copyNodeForGlobal, globalFilterParamsWithoutNode) || this.findFilteredNodes(copyNodeForGlobal, globalFilterParamsWithoutNode))) { + globalMatch = true; + copyNode = copyNodeForGlobal; + } + } + } + var matches = localMatch; + if (this.hasGlobalFilter()) { + matches = localMatch && globalMatch; + } + if (matches) { + filteredNodes.push(copyNode); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + var filterEvent = this.createLazyLoadEvent(event); + filterEvent.filteredValue = filteredNodes; + this.$emit("filter", filterEvent); + return filteredNodes; + }, "filter"), + findFilteredNodes: /* @__PURE__ */ __name(function findFilteredNodes(node2, paramsWithoutNode) { + if (node2) { + var matched = false; + if (node2.children) { + var childNodes = _toConsumableArray(node2.children); + node2.children = []; + var _iterator2 = _createForOfIteratorHelper(childNodes), _step2; + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { + var childNode = _step2.value; + var copyChildNode = _objectSpread$1({}, childNode); + if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) { + matched = true; + node2.children.push(copyChildNode); + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + if (matched) { + return true; + } + } + }, "findFilteredNodes"), + isFilterMatched: /* @__PURE__ */ __name(function isFilterMatched(node2, _ref) { + var filterField = _ref.filterField, filterValue = _ref.filterValue, filterConstraint = _ref.filterConstraint, strict = _ref.strict; + var matched = false; + var dataFieldValue = resolveFieldData(node2.data, filterField); + if (filterConstraint(dataFieldValue, filterValue, this.filterLocale)) { + matched = true; + } + if (!matched || strict && !this.isNodeLeaf(node2)) { + matched = this.findFilteredNodes(node2, { + filterField, + filterValue, + filterConstraint, + strict + }) || matched; + } + return matched; + }, "isFilterMatched"), + isNodeSelected: /* @__PURE__ */ __name(function isNodeSelected(node2) { + return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.nodeKey(node2)] === true : false; + }, "isNodeSelected"), + isNodeLeaf: /* @__PURE__ */ __name(function isNodeLeaf(node2) { + return node2.leaf === false ? false : !(node2.children && node2.children.length); + }, "isNodeLeaf"), + createLazyLoadEvent: /* @__PURE__ */ __name(function createLazyLoadEvent(event2) { + var _this3 = this; + var filterMatchModes; + if (this.hasFilters()) { + filterMatchModes = {}; + this.columns.forEach(function(col) { + if (_this3.columnProp(col, "field")) { + filterMatchModes[col.props.field] = _this3.columnProp(col, "filterMatchMode"); + } + }); + } + return { + originalEvent: event2, + first: this.d_first, + rows: this.d_rows, + sortField: this.d_sortField, + sortOrder: this.d_sortOrder, + multiSortMeta: this.d_multiSortMeta, + filters: this.filters, + filterMatchModes + }; + }, "createLazyLoadEvent"), + onColumnResizeStart: /* @__PURE__ */ __name(function onColumnResizeStart(event2) { + var containerLeft = getOffset(this.$el).left; + this.resizeColumnElement = event2.target.parentElement; + this.columnResizing = true; + this.lastResizeHelperX = event2.pageX - containerLeft + this.$el.scrollLeft; + this.bindColumnResizeEvents(); + }, "onColumnResizeStart"), + onColumnResize: /* @__PURE__ */ __name(function onColumnResize(event2) { + var containerLeft = getOffset(this.$el).left; + this.$el.setAttribute("data-p-unselectable-text", "true"); + !this.isUnstyled && addStyle(this.$el, { + "user-select": "none" + }); + this.$refs.resizeHelper.style.height = this.$el.offsetHeight + "px"; + this.$refs.resizeHelper.style.top = "0px"; + this.$refs.resizeHelper.style.left = event2.pageX - containerLeft + this.$el.scrollLeft + "px"; + this.$refs.resizeHelper.style.display = "block"; + }, "onColumnResize"), + onColumnResizeEnd: /* @__PURE__ */ __name(function onColumnResizeEnd() { + var delta = isRTL(this.$el) ? this.lastResizeHelperX - this.$refs.resizeHelper.offsetLeft : this.$refs.resizeHelper.offsetLeft - this.lastResizeHelperX; + var columnWidth = this.resizeColumnElement.offsetWidth; + var newColumnWidth = columnWidth + delta; + var minWidth = this.resizeColumnElement.style.minWidth || 15; + if (columnWidth + delta > parseInt(minWidth, 10)) { + if (this.columnResizeMode === "fit") { + var nextColumn = this.resizeColumnElement.nextElementSibling; + var nextColumnWidth = nextColumn.offsetWidth - delta; + if (newColumnWidth > 15 && nextColumnWidth > 15) { + this.resizeTableCells(newColumnWidth, nextColumnWidth); + } + } else if (this.columnResizeMode === "expand") { + var tableWidth = this.$refs.table.offsetWidth + delta + "px"; + var updateTableWidth = /* @__PURE__ */ __name(function updateTableWidth2(el) { + !!el && (el.style.width = el.style.minWidth = tableWidth); + }, "updateTableWidth"); + this.resizeTableCells(newColumnWidth); + updateTableWidth(this.$refs.table); + } + this.$emit("column-resize-end", { + element: this.resizeColumnElement, + delta + }); + } + this.$refs.resizeHelper.style.display = "none"; + this.resizeColumn = null; + this.$el.removeAttribute("data-p-unselectable-text"); + !this.isUnstyled && (this.$el.style["user-select"] = ""); + this.unbindColumnResizeEvents(); + }, "onColumnResizeEnd"), + resizeTableCells: /* @__PURE__ */ __name(function resizeTableCells(newColumnWidth, nextColumnWidth) { + var colIndex = getIndex(this.resizeColumnElement); + var widths = []; + var headers = find(this.$refs.table, 'thead[data-pc-section="thead"] > tr > th'); + headers.forEach(function(header2) { + return widths.push(getOuterWidth(header2)); + }); + this.destroyStyleElement(); + this.createStyleElement(); + var innerHTML = ""; + var selector = '[data-pc-name="treetable"]['.concat(this.$attrSelector, '] > [data-pc-section="tablecontainer"] > table[data-pc-section="table"]'); + widths.forEach(function(width, index) { + var colWidth = index === colIndex ? newColumnWidth : nextColumnWidth && index === colIndex + 1 ? nextColumnWidth : width; + var style = "width: ".concat(colWidth, "px !important; max-width: ").concat(colWidth, "px !important"); + innerHTML += "\n ".concat(selector, ' > thead[data-pc-section="thead"] > tr > th:nth-child(').concat(index + 1, "),\n ").concat(selector, ' > tbody[data-pc-section="tbody"] > tr > td:nth-child(').concat(index + 1, "),\n ").concat(selector, ' > tfoot[data-pc-section="tfoot"] > tr > td:nth-child(').concat(index + 1, ") {\n ").concat(style, "\n }\n "); + }); + this.styleElement.innerHTML = innerHTML; + }, "resizeTableCells"), + bindColumnResizeEvents: /* @__PURE__ */ __name(function bindColumnResizeEvents() { + var _this4 = this; + if (!this.documentColumnResizeListener) { + this.documentColumnResizeListener = document.addEventListener("mousemove", function(event2) { + if (_this4.columnResizing) { + _this4.onColumnResize(event2); + } + }); + } + if (!this.documentColumnResizeEndListener) { + this.documentColumnResizeEndListener = document.addEventListener("mouseup", function() { + if (_this4.columnResizing) { + _this4.columnResizing = false; + _this4.onColumnResizeEnd(); + } + }); + } + }, "bindColumnResizeEvents"), + unbindColumnResizeEvents: /* @__PURE__ */ __name(function unbindColumnResizeEvents() { + if (this.documentColumnResizeListener) { + document.removeEventListener("document", this.documentColumnResizeListener); + this.documentColumnResizeListener = null; + } + if (this.documentColumnResizeEndListener) { + document.removeEventListener("document", this.documentColumnResizeEndListener); + this.documentColumnResizeEndListener = null; + } + }, "unbindColumnResizeEvents"), + onColumnKeyDown: /* @__PURE__ */ __name(function onColumnKeyDown(event2, col) { + if ((event2.code === "Enter" || event2.code === "NumpadEnter") && event2.currentTarget.nodeName === "TH" && getAttribute(event2.currentTarget, "data-p-sortable-column")) { + this.onColumnHeaderClick(event2, col); + } + }, "onColumnKeyDown"), + hasColumnFilter: /* @__PURE__ */ __name(function hasColumnFilter() { + if (this.columns) { + var _iterator3 = _createForOfIteratorHelper(this.columns), _step3; + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) { + var col = _step3.value; + if (col.children && col.children.filter) { + return true; + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + return false; + }, "hasColumnFilter"), + hasFilters: /* @__PURE__ */ __name(function hasFilters() { + return this.filters && Object.keys(this.filters).length > 0 && this.filters.constructor === Object; + }, "hasFilters"), + hasGlobalFilter: /* @__PURE__ */ __name(function hasGlobalFilter() { + return this.filters && Object.prototype.hasOwnProperty.call(this.filters, "global"); + }, "hasGlobalFilter"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel6(node2) { + return node2.data.name; + }, "getItemLabel"), + createStyleElement: /* @__PURE__ */ __name(function createStyleElement() { + var _this$$primevue; + this.styleElement = document.createElement("style"); + this.styleElement.type = "text/css"; + setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); + document.head.appendChild(this.styleElement); + }, "createStyleElement"), + destroyStyleElement: /* @__PURE__ */ __name(function destroyStyleElement() { + if (this.styleElement) { + document.head.removeChild(this.styleElement); + this.styleElement = null; + } + }, "destroyStyleElement"), + setTabindex: /* @__PURE__ */ __name(function setTabindex(node2, index) { + if (this.isNodeSelected(node2)) { + this.hasASelectedNode = true; + return 0; + } + if (this.selectionMode) { + if (!this.isNodeSelected(node2) && index === 0 && !this.hasASelectedNode) return 0; + } else if (!this.selectionMode && index === 0) { + return 0; + } + return -1; + }, "setTabindex") + }, + computed: { + columns: /* @__PURE__ */ __name(function columns() { + return this.d_columns.get(this); + }, "columns"), + processedData: /* @__PURE__ */ __name(function processedData() { + if (this.lazy) { + return this.value; + } else { + if (this.value && this.value.length) { + var data41 = this.value; + if (this.sorted) { + if (this.sortMode === "single") data41 = this.sortSingle(data41); + else if (this.sortMode === "multiple") data41 = this.sortMultiple(data41); + } + if (this.hasFilters()) { + data41 = this.filter(data41); + } + return data41; + } else { + return null; + } + } + }, "processedData"), + dataToRender: /* @__PURE__ */ __name(function dataToRender() { + var data41 = this.processedData; + if (this.paginator) { + var first3 = this.lazy ? 0 : this.d_first; + return data41.slice(first3, first3 + this.d_rows); + } else { + return data41; + } + }, "dataToRender"), + empty: /* @__PURE__ */ __name(function empty2() { + var data41 = this.processedData; + return !data41 || data41.length === 0; + }, "empty"), + sorted: /* @__PURE__ */ __name(function sorted() { + return this.d_sortField || this.d_multiSortMeta && this.d_multiSortMeta.length > 0; + }, "sorted"), + hasFooter: /* @__PURE__ */ __name(function hasFooter() { + var hasFooter2 = false; + var _iterator4 = _createForOfIteratorHelper(this.columns), _step4; + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) { + var col = _step4.value; + if (this.columnProp(col, "footer") || col.children && col.children.footer) { + hasFooter2 = true; + break; + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + return hasFooter2; + }, "hasFooter"), + paginatorTop: /* @__PURE__ */ __name(function paginatorTop2() { + return this.paginator && (this.paginatorPosition !== "bottom" || this.paginatorPosition === "both"); + }, "paginatorTop"), + paginatorBottom: /* @__PURE__ */ __name(function paginatorBottom2() { + return this.paginator && (this.paginatorPosition !== "top" || this.paginatorPosition === "both"); + }, "paginatorBottom"), + singleSelectionMode: /* @__PURE__ */ __name(function singleSelectionMode() { + return this.selectionMode && this.selectionMode === "single"; + }, "singleSelectionMode"), + multipleSelectionMode: /* @__PURE__ */ __name(function multipleSelectionMode() { + return this.selectionMode && this.selectionMode === "multiple"; + }, "multipleSelectionMode"), + rowSelectionMode: /* @__PURE__ */ __name(function rowSelectionMode() { + return this.singleSelectionMode || this.multipleSelectionMode; + }, "rowSelectionMode"), + totalRecordsLength: /* @__PURE__ */ __name(function totalRecordsLength() { + if (this.lazy) { + return this.totalRecords; + } else { + var data41 = this.processedData; + return data41 ? data41.length : 0; + } + }, "totalRecordsLength") + }, + components: { + TTRow: script$1, + TTPaginator: script$1u, + TTHeaderCell: script$3, + TTFooterCell: script$4, + SpinnerIcon: script$1r + } +}; +function _typeof(o) { + "@babel/helpers - typeof"; + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof(o); +} +__name(_typeof, "_typeof"); +function ownKeys(e, r) { + var t2 = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t2.push.apply(t2, o); + } + return t2; +} +__name(ownKeys, "ownKeys"); +function _objectSpread(e) { + for (var r = 1; r < arguments.length; r++) { + var t2 = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t2), true).forEach(function(r2) { + _defineProperty(e, r2, t2[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2)) : ownKeys(Object(t2)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t2, r2)); + }); + } + return e; +} +__name(_objectSpread, "_objectSpread"); +function _defineProperty(e, r, t2) { + return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t2, enumerable: true, configurable: true, writable: true }) : e[r] = t2, e; +} +__name(_defineProperty, "_defineProperty"); +function _toPropertyKey(t2) { + var i = _toPrimitive(t2, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} +__name(_toPropertyKey, "_toPropertyKey"); +function _toPrimitive(t2, r) { + if ("object" != _typeof(t2) || !t2) return t2; + var e = t2[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t2, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t2); +} +__name(_toPrimitive, "_toPrimitive"); +var _hoisted_1$5 = ["colspan"]; +function render3(_ctx, _cache, $props, $setup, $data, $options) { + var _component_TTPaginator = resolveComponent("TTPaginator"); + var _component_TTHeaderCell = resolveComponent("TTHeaderCell"); + var _component_TTRow = resolveComponent("TTRow"); + var _component_TTFooterCell = resolveComponent("TTFooterCell"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + "data-scrollselectors": ".p-treetable-scrollable-body" + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default"), _ctx.loading && _ctx.loadingMode === "mask" ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("loading") + }, _ctx.ptm("loading")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("mask") + }, _ctx.ptm("mask")), [renderSlot(_ctx.$slots, "loadingicon", { + "class": normalizeClass(_ctx.cx("loadingIcon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.loadingIcon ? "span" : "SpinnerIcon"), mergeProps({ + spin: "", + "class": [_ctx.cx("loadingIcon"), _ctx.loadingIcon] + }, _ctx.ptm("loadingIcon")), null, 16, ["class"]))]; + })], 16)], 16)) : createCommentVNode("", true), _ctx.$slots.header ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("header") + }, _ctx.ptm("header")), [renderSlot(_ctx.$slots, "header")], 16)) : createCommentVNode("", true), $options.paginatorTop ? (openBlock(), createBlock(_component_TTPaginator, { + key: 2, + rows: $data.d_rows, + first: $data.d_first, + totalRecords: $options.totalRecordsLength, + pageLinkSize: _ctx.pageLinkSize, + template: _ctx.paginatorTemplate, + rowsPerPageOptions: _ctx.rowsPerPageOptions, + currentPageReportTemplate: _ctx.currentPageReportTemplate, + "class": normalizeClass(_ctx.cx("pcPaginator", { + position: "top" + })), + onPage: _cache[0] || (_cache[0] = function($event) { + return $options.onPage($event); + }), + alwaysShow: _ctx.alwaysShowPaginator, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcPaginator") + }, createSlots({ + _: 2 + }, [_ctx.$slots.paginatorcontainer ? { + name: "container", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorcontainer", { + first: slotProps.first, + last: slotProps.last, + rows: slotProps.rows, + page: slotProps.page, + pageCount: slotProps.pageCount, + totalRecords: slotProps.totalRecords, + firstPageCallback: slotProps.firstPageCallback, + lastPageCallback: slotProps.lastPageCallback, + prevPageCallback: slotProps.prevPageCallback, + nextPageCallback: slotProps.nextPageCallback, + rowChangeCallback: slotProps.rowChangeCallback + })]; + }), + key: "0" + } : void 0, _ctx.$slots.paginatorstart ? { + name: "start", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorstart")]; + }), + key: "1" + } : void 0, _ctx.$slots.paginatorend ? { + name: "end", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorend")]; + }), + key: "2" + } : void 0, _ctx.$slots.paginatorfirstpagelinkicon ? { + name: "firstpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorfirstpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "3" + } : void 0, _ctx.$slots.paginatorprevpagelinkicon ? { + name: "prevpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorprevpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "4" + } : void 0, _ctx.$slots.paginatornextpagelinkicon ? { + name: "nextpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatornextpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "5" + } : void 0, _ctx.$slots.paginatorlastpagelinkicon ? { + name: "lastpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorlastpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "6" + } : void 0, _ctx.$slots.paginatorjumptopagedropdownicon ? { + name: "jumptopagedropdownicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorjumptopagedropdownicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "7" + } : void 0, _ctx.$slots.paginatorrowsperpagedropdownicon ? { + name: "rowsperpagedropdownicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorrowsperpagedropdownicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "8" + } : void 0]), 1032, ["rows", "first", "totalRecords", "pageLinkSize", "template", "rowsPerPageOptions", "currentPageReportTemplate", "class", "alwaysShow", "unstyled", "pt"])) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("tableContainer"), + style: [_ctx.sx("tableContainer"), { + maxHeight: _ctx.scrollHeight + }] + }, _ctx.ptm("tableContainer")), [createBaseVNode("table", mergeProps({ + ref: "table", + role: "table", + "class": [_ctx.cx("table"), _ctx.tableClass], + style: _ctx.tableStyle + }, _objectSpread(_objectSpread({}, _ctx.tableProps), _ctx.ptm("table"))), [createBaseVNode("thead", mergeProps({ + "class": _ctx.cx("thead"), + style: _ctx.sx("thead"), + role: "rowgroup" + }, _ctx.ptm("thead")), [createBaseVNode("tr", mergeProps({ + role: "row" + }, _ctx.ptm("headerRow")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.columns, function(col, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || i + }, [!$options.columnProp(col, "hidden") ? (openBlock(), createBlock(_component_TTHeaderCell, { + key: 0, + column: col, + resizableColumns: _ctx.resizableColumns, + sortField: $data.d_sortField, + sortOrder: $data.d_sortOrder, + multiSortMeta: $data.d_multiSortMeta, + sortMode: _ctx.sortMode, + onColumnClick: _cache[1] || (_cache[1] = function($event) { + return $options.onColumnHeaderClick($event); + }), + onColumnResizestart: _cache[2] || (_cache[2] = function($event) { + return $options.onColumnResizeStart($event); + }), + index: i, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["column", "resizableColumns", "sortField", "sortOrder", "multiSortMeta", "sortMode", "index", "unstyled", "pt"])) : createCommentVNode("", true)], 64); + }), 128))], 16), $options.hasColumnFilter() ? (openBlock(), createElementBlock("tr", normalizeProps(mergeProps({ + key: 0 + }, _ctx.ptm("headerRow"))), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.columns, function(col, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || i + }, [!$options.columnProp(col, "hidden") ? (openBlock(), createElementBlock("th", mergeProps({ + key: 0, + "class": $options.getFilterColumnHeaderClass(col), + style: [$options.columnProp(col, "style"), $options.columnProp(col, "filterHeaderStyle")], + ref_for: true + }, _ctx.ptm("headerCell", $options.ptHeaderCellOptions(col))), [col.children && col.children.filter ? (openBlock(), createBlock(resolveDynamicComponent(col.children.filter), { + key: 0, + column: col, + index: i + }, null, 8, ["column", "index"])) : createCommentVNode("", true)], 16)) : createCommentVNode("", true)], 64); + }), 128))], 16)) : createCommentVNode("", true)], 16), createBaseVNode("tbody", mergeProps({ + "class": _ctx.cx("tbody"), + role: "rowgroup" + }, _ctx.ptm("tbody")), [!$options.empty ? (openBlock(true), createElementBlock(Fragment, { + key: 0 + }, renderList($options.dataToRender, function(node2, index) { + return openBlock(), createBlock(_component_TTRow, { + key: $options.nodeKey(node2), + dataKey: _ctx.dataKey, + columns: $options.columns, + node: node2, + level: 0, + expandedKeys: $data.d_expandedKeys, + indentation: _ctx.indentation, + selectionMode: _ctx.selectionMode, + selectionKeys: _ctx.selectionKeys, + ariaSetSize: $options.dataToRender.length, + ariaPosInset: index + 1, + tabindex: $options.setTabindex(node2, index), + loadingMode: _ctx.loadingMode, + contextMenu: _ctx.contextMenu, + contextMenuSelection: _ctx.contextMenuSelection, + templates: _ctx.$slots, + onNodeToggle: $options.onNodeToggle, + onNodeClick: $options.onNodeClick, + onCheckboxChange: $options.onCheckboxChange, + onRowRightclick: _cache[3] || (_cache[3] = function($event) { + return $options.onRowRightClick($event); + }), + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["dataKey", "columns", "node", "expandedKeys", "indentation", "selectionMode", "selectionKeys", "ariaSetSize", "ariaPosInset", "tabindex", "loadingMode", "contextMenu", "contextMenuSelection", "templates", "onNodeToggle", "onNodeClick", "onCheckboxChange", "unstyled", "pt"]); + }), 128)) : (openBlock(), createElementBlock("tr", mergeProps({ + key: 1, + "class": _ctx.cx("emptyMessage") + }, _ctx.ptm("emptyMessage")), [createBaseVNode("td", mergeProps({ + colspan: $options.columns.length + }, _ctx.ptm("emptyMessageCell")), [renderSlot(_ctx.$slots, "empty")], 16, _hoisted_1$5)], 16))], 16), $options.hasFooter ? (openBlock(), createElementBlock("tfoot", mergeProps({ + key: 0, + "class": _ctx.cx("tfoot"), + style: _ctx.sx("tfoot"), + role: "rowgroup" + }, _ctx.ptm("tfoot")), [createBaseVNode("tr", mergeProps({ + role: "row" + }, _ctx.ptm("footerRow")), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.columns, function(col, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || i + }, [!$options.columnProp(col, "hidden") ? (openBlock(), createBlock(_component_TTFooterCell, { + key: 0, + column: col, + index: i, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["column", "index", "unstyled", "pt"])) : createCommentVNode("", true)], 64); + }), 128))], 16)], 16)) : createCommentVNode("", true)], 16)], 16), $options.paginatorBottom ? (openBlock(), createBlock(_component_TTPaginator, { + key: 3, + rows: $data.d_rows, + first: $data.d_first, + totalRecords: $options.totalRecordsLength, + pageLinkSize: _ctx.pageLinkSize, + template: _ctx.paginatorTemplate, + rowsPerPageOptions: _ctx.rowsPerPageOptions, + currentPageReportTemplate: _ctx.currentPageReportTemplate, + "class": normalizeClass(_ctx.cx("pcPaginator", { + position: "bottom" + })), + onPage: _cache[4] || (_cache[4] = function($event) { + return $options.onPage($event); + }), + alwaysShow: _ctx.alwaysShowPaginator, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcPaginator") + }, createSlots({ + _: 2 + }, [_ctx.$slots.paginatorcontainer ? { + name: "container", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorcontainer", { + first: slotProps.first, + last: slotProps.last, + rows: slotProps.rows, + page: slotProps.page, + pageCount: slotProps.pageCount, + totalRecords: slotProps.totalRecords, + firstPageCallback: slotProps.firstPageCallback, + lastPageCallback: slotProps.lastPageCallback, + prevPageCallback: slotProps.prevPageCallback, + nextPageCallback: slotProps.nextPageCallback, + rowChangeCallback: slotProps.rowChangeCallback + })]; + }), + key: "0" + } : void 0, _ctx.$slots.paginatorstart ? { + name: "start", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorstart")]; + }), + key: "1" + } : void 0, _ctx.$slots.paginatorend ? { + name: "end", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorend")]; + }), + key: "2" + } : void 0, _ctx.$slots.paginatorfirstpagelinkicon ? { + name: "firstpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorfirstpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "3" + } : void 0, _ctx.$slots.paginatorprevpagelinkicon ? { + name: "prevpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorprevpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "4" + } : void 0, _ctx.$slots.paginatornextpagelinkicon ? { + name: "nextpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatornextpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "5" + } : void 0, _ctx.$slots.paginatorlastpagelinkicon ? { + name: "lastpagelinkicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorlastpagelinkicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "6" + } : void 0, _ctx.$slots.paginatorjumptopagedropdownicon ? { + name: "jumptopagedropdownicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorjumptopagedropdownicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "7" + } : void 0, _ctx.$slots.paginatorrowsperpagedropdownicon ? { + name: "rowsperpagedropdownicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorrowsperpagedropdownicon", { + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "8" + } : void 0]), 1032, ["rows", "first", "totalRecords", "pageLinkSize", "template", "rowsPerPageOptions", "currentPageReportTemplate", "class", "alwaysShow", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps({ + key: 4, + "class": _ctx.cx("footer") + }, _ctx.ptm("footer")), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + ref: "resizeHelper", + "class": _ctx.cx("columnResizeIndicator"), + style: { + "display": "none" + } + }, _ctx.ptm("columnResizeIndicator")), null, 16)], 16); +} +__name(render3, "render"); +script.render = render3; +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?", + 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(value2) { + if (this._state === "error" && value2 === "OK") this.resolved = true; + if (value2 === "error") this.resolved &&= false; + this._state = value2; + } + /** `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 taskStates = 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) => taskStates.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(value2, minDuration = 250) { + const current = ref(value2.value); + const { ready, start } = useTimeout(minDuration, { + controls: true, + immediate: false + }); + watch(value2, (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$1Y), mergeProps({ + class: ["max-w-48 relative h-full overflow-hidden", { "opacity-65": runner.value.state !== "error" }] + }, (({ onClick: onClick11, ...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$1e), { + icon: _ctx.task.button?.icon, + label: _ctx.task.button?.text, + class: "w-full", + raised: "", + "icon-pos": "right", + onClick: _cache[0] || (_cache[0] = (event2) => _ctx.$emit("execute", event2)), + 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 classes2; + if (props.state === "error") { + classes2 = `${PrimeIcons.EXCLAMATION_TRIANGLE} text-red-500`; + } else if (props.state === "OK") { + classes2 = `${PrimeIcons.CHECK} text-green-500`; + } else { + classes2 = PrimeIcons.MINUS; + } + return `text-3xl pi ${classes2}`; + }); + const props = __props; + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return !_ctx.state || _ctx.loading ? (openBlock(), createBlock(unref(script$1h), { + 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 toggle6 = /* @__PURE__ */ __name((event2) => { + infoPopover.value.toggle(event2); + }, "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$1e), { + class: "inline-block mx-2", + type: "button", + icon: unref(PrimeIcons).INFO_CIRCLE, + severity: "secondary", + text: true, + onClick: toggle6 + }, null, 8, ["icon"]), + createVNode(unref(script$1Q), { + 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$1e), { + icon: _ctx.task.button?.icon, + label: _ctx.task.button?.text, + severity: severity.value, + "icon-pos": "right", + onClick: _cache[0] || (_cache[0] = (event2) => _ctx.$emit("execute", event2)), + 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 (event2, task) => { + if (!task.requireConfirm) { + await executeTask(task); + return; + } + confirm.require({ + target: event2.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$1Z)), + 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((event2) => confirmButton(event2, 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((event2) => confirmButton(event2, task), "onExecute") + }, null, 8, ["task", "onExecute"]); + }), 128)) + ])) + ], 64)), + createVNode(unref(script$1_)) + ]); + }; + } +}); +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 pointer-events-auto overflow-y-auto" }; +const _hoisted_2 = { class: "max-w-screen-sm w-screen m-8 relative" }; +const _hoisted_3 = { class: "w-full flex flex-wrap gap-4 items-center" }; +const _hoisted_4 = { class: "grow" }; +const _hoisted_5 = { class: "flex gap-4 items-center" }; +const _hoisted_6 = { class: "max-sm:hidden" }; +const _hoisted_7 = { 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 filter2 = ref(filterOptions.value[1]); + const completeValidation = /* @__PURE__ */ __name(async (alertOnFail = true) => { + const isValid = await electron2.Validation.complete(); + if (alertOnFail && !isValid) { + toast.add({ + severity: "error", + summary: "Error", + detail: "Unable to continue - errors remain", + life: 5e3 + }); + } + }, "completeValidation"); + const terminalCreated = /* @__PURE__ */ __name(({ terminal, useAutoSize }, root35) => { + useAutoSize({ root: root35, autoRows: true, autoCols: true }); + electron2.onLogMessage((message) => { + terminal.write(message); + }); + terminal.options.cursorBlink = false; + terminal.options.cursorStyle = "bar"; + terminal.options.cursorInactiveStyle = "bar"; + terminal.options.disableStdin = true; + }, "terminalCreated"); + const toggleConsoleDrawer = /* @__PURE__ */ __name(() => { + terminalVisible.value = !terminalVisible.value; + }, "toggleConsoleDrawer"); + watch( + () => taskStore.isRunningTerminalCommand, + (value2) => { + terminalVisible.value = value2; + } + ); + watch( + () => taskStore.isRunningInstallationFix, + (value2, oldValue) => { + if (!value2 && oldValue) completeValidation(false); + } + ); + onMounted(async () => { + electron2.Validation.onUpdate(processUpdate); + const update = await electron2.Validation.getStatus(); + processUpdate(update); + }); + onUnmounted(() => electron2.Validation.dispose()); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$7, { dark: "" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("div", _hoisted_2, [ + _cache[6] || (_cache[6] = createBaseVNode("h1", { class: "backspan pi-wrench text-4xl font-bold" }, "Maintenance", -1)), + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("span", _hoisted_4, [ + _cache[5] || (_cache[5] = createTextVNode(" Status: ")), + createVNode(_sfc_main$5, { + refreshing: unref(isRefreshing), + error: anyErrors.value + }, null, 8, ["refreshing", "error"]) + ]), + createBaseVNode("div", _hoisted_5, [ + createVNode(unref(script$1$), { + 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$1$), { + modelValue: filter2.value, + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => filter2.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_6, 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: filter2.value, + displayAsList: displayAsList.value, + isRefreshing: unref(isRefreshing) + }, null, 8, ["filter", "displayAsList", "isRefreshing"]), + createBaseVNode("div", _hoisted_7, [ + createVNode(unref(script$1e), { + label: "Console Logs", + icon: "pi pi-desktop", + "icon-pos": "left", + severity: "secondary", + onClick: toggleConsoleDrawer + }), + createVNode(unref(script$1e), { + label: "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, ["severity", "loading"]) + ]) + ]), + createVNode(unref(script$1c), { + visible: terminalVisible.value, + "onUpdate:visible": _cache[4] || (_cache[4] = ($event) => terminalVisible.value = $event), + header: "Terminal", + position: "bottom", + style: { "height": "max(50vh, 34rem)" } + }, { + default: withCtx(() => [ + createVNode(BaseTerminal, { onCreated: terminalCreated }) + ]), + _: 1 + }, 8, ["visible"]), + createVNode(unref(script$20)) + ]) + ]), + _: 1 + }); + }; + } +}); +const MaintenanceView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-74b78f7d"]]); +export { + MaintenanceView as default +}; +//# sourceMappingURL=MaintenanceView-D3drnrFc.js.map diff --git a/web/assets/ManualConfigurationView-enyqGo0M.js b/web/assets/ManualConfigurationView-CtZMj_n_.js similarity index 85% rename from web/assets/ManualConfigurationView-enyqGo0M.js rename to web/assets/ManualConfigurationView-CtZMj_n_.js index 43131f52c..59a79f8f5 100644 --- a/web/assets/ManualConfigurationView-enyqGo0M.js +++ b/web/assets/ManualConfigurationView-CtZMj_n_.js @@ -1,8 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, a3 as useI18n, ad as ref, t as onMounted, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, k as createVNode, j as unref, aK as script, bN as script$1, l as script$2, p as pushScopeId, q as popScopeId, bV as electronAPI, _ as _export_sfc } from "./index-QvfM__ze.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; -const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-dc169863"), n = n(), popScopeId(), n), "_withScopeId"); +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-CmVtQCAR.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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" }; @@ -72,4 +71,4 @@ const ManualConfigurationView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scop export { ManualConfigurationView as default }; -//# sourceMappingURL=ManualConfigurationView-enyqGo0M.js.map +//# sourceMappingURL=ManualConfigurationView-CtZMj_n_.js.map diff --git a/web/assets/MetricsConsentView-lSfLu4nr.js b/web/assets/MetricsConsentView-Df03LOI_.js similarity index 87% rename from web/assets/MetricsConsentView-lSfLu4nr.js rename to web/assets/MetricsConsentView-Df03LOI_.js index a53fdbb9c..db07875e9 100644 --- a/web/assets/MetricsConsentView-lSfLu4nr.js +++ b/web/assets/MetricsConsentView-Df03LOI_.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; -import { d as defineComponent, bz as useToast, a3 as useI18n, ad as ref, c2 as useRouter, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, aG as createTextVNode, k as createVNode, j as unref, cc as script, l as script$1, bV as electronAPI } from "./index-QvfM__ze.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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-CmVtQCAR.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" }; @@ -53,7 +53,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ createBaseVNode("p", _hoisted_5, [ createTextVNode(toDisplayString(_ctx.$t("install.moreInfo")) + " ", 1), createBaseVNode("a", _hoisted_6, toDisplayString(_ctx.$t("install.privacyPolicy")), 1), - createTextVNode(". ") + _cache[1] || (_cache[1] = createTextVNode(". ")) ]), createBaseVNode("div", _hoisted_7, [ createVNode(unref(script), { @@ -83,4 +83,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=MetricsConsentView-lSfLu4nr.js.map +//# sourceMappingURL=MetricsConsentView-Df03LOI_.js.map diff --git a/web/assets/NotSupportedView-Vc8_xWgH.js b/web/assets/NotSupportedView-BRtvC5Gx.js similarity index 64% rename from web/assets/NotSupportedView-Vc8_xWgH.js rename to web/assets/NotSupportedView-BRtvC5Gx.js index ebc712a47..20fd1a28e 100644 --- a/web/assets/NotSupportedView-Vc8_xWgH.js +++ b/web/assets/NotSupportedView-BRtvC5Gx.js @@ -1,22 +1,16 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, c2 as useRouter, r as resolveDirective, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, k as createVNode, j as unref, l as script, i as withDirectives, p as pushScopeId, q as popScopeId, _ as _export_sfc } from "./index-QvfM__ze.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.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-CmVtQCAR.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.js"; const _imports_0 = "" + new URL("images/sad_girl.png", import.meta.url).href; -const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-ebb20958"), n = n(), popScopeId(), n), "_withScopeId"); const _hoisted_1 = { class: "sad-container" }; -const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", { - class: "sad-girl", - src: _imports_0, - alt: "Sad girl illustration" -}, null, -1)); -const _hoisted_3 = { class: "no-drag sad-text flex items-center" }; -const _hoisted_4 = { class: "flex flex-col gap-8 p-8 min-w-110" }; -const _hoisted_5 = { class: "text-4xl font-bold text-red-500" }; -const _hoisted_6 = { class: "space-y-4" }; -const _hoisted_7 = { class: "text-xl" }; -const _hoisted_8 = { class: "list-disc list-inside space-y-1 text-neutral-800" }; -const _hoisted_9 = { class: "flex gap-4" }; +const _hoisted_2 = { class: "no-drag sad-text flex items-center" }; +const _hoisted_3 = { class: "flex flex-col gap-8 p-8 min-w-110" }; +const _hoisted_4 = { class: "text-4xl font-bold text-red-500" }; +const _hoisted_5 = { class: "space-y-4" }; +const _hoisted_6 = { class: "text-xl" }; +const _hoisted_7 = { class: "list-disc list-inside space-y-1 text-neutral-800" }; +const _hoisted_8 = { class: "flex gap-4" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "NotSupportedView", setup(__props) { @@ -38,18 +32,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ return openBlock(), createBlock(_sfc_main$1, null, { default: withCtx(() => [ createBaseVNode("div", _hoisted_1, [ - _hoisted_2, - createBaseVNode("div", _hoisted_3, [ - createBaseVNode("div", _hoisted_4, [ - createBaseVNode("h1", _hoisted_5, toDisplayString(_ctx.$t("notSupported.title")), 1), - createBaseVNode("div", _hoisted_6, [ - createBaseVNode("p", _hoisted_7, toDisplayString(_ctx.$t("notSupported.message")), 1), - createBaseVNode("ul", _hoisted_8, [ + _cache[0] || (_cache[0] = createBaseVNode("img", { + class: "sad-girl", + src: _imports_0, + alt: "Sad girl illustration" + }, null, -1)), + createBaseVNode("div", _hoisted_2, [ + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("h1", _hoisted_4, toDisplayString(_ctx.$t("notSupported.title")), 1), + createBaseVNode("div", _hoisted_5, [ + createBaseVNode("p", _hoisted_6, toDisplayString(_ctx.$t("notSupported.message")), 1), + createBaseVNode("ul", _hoisted_7, [ createBaseVNode("li", null, toDisplayString(_ctx.$t("notSupported.supportedDevices.macos")), 1), createBaseVNode("li", null, toDisplayString(_ctx.$t("notSupported.supportedDevices.windows")), 1) ]) ]), - createBaseVNode("div", _hoisted_9, [ + createBaseVNode("div", _hoisted_8, [ createVNode(unref(script), { label: _ctx.$t("notSupported.learnMore"), icon: "pi pi-github", @@ -85,4 +83,4 @@ const NotSupportedView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", " export { NotSupportedView as default }; -//# sourceMappingURL=NotSupportedView-Vc8_xWgH.js.map +//# sourceMappingURL=NotSupportedView-BRtvC5Gx.js.map diff --git a/web/assets/NotSupportedView-DQerxQzi.css b/web/assets/NotSupportedView-RFx6eCkN.css similarity index 87% rename from web/assets/NotSupportedView-DQerxQzi.css rename to web/assets/NotSupportedView-RFx6eCkN.css index 3b90d2796..594783813 100644 --- a/web/assets/NotSupportedView-DQerxQzi.css +++ b/web/assets/NotSupportedView-RFx6eCkN.css @@ -1,9 +1,11 @@ -.sad-container[data-v-ebb20958] { +.sad-container { +&[data-v-ebb20958] { display: grid; align-items: center; justify-content: space-evenly; grid-template-columns: 25rem 1fr; +} &[data-v-ebb20958] > * { grid-row: 1; } diff --git a/web/assets/ServerConfigPanel-B-w0HFlz.js b/web/assets/ServerConfigPanel-C2nrpEEV.js similarity index 86% rename from web/assets/ServerConfigPanel-B-w0HFlz.js rename to web/assets/ServerConfigPanel-C2nrpEEV.js index d00cf672a..4993d68e5 100644 --- a/web/assets/ServerConfigPanel-B-w0HFlz.js +++ b/web/assets/ServerConfigPanel-C2nrpEEV.js @@ -1,25 +1,23 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { m as createBaseVNode, o as openBlock, f as createElementBlock, a0 as markRaw, d as defineComponent, a as useSettingStore, aS as storeToRefs, a7 as watch, cW as useCopyToClipboard, a3 as useI18n, J as createBlock, P as withCtx, j as unref, c6 as script, Z as toDisplayString, I as renderList, H as Fragment, k as createVNode, l as script$1, L as createCommentVNode, c4 as script$2, cX as FormItem, cw as _sfc_main$1, bV as electronAPI } from "./index-QvfM__ze.js"; -import { u as useServerConfigStore } from "./serverConfigStore-DCme3xlV.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, dy 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, dz as FormItem, dn as _sfc_main$1, b5 as electronAPI } from "./index-CmVtQCAR.js"; +import { u as useServerConfigStore } from "./serverConfigStore-BUvaGcxp.js"; const _hoisted_1$1 = { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em" }; -const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", { - fill: "none", - stroke: "currentColor", - "stroke-linecap": "round", - "stroke-linejoin": "round", - "stroke-width": "2", - d: "m4 17l6-6l-6-6m8 14h8" -}, null, -1); -const _hoisted_3$1 = [ - _hoisted_2$1 -]; function render(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$1, [..._hoisted_3$1]); + return openBlock(), createElementBlock("svg", _hoisted_1$1, _cache[0] || (_cache[0] = [ + createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "m4 17l6-6l-6-6m8 14h8" + }, null, -1) + ])); } __name(render, "render"); const __unplugin_components_0 = markRaw({ name: "lucide-terminal", render }); @@ -155,4 +153,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ServerConfigPanel-B-w0HFlz.js.map +//# sourceMappingURL=ServerConfigPanel-C2nrpEEV.js.map diff --git a/web/assets/ServerStartView-48wfE1MS.js b/web/assets/ServerStartView-M5VckhgZ.js similarity index 85% rename from web/assets/ServerStartView-48wfE1MS.js rename to web/assets/ServerStartView-M5VckhgZ.js index 4b74f5ad1..c19fa837e 100644 --- a/web/assets/ServerStartView-48wfE1MS.js +++ b/web/assets/ServerStartView-M5VckhgZ.js @@ -1,8 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, a3 as useI18n, ad as ref, c7 as ProgressStatus, t as onMounted, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, aG as createTextVNode, Z as toDisplayString, j as unref, f as createElementBlock, L as createCommentVNode, k as createVNode, l as script, i as withDirectives, v as vShow, c8 as BaseTerminal, p as pushScopeId, q as popScopeId, bV as electronAPI, _ as _export_sfc } from "./index-QvfM__ze.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; -const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-4140d62b"), n = n(), popScopeId(), n), "_withScopeId"); +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-CmVtQCAR.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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 }; @@ -98,4 +97,4 @@ const ServerStartView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { ServerStartView as default }; -//# sourceMappingURL=ServerStartView-48wfE1MS.js.map +//# sourceMappingURL=ServerStartView-M5VckhgZ.js.map diff --git a/web/assets/UserSelectView-CXmVKOeK.js b/web/assets/UserSelectView-DNnNy-AZ.js similarity index 72% rename from web/assets/UserSelectView-CXmVKOeK.js rename to web/assets/UserSelectView-DNnNy-AZ.js index 88b4d3f3d..88736e455 100644 --- a/web/assets/UserSelectView-CXmVKOeK.js +++ b/web/assets/UserSelectView-DNnNy-AZ.js @@ -1,18 +1,17 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, aX as useUserStore, c2 as useRouter, ad as ref, c as computed, t as onMounted, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, k as createVNode, c3 as withKeys, j as unref, ax as script, c4 as script$1, c5 as script$2, c6 as script$3, aG as createTextVNode, L as createCommentVNode, l as script$4 } from "./index-QvfM__ze.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.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-CmVtQCAR.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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" }; -const _hoisted_2 = /* @__PURE__ */ createBaseVNode("h1", { class: "my-2.5 mb-7 font-normal" }, "ComfyUI", -1); -const _hoisted_3 = { class: "flex w-full flex-col items-center" }; -const _hoisted_4 = { class: "flex w-full flex-col gap-2" }; -const _hoisted_5 = { for: "new-user-input" }; -const _hoisted_6 = { class: "flex w-full flex-col gap-2" }; -const _hoisted_7 = { for: "existing-user-select" }; -const _hoisted_8 = { class: "mt-5" }; +const _hoisted_2 = { class: "flex w-full flex-col items-center" }; +const _hoisted_3 = { class: "flex w-full flex-col gap-2" }; +const _hoisted_4 = { for: "new-user-input" }; +const _hoisted_5 = { class: "flex w-full flex-col gap-2" }; +const _hoisted_6 = { for: "existing-user-select" }; +const _hoisted_7 = { class: "mt-5" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "UserSelectView", setup(__props) { @@ -47,10 +46,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ return openBlock(), createBlock(_sfc_main$1, { dark: "" }, { default: withCtx(() => [ createBaseVNode("main", _hoisted_1, [ - _hoisted_2, - createBaseVNode("div", _hoisted_3, [ - createBaseVNode("div", _hoisted_4, [ - createBaseVNode("label", _hoisted_5, toDisplayString(_ctx.$t("userSelect.newUser")) + ":", 1), + _cache[2] || (_cache[2] = createBaseVNode("h1", { class: "my-2.5 mb-7 font-normal" }, "ComfyUI", -1)), + createBaseVNode("div", _hoisted_2, [ + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("label", _hoisted_4, toDisplayString(_ctx.$t("userSelect.newUser")) + ":", 1), createVNode(unref(script), { id: "new-user-input", modelValue: newUsername.value, @@ -60,8 +59,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ }, null, 8, ["modelValue", "placeholder"]) ]), createVNode(unref(script$1)), - createBaseVNode("div", _hoisted_6, [ - createBaseVNode("label", _hoisted_7, toDisplayString(_ctx.$t("userSelect.existingUser")) + ":", 1), + createBaseVNode("div", _hoisted_5, [ + createBaseVNode("label", _hoisted_6, toDisplayString(_ctx.$t("userSelect.existingUser")) + ":", 1), createVNode(unref(script$2), { modelValue: selectedUser.value, "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedUser.value = $event), @@ -82,7 +81,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ _: 1 })) : createCommentVNode("", true) ]), - createBaseVNode("footer", _hoisted_8, [ + createBaseVNode("footer", _hoisted_7, [ createVNode(unref(script$4), { label: _ctx.$t("userSelect.next"), onClick: login @@ -99,4 +98,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=UserSelectView-CXmVKOeK.js.map +//# sourceMappingURL=UserSelectView-DNnNy-AZ.js.map diff --git a/web/assets/WelcomeView-C8whKl15.js b/web/assets/WelcomeView-Nvn1jaCx.js similarity index 73% rename from web/assets/WelcomeView-C8whKl15.js rename to web/assets/WelcomeView-Nvn1jaCx.js index 7625ec43b..75b0d677a 100644 --- a/web/assets/WelcomeView-C8whKl15.js +++ b/web/assets/WelcomeView-Nvn1jaCx.js @@ -1,8 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, c2 as useRouter, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, k as createVNode, j as unref, l as script, p as pushScopeId, q as popScopeId, _ as _export_sfc } from "./index-QvfM__ze.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; -const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-7dfaf74c"), n = n(), popScopeId(), n), "_withScopeId"); +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-CmVtQCAR.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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({ @@ -37,4 +36,4 @@ const WelcomeView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data- export { WelcomeView as default }; -//# sourceMappingURL=WelcomeView-C8whKl15.js.map +//# sourceMappingURL=WelcomeView-Nvn1jaCx.js.map diff --git a/web/assets/index-je62U6DH.js b/web/assets/index-BPn8eYlx.js similarity index 98% rename from web/assets/index-je62U6DH.js rename to web/assets/index-BPn8eYlx.js index 6acbfcc2c..8adb2181b 100644 --- a/web/assets/index-je62U6DH.js +++ b/web/assets/index-BPn8eYlx.js @@ -1,6 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { ci as ComfyDialog, cj as $el, ck as ComfyApp, h as app, a5 as LiteGraph, bl as LGraphCanvas, cl as useExtensionService, cm as processDynamicPrompt, bT as isElectron, bV as electronAPI, bW as useDialogService, cn as t, co as DraggableList, bA as useToastStore, aj as LGraphNode, cp as applyTextReplacements, cq as ComfyWidgets, cr as addValueControlWidgets, a8 as useNodeDefStore, cs as serialise, ct as deserialiseAndCreate, bh as api, a as useSettingStore, ai as LGraphGroup, af as nextTick, bO as lodashExports, bg as setStorageValue, bb as getStorageValue } from "./index-QvfM__ze.js"; +import { da as ComfyDialog, db as $el, dc as ComfyApp, h as app, M as LiteGraph, aF as LGraphCanvas, dd as useExtensionService, de as processDynamicPrompt, b4 as isElectron, b5 as electronAPI, b as useWorkflowStore, bu as checkMirrorReachable, b7 as useDialogService, bc as t, df as DraggableList, aS as useToastStore, $ as LGraphNode, dg as applyTextReplacements, dh as ComfyWidgets, di as addValueControlWidgets, P as useNodeDefStore, dj as serialise, dk as deserialiseAndCreate, aH as api, a as useSettingStore, Z as LGraphGroup, W as nextTick, b0 as lodashExports, aK as setStorageValue, aI as getStorageValue } from "./index-CmVtQCAR.js"; +import { P as PYTHON_MIRROR } from "./uvMirrors-B-HKMf6X.js"; class ClipspaceDialog extends ComfyDialog { static { __name(this, "ClipspaceDialog"); @@ -422,6 +423,7 @@ app.registerExtension({ if (!isElectron()) return; const electronAPI$1 = electronAPI(); const desktopAppVersion = await electronAPI$1.getElectronVersion(); + const workflowStore = useWorkflowStore(); const onChangeRestartApp = /* @__PURE__ */ __name((newValue, oldValue) => { if (oldValue !== void 0 && newValue !== oldValue) { electronAPI$1.restartApp("Restart ComfyUI to apply changes.", 1500); @@ -450,15 +452,49 @@ app.registerExtension({ id: "Comfy-Desktop.WindowStyle", category: ["Comfy-Desktop", "General", "Window Style"], name: "Window Style", - tooltip: "Choose custom option to hide the system title bar", + tooltip: "Custom: Replace the system title bar with ComfyUI's Top menu", type: "combo", experimental: true, defaultValue: "default", options: ["default", "custom"], onChange: /* @__PURE__ */ __name((newValue, oldValue) => { + if (!oldValue) return; electronAPI$1.Config.setWindowStyle(newValue); - onChangeRestartApp(newValue, oldValue); }, "onChange") + }, + { + id: "Comfy-Desktop.UV.PythonInstallMirror", + name: "Python Install Mirror", + tooltip: `Managed Python installations are downloaded from the Astral python-build-standalone project. This variable can be set to a mirror URL to use a different source for Python installations. The provided URL will replace https://github.com/astral-sh/python-build-standalone/releases/download in, e.g., https://github.com/astral-sh/python-build-standalone/releases/download/20240713/cpython-3.12.4%2B20240713-aarch64-apple-darwin-install_only.tar.gz. Distributions can be read from a local directory by using the file:// URL scheme.`, + type: "url", + defaultValue: "", + attrs: { + validateUrlFn(mirror) { + return checkMirrorReachable( + mirror + PYTHON_MIRROR.validationPathSuffix + ); + } + } + }, + { + id: "Comfy-Desktop.UV.PypiInstallMirror", + name: "Pypi Install Mirror", + tooltip: `Default pip install mirror`, + type: "url", + defaultValue: "", + attrs: { + validateUrlFn: checkMirrorReachable + } + }, + { + id: "Comfy-Desktop.UV.TorchInstallMirror", + name: "Torch Install Mirror", + tooltip: `Pip install mirror for pytorch`, + type: "url", + defaultValue: "", + attrs: { + validateUrlFn: checkMirrorReachable + } } ], commands: [ @@ -518,14 +554,6 @@ app.registerExtension({ electronAPI$1.openDevTools(); } }, - { - id: "Comfy-Desktop.OpenFeedbackPage", - label: "Feedback", - icon: "pi pi-envelope", - function() { - window.open("https://forum.comfy.org/c/v1-feedback/", "_blank"); - } - }, { id: "Comfy-Desktop.OpenUserGuide", label: "Desktop User Guide", @@ -554,15 +582,28 @@ app.registerExtension({ function() { electronAPI$1.restartApp(); } + }, + { + id: "Comfy-Desktop.Quit", + label: "Quit", + icon: "pi pi-sign-out", + async function() { + if (workflowStore.modifiedWorkflows.length > 0) { + const confirmed = await useDialogService().confirm({ + message: t("desktopMenu.confirmQuit"), + title: t("desktopMenu.quit"), + type: "default" + }); + if (!confirmed) return; + } + electronAPI$1.quit(); + } } ], menuCommands: [ { path: ["Help"], - commands: [ - "Comfy-Desktop.OpenUserGuide", - "Comfy-Desktop.OpenFeedbackPage" - ] + commands: ["Comfy-Desktop.OpenUserGuide"] }, { path: ["Help"], @@ -584,6 +625,15 @@ app.registerExtension({ commands: ["Comfy-Desktop.Reinstall"] } ], + keybindings: [ + { + commandId: "Workspace.CloseWorkflow", + combo: { + key: "w", + ctrl: true + } + } + ], aboutPageBadges: [ { label: "ComfyUI_desktop v" + desktopAppVersion, @@ -1631,7 +1681,25 @@ app.registerExtension({ }; nodeType.prototype.getExtraMenuOptions = function(_, options) { const r = origGetExtraMenuOptions ? origGetExtraMenuOptions.apply(this, arguments) : void 0; + const getPointerCanvasPos = /* @__PURE__ */ __name(() => { + const pos = this.graph?.list_of_graphcanvas?.at(0)?.graph_mouse; + return pos ? { canvasX: pos[0], canvasY: pos[1] } : void 0; + }, "getPointerCanvasPos"); if (this.widgets) { + const { canvasX, canvasY } = getPointerCanvasPos(); + const widget = this.getWidgetOnPos(canvasX, canvasY); + if (widget && widget.type !== CONVERTED_TYPE) { + const config = getConfig.call(this, widget.name) ?? [ + widget.type, + widget.options || {} + ]; + if (isConvertibleWidget(widget, config)) { + options.push({ + content: `Convert ${widget.name} to input`, + callback: /* @__PURE__ */ __name(() => convertToInput(this, widget, config) && false, "callback") + }); + } + } let toInput = []; let toWidget = []; for (const w of this.widgets) { @@ -2126,14 +2194,22 @@ class GroupNodeConfig { let name = customConfig?.name ?? node.inputs?.find((inp) => inp.name === inputName)?.label ?? inputName; let key = name; let prefix = ""; - if (node.type === "PrimitiveNode" && node.title || name in seenInputs) { + seenInputs[key] = (seenInputs[key] ?? 0) + 1; + if (node.type === "PrimitiveNode" && node.title || seenInputs[name] > 1) { prefix = `${node.title ?? node.type} `; key = name = `${prefix}${inputName}`; - if (name in seenInputs) { - name = `${prefix}${seenInputs[name]} ${inputName}`; + seenInputs[name] = seenInputs[name] ?? 0; + let finalName; + if (seenInputs[name] > 0) { + prefix = `${node.title ?? node.type} `; + finalName = `${prefix} ${seenInputs[name] + 1} ${inputName}`; + } else { + prefix = `${node.title ?? node.type} `; + finalName = `${prefix}${inputName}`; } + seenInputs[name]++; + this.nodeDef.input.required[finalName] = config; } - seenInputs[key] = (seenInputs[key] ?? 1) + 1; if (inputName === "seed" || inputName === "noise_seed") { if (!extra) extra = {}; extra.control_after_generate = `${prefix}control_after_generate`; @@ -2307,23 +2383,20 @@ class GroupNodeConfig { }; this.nodeDef.output.push(def.output[outputId]); this.nodeDef.output_is_list.push(def.output_is_list[outputId]); - let label = customConfig?.name; + let label = customConfig?.name ?? // If no custom name, check if the definition provides an output name + def.output_name?.[outputId] ?? // If neither exist, fallback to the raw output type (e.g., "FLOAT", "INT") + def.output[outputId]; if (!label) { - label = def.output_name?.[outputId] ?? def.output[outputId]; - const output = node.outputs.find((o) => o.name === label); - if (output?.label) { - label = output.label; - } + const output = node.outputs.find((o) => o.name); + label = output?.label ?? "UnnamedOutput"; } let name = label; - if (name in seenOutputs) { - const prefix = `${node.title ?? node.type} `; - name = `${prefix}${label}`; - if (name in seenOutputs) { - name = `${prefix}${node.index} ${label}`; - } + const prefix = `${node.title ?? node.type} `; + name = `${prefix}${label}`; + if (seenOutputs[name]) { + name = `${prefix} ${seenOutputs[name] + 1} ${label}`; } - seenOutputs[name] = 1; + seenOutputs[name] = (seenOutputs[name] ?? 0) + 1; this.nodeDef.output_name.push(name); } } @@ -3248,6 +3321,194 @@ app.registerExtension({ }; } }); +class Load3dUtils { + static { + __name(this, "Load3dUtils"); + } + static async uploadTempImage(imageData, prefix) { + const blob = await fetch(imageData).then((r) => r.blob()); + const name = `${prefix}_${Date.now()}.png`; + const file2 = new File([blob], name); + const body = new FormData(); + body.append("image", file2); + body.append("subfolder", "threed"); + body.append("type", "temp"); + const resp = await api.fetchApi("/upload/image", { + method: "POST", + body + }); + if (resp.status !== 200) { + const err2 = `Error uploading temp image: ${resp.status} - ${resp.statusText}`; + useToastStore().addAlert(err2); + throw new Error(err2); + } + return await resp.json(); + } + static async uploadFile(load3d, file2, fileInput) { + let uploadPath; + try { + const body = new FormData(); + body.append("image", file2); + body.append("subfolder", "3d"); + const resp = await api.fetchApi("/upload/image", { + method: "POST", + body + }); + if (resp.status === 200) { + const data = await resp.json(); + let path = data.name; + if (data.subfolder) path = data.subfolder + "/" + path; + uploadPath = path; + const modelUrl = api.apiURL( + this.getResourceURL(...this.splitFilePath(path), "input") + ); + await load3d.loadModel(modelUrl, file2.name); + const fileExt = file2.name.split(".").pop()?.toLowerCase(); + if (fileExt === "obj" && fileInput?.files) { + try { + const mtlFile = Array.from(fileInput.files).find( + (f) => f.name.toLowerCase().endsWith(".mtl") + ); + if (mtlFile) { + const mtlFormData = new FormData(); + mtlFormData.append("image", mtlFile); + mtlFormData.append("subfolder", "3d"); + await api.fetchApi("/upload/image", { + method: "POST", + body: mtlFormData + }); + } + } catch (mtlError) { + console.warn("Failed to upload MTL file:", mtlError); + } + } + } else { + useToastStore().addAlert(resp.status + " - " + resp.statusText); + } + } catch (error) { + console.error("Upload error:", error); + useToastStore().addAlert( + error instanceof Error ? error.message : "Upload failed" + ); + } + return uploadPath; + } + static splitFilePath(path) { + const folder_separator = path.lastIndexOf("/"); + if (folder_separator === -1) { + return ["", path]; + } + return [ + path.substring(0, folder_separator), + path.substring(folder_separator + 1) + ]; + } + static getResourceURL(subfolder, filename, type = "input") { + const params = [ + "filename=" + encodeURIComponent(filename), + "type=" + type, + "subfolder=" + subfolder, + app.getRandParam().substring(1) + ].join("&"); + return `/view?${params}`; + } +} +class Load3DConfiguration { + static { + __name(this, "Load3DConfiguration"); + } + constructor(load3d) { + this.load3d = load3d; + } + configure(loadFolder, modelWidget, material, lightIntensity, upDirection, fov2, cameraState, postModelUpdateFunc) { + this.setupModelHandling( + modelWidget, + loadFolder, + cameraState, + postModelUpdateFunc + ); + this.setupMaterial(material); + this.setupLighting(lightIntensity); + this.setupDirection(upDirection); + this.setupCamera(fov2); + this.setupDefaultProperties(); + } + setupModelHandling(modelWidget, loadFolder, cameraState, postModelUpdateFunc) { + const onModelWidgetUpdate = this.createModelUpdateHandler( + loadFolder, + cameraState, + postModelUpdateFunc + ); + if (modelWidget.value) { + onModelWidgetUpdate(modelWidget.value); + } + modelWidget.callback = onModelWidgetUpdate; + } + setupMaterial(material) { + material.callback = (value) => { + this.load3d.setMaterialMode(value); + }; + this.load3d.setMaterialMode( + material.value + ); + } + setupLighting(lightIntensity) { + lightIntensity.callback = (value) => { + this.load3d.setLightIntensity(value); + }; + this.load3d.setLightIntensity(lightIntensity.value); + } + setupDirection(upDirection) { + upDirection.callback = (value) => { + this.load3d.setUpDirection(value); + }; + this.load3d.setUpDirection( + upDirection.value + ); + } + setupCamera(fov2) { + fov2.callback = (value) => { + this.load3d.setFOV(value); + }; + this.load3d.setFOV(fov2.value); + } + setupDefaultProperties() { + const cameraType = this.load3d.loadNodeProperty( + "Camera Type", + "perspective" + ); + this.load3d.toggleCamera(cameraType); + const showGrid = this.load3d.loadNodeProperty("Show Grid", true); + this.load3d.toggleGrid(showGrid); + const bgColor = this.load3d.loadNodeProperty("Background Color", "#282828"); + this.load3d.setBackgroundColor(bgColor); + } + createModelUpdateHandler(loadFolder, cameraState, postModelUpdateFunc) { + let isFirstLoad = true; + return async (value) => { + if (!value) return; + const filename = value; + const modelUrl = api.apiURL( + Load3dUtils.getResourceURL( + ...Load3dUtils.splitFilePath(filename), + loadFolder + ) + ); + await this.load3d.loadModel(modelUrl, filename); + if (postModelUpdateFunc) { + postModelUpdateFunc(this.load3d); + } + if (isFirstLoad && cameraState && typeof cameraState === "object") { + try { + this.load3d.setCameraState(cameraState); + } catch (error) { + console.warn("Failed to restore camera state:", error); + } + isFirstLoad = false; + } + }; + } +} /** * @license * Copyright 2010-2024 Three.js Authors @@ -45950,76 +46211,6 @@ class STLLoader extends Loader { return isBinary(binData) ? parseBinary(binData) : parseASCII(ensureString(data)); } } -async function uploadTempImage(imageData, prefix) { - const blob = await fetch(imageData).then((r) => r.blob()); - const name = `${prefix}_${Date.now()}.png`; - const file2 = new File([blob], name); - const body = new FormData(); - body.append("image", file2); - body.append("subfolder", "threed"); - body.append("type", "temp"); - const resp = await api.fetchApi("/upload/image", { - method: "POST", - body - }); - if (resp.status !== 200) { - const err2 = `Error uploading temp image: ${resp.status} - ${resp.statusText}`; - useToastStore().addAlert(err2); - throw new Error(err2); - } - return await resp.json(); -} -__name(uploadTempImage, "uploadTempImage"); -async function uploadFile$1(load3d, file2, fileInput) { - let uploadPath; - try { - const body = new FormData(); - body.append("image", file2); - body.append("subfolder", "3d"); - const resp = await api.fetchApi("/upload/image", { - method: "POST", - body - }); - if (resp.status === 200) { - const data = await resp.json(); - let path = data.name; - if (data.subfolder) path = data.subfolder + "/" + path; - uploadPath = path; - const modelUrl = api.apiURL( - getResourceURL$1(...splitFilePath$1(path), "input") - ); - await load3d.loadModel(modelUrl, file2.name); - const fileExt = file2.name.split(".").pop()?.toLowerCase(); - if (fileExt === "obj" && fileInput?.files) { - try { - const mtlFile = Array.from(fileInput.files).find( - (f) => f.name.toLowerCase().endsWith(".mtl") - ); - if (mtlFile) { - const mtlFormData = new FormData(); - mtlFormData.append("image", mtlFile); - mtlFormData.append("subfolder", "3d"); - await api.fetchApi("/upload/image", { - method: "POST", - body: mtlFormData - }); - } - } catch (mtlError) { - console.warn("Failed to upload MTL file:", mtlError); - } - } - } else { - useToastStore().addAlert(resp.status + " - " + resp.statusText); - } - } catch (error) { - console.error("Upload error:", error); - useToastStore().addAlert( - error instanceof Error ? error.message : "Upload failed" - ); - } - return uploadPath; -} -__name(uploadFile$1, "uploadFile$1"); class Load3d { static { __name(this, "Load3d"); @@ -46049,10 +46240,12 @@ class Load3d { materialMode = "original"; currentUpDirection = "original"; originalRotation = null; - viewHelper; - viewHelperContainer; - cameraSwitcherContainer; - gridSwitcherContainer; + viewHelper = {}; + viewHelperContainer = {}; + cameraSwitcherContainer = {}; + gridSwitcherContainer = {}; + node = {}; + bgColorInput = {}; constructor(container) { this.scene = new Scene(); this.perspectiveCamera = new PerspectiveCamera(75, 1, 0.1, 1e3); @@ -46081,6 +46274,9 @@ class Load3d { this.renderer.domElement ); this.controls.enableDamping = true; + this.controls.addEventListener("end", () => { + this.storeNodeProperty("Camera Info", this.getCameraState()); + }); this.gltfLoader = new GLTFLoader(); this.objLoader = new OBJLoader(); this.mtlLoader = new MTLLoader(); @@ -46112,9 +46308,24 @@ class Load3d { this.createViewHelper(container); this.createGridSwitcher(container); this.createCameraSwitcher(container); + this.createColorPicker(container); this.handleResize(); this.startAnimation(); } + setNode(node) { + this.node = node; + } + storeNodeProperty(name, value) { + if (this.node) { + this.node.properties[name] = value; + } + } + loadNodeProperty(name, defaultValue) { + if (!this.node || !this.node.properties || !(name in this.node.properties)) { + return defaultValue; + } + return this.node.properties[name]; + } createViewHelper(container) { this.viewHelperContainer = document.createElement("div"); this.viewHelperContainer.style.position = "absolute"; @@ -46216,6 +46427,42 @@ class Load3d { this.cameraSwitcherContainer.appendChild(cameraIcon); container.appendChild(this.cameraSwitcherContainer); } + createColorPicker(container) { + const colorPickerContainer = document.createElement("div"); + colorPickerContainer.style.position = "absolute"; + colorPickerContainer.style.top = "53px"; + colorPickerContainer.style.left = "3px"; + colorPickerContainer.style.width = "20px"; + colorPickerContainer.style.height = "20px"; + colorPickerContainer.style.cursor = "pointer"; + colorPickerContainer.style.alignItems = "center"; + colorPickerContainer.style.justifyContent = "center"; + colorPickerContainer.title = "Background Color"; + const colorInput = document.createElement("input"); + colorInput.type = "color"; + colorInput.style.opacity = "0"; + colorInput.style.position = "absolute"; + colorInput.style.width = "100%"; + colorInput.style.height = "100%"; + colorInput.style.cursor = "pointer"; + const colorIcon = document.createElement("div"); + colorIcon.innerHTML = ` + + + + + + `; + colorInput.addEventListener("input", (event) => { + const color = event.target.value; + this.setBackgroundColor(color); + this.storeNodeProperty("Background Color", color); + }); + this.bgColorInput = colorInput; + colorPickerContainer.appendChild(colorInput); + colorPickerContainer.appendChild(colorIcon); + container.appendChild(colorPickerContainer); + } setFOV(fov2) { if (this.activeCamera === this.perspectiveCamera) { this.perspectiveCamera.fov = fov2; @@ -46234,7 +46481,6 @@ class Load3d { } setCameraState(state) { if (this.activeCamera !== (state.cameraType === "perspective" ? this.perspectiveCamera : this.orthographicCamera)) { - this.toggleCamera(state.cameraType); } this.activeCamera.position.copy(state.position); this.controls.target.copy(state.target); @@ -46414,6 +46660,7 @@ class Load3d { this.viewHelperContainer ); this.viewHelper.center = this.controls.target; + this.storeNodeProperty("Camera Type", this.getCurrentCameraType()); this.handleResize(); } getCurrentCameraType() { @@ -46422,6 +46669,7 @@ class Load3d { toggleGrid(showGrid) { if (this.gridHelper) { this.gridHelper.visible = showGrid; + this.storeNodeProperty("Show Grid", showGrid); } } setLightIntensity(intensity) { @@ -46447,6 +46695,9 @@ class Load3d { const delta = this.clock.getDelta(); if (this.viewHelper.animating) { this.viewHelper.update(delta); + if (!this.viewHelper.animating) { + this.storeNodeProperty("Camera Info", this.getCameraState()); + } } this.renderer.clear(); this.controls.update(); @@ -46724,6 +46975,9 @@ class Load3d { setBackgroundColor(color) { this.renderer.setClearColor(new Color(color)); this.renderer.render(this.scene, this.activeCamera); + if (this.bgColorInput) { + this.bgColorInput.value = color; + } } } class Load3dAnimation extends Load3d { @@ -46736,8 +46990,143 @@ class Load3dAnimation extends Load3d { selectedAnimationIndex = 0; isAnimationPlaying = false; animationSpeed = 1; + playPauseContainer = {}; + animationSelect = {}; + speedSelect = {}; constructor(container) { super(container); + this.createPlayPauseButton(container); + this.createAnimationList(container); + this.createSpeedSelect(container); + } + createAnimationList(container) { + this.animationSelect = document.createElement("select"); + Object.assign(this.animationSelect.style, { + position: "absolute", + top: "3px", + left: "50%", + transform: "translateX(15px)", + width: "90px", + height: "20px", + backgroundColor: "rgba(0, 0, 0, 0.3)", + color: "white", + border: "none", + borderRadius: "4px", + fontSize: "12px", + padding: "0 8px", + cursor: "pointer", + display: "none", + outline: "none" + }); + this.animationSelect.addEventListener("mouseenter", () => { + this.animationSelect.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; + }); + this.animationSelect.addEventListener("mouseleave", () => { + this.animationSelect.style.backgroundColor = "rgba(0, 0, 0, 0.3)"; + }); + this.animationSelect.addEventListener("change", (event) => { + const select = event.target; + this.updateSelectedAnimation(select.selectedIndex); + }); + container.appendChild(this.animationSelect); + } + updateAnimationList() { + this.animationSelect.innerHTML = ""; + this.animationClips.forEach((clip, index) => { + const option = document.createElement("option"); + option.value = index.toString(); + option.text = clip.name || `Animation ${index + 1}`; + option.selected = index === this.selectedAnimationIndex; + this.animationSelect.appendChild(option); + }); + } + createPlayPauseButton(container) { + this.playPauseContainer = document.createElement("div"); + this.playPauseContainer.style.position = "absolute"; + this.playPauseContainer.style.top = "3px"; + this.playPauseContainer.style.left = "50%"; + this.playPauseContainer.style.transform = "translateX(-50%)"; + this.playPauseContainer.style.width = "20px"; + this.playPauseContainer.style.height = "20px"; + this.playPauseContainer.style.cursor = "pointer"; + this.playPauseContainer.style.alignItems = "center"; + this.playPauseContainer.style.justifyContent = "center"; + const updateButtonState = /* @__PURE__ */ __name(() => { + const icon = this.playPauseContainer.querySelector("svg"); + if (icon) { + if (this.isAnimationPlaying) { + icon.innerHTML = ` + + `; + this.playPauseContainer.title = "Pause Animation"; + } else { + icon.innerHTML = ` + + `; + this.playPauseContainer.title = "Play Animation"; + } + } + }, "updateButtonState"); + const playIcon = document.createElement("div"); + playIcon.innerHTML = ` + + + + `; + this.playPauseContainer.addEventListener("mouseenter", () => { + this.playPauseContainer.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; + }); + this.playPauseContainer.addEventListener("mouseleave", () => { + this.playPauseContainer.style.backgroundColor = "transparent"; + }); + this.playPauseContainer.addEventListener("click", (event) => { + event.stopPropagation(); + this.toggleAnimation(); + updateButtonState(); + }); + this.playPauseContainer.appendChild(playIcon); + container.appendChild(this.playPauseContainer); + this.playPauseContainer.style.display = "none"; + } + createSpeedSelect(container) { + this.speedSelect = document.createElement("select"); + Object.assign(this.speedSelect.style, { + position: "absolute", + top: "3px", + left: "50%", + transform: "translateX(-75px)", + width: "60px", + height: "20px", + backgroundColor: "rgba(0, 0, 0, 0.3)", + color: "white", + border: "none", + borderRadius: "4px", + fontSize: "12px", + padding: "0 8px", + cursor: "pointer", + display: "none", + outline: "none" + }); + const speeds = [0.1, 0.5, 1, 1.5, 2]; + speeds.forEach((speed) => { + const option = document.createElement("option"); + option.value = speed.toString(); + option.text = `${speed}x`; + option.selected = speed === 1; + this.speedSelect.appendChild(option); + }); + this.speedSelect.addEventListener("mouseenter", () => { + this.speedSelect.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; + }); + this.speedSelect.addEventListener("mouseleave", () => { + this.speedSelect.style.backgroundColor = "rgba(0, 0, 0, 0.3)"; + }); + this.speedSelect.addEventListener("change", (event) => { + const select = event.target; + const newSpeed = parseFloat(select.value); + this.setAnimationSpeed(newSpeed); + }); + container.appendChild(this.speedSelect); } async setupModel(model) { await super.setupModel(model); @@ -46762,6 +47151,21 @@ class Load3dAnimation extends Load3d { this.updateSelectedAnimation(0); } } + if (this.animationClips.length > 0) { + this.playPauseContainer.style.display = "block"; + } else { + this.playPauseContainer.style.display = "none"; + } + if (this.animationClips.length > 0) { + this.playPauseContainer.style.display = "block"; + this.animationSelect.style.display = "block"; + this.speedSelect.style.display = "block"; + this.updateAnimationList(); + } else { + this.playPauseContainer.style.display = "none"; + this.animationSelect.style.display = "none"; + this.speedSelect.style.display = "none"; + } } setAnimationSpeed(speed) { this.animationSpeed = speed; @@ -46793,6 +47197,7 @@ class Load3dAnimation extends Load3d { action.paused = true; } this.animationActions = [action]; + this.updateAnimationList(); } clearModel() { if (this.currentAnimation) { @@ -46807,6 +47212,14 @@ class Load3dAnimation extends Load3d { this.isAnimationPlaying = false; this.animationSpeed = 1; super.clearModel(); + if (this.animationSelect) { + this.animationSelect.style.display = "none"; + this.animationSelect.innerHTML = ""; + } + if (this.speedSelect) { + this.speedSelect.style.display = "none"; + this.speedSelect.value = "1"; + } } getAnimationNames() { return this.animationClips.map((clip, index) => { @@ -46819,6 +47232,16 @@ class Load3dAnimation extends Load3d { return; } this.isAnimationPlaying = play ?? !this.isAnimationPlaying; + const icon = this.playPauseContainer.querySelector("svg"); + if (icon) { + if (this.isAnimationPlaying) { + icon.innerHTML = ''; + this.playPauseContainer.title = "Pause Animation"; + } else { + icon.innerHTML = ''; + this.playPauseContainer.title = "Play Animation"; + } + } this.animationActions.forEach((action) => { if (this.isAnimationPlaying) { action.paused = false; @@ -46842,101 +47265,16 @@ class Load3dAnimation extends Load3d { this.renderer.render(this.scene, this.activeCamera); if (this.viewHelper.animating) { this.viewHelper.update(delta); + if (!this.viewHelper.animating) { + this.storeNodeProperty("Camera Info", this.getCameraState()); + } } this.viewHelper.render(this.renderer); }, "animate"); animate(); } } -function splitFilePath$1(path) { - const folder_separator = path.lastIndexOf("/"); - if (folder_separator === -1) { - return ["", path]; - } - return [ - path.substring(0, folder_separator), - path.substring(folder_separator + 1) - ]; -} -__name(splitFilePath$1, "splitFilePath$1"); -function getResourceURL$1(subfolder, filename, type = "input") { - const params = [ - "filename=" + encodeURIComponent(filename), - "type=" + type, - "subfolder=" + subfolder, - app.getRandParam().substring(1) - ].join("&"); - return `/view?${params}`; -} -__name(getResourceURL$1, "getResourceURL$1"); -const load3dCSSCLASS = `display: flex; - flex-direction: column; - background: transparent; - flex: 1; - position: relative; - overflow: hidden;`; -const load3dCanvasCSSCLASS = `display: flex; - width: 100% !important; - height: 100% !important;`; const containerToLoad3D = /* @__PURE__ */ new Map(); -function configureLoad3D(load3d, loadFolder, modelWidget, material, bgColor, lightIntensity, upDirection, fov2, cameraState, postModelUpdateFunc) { - const createModelUpdateHandler = /* @__PURE__ */ __name(() => { - let isFirstLoad = true; - return async (value) => { - if (!value) return; - const filename = value; - const modelUrl = api.apiURL( - getResourceURL$1(...splitFilePath$1(filename), loadFolder) - ); - await load3d.loadModel(modelUrl, filename); - load3d.setMaterialMode( - material.value - ); - load3d.setUpDirection( - upDirection.value - ); - if (postModelUpdateFunc) { - postModelUpdateFunc(load3d); - } - if (isFirstLoad && cameraState && typeof cameraState === "object") { - try { - load3d.setCameraState(cameraState); - } catch (error) { - console.warn("Failed to restore camera state:", error); - } - isFirstLoad = false; - } - }; - }, "createModelUpdateHandler"); - const onModelWidgetUpdate = createModelUpdateHandler(); - if (modelWidget.value) { - onModelWidgetUpdate(modelWidget.value); - } - modelWidget.callback = onModelWidgetUpdate; - material.callback = (value) => { - load3d.setMaterialMode(value); - }; - load3d.setMaterialMode(material.value); - load3d.setBackgroundColor(bgColor.value); - bgColor.callback = (value) => { - load3d.setBackgroundColor(value); - }; - load3d.setLightIntensity(lightIntensity.value); - lightIntensity.callback = (value) => { - load3d.setLightIntensity(value); - }; - upDirection.callback = (value) => { - load3d.setUpDirection(value); - }; - load3d.setUpDirection( - upDirection.value - ); - fov2.callback = (value) => { - load3d.setFOV(value); - }; - load3d.setFOV(fov2.value); -} -__name(configureLoad3D, "configureLoad3D"); app.registerExtension({ name: "Comfy.Load3D", getCustomWidgets(app2) { @@ -46974,7 +47312,7 @@ app.registerExtension({ const modelWidget = node.widgets?.find( (w) => w.name === "model_file" ); - const uploadPath = await uploadFile$1( + const uploadPath = await Load3dUtils.uploadFile( load3d, fileInput.files[0], fileInput @@ -47008,19 +47346,6 @@ app.registerExtension({ } }; }, - init() { - const style = document.createElement("style"); - style.innerText = ` - .comfy-load-3d { - ${load3dCSSCLASS} - } - - .comfy-load-3d canvas { - ${load3dCanvasCSSCLASS} - } - `; - document.head.appendChild(style); - }, async nodeCreated(node) { if (node.constructor.comfyClass !== "Load3D") return; const [oldWidth, oldHeight] = node.size; @@ -47029,11 +47354,11 @@ app.registerExtension({ const sceneWidget = node.widgets.find((w2) => w2.name === "image"); const container = sceneWidget.element; const load3d = containerToLoad3D.get(container.id); + load3d.setNode(node); const modelWidget = node.widgets.find( (w2) => w2.name === "model_file" ); const material = node.widgets.find((w2) => w2.name === "material"); - const bgColor = node.widgets.find((w2) => w2.name === "bg_color"); const lightIntensity = node.widgets.find( (w2) => w2.name === "light_intensity" ); @@ -47041,22 +47366,12 @@ app.registerExtension({ (w2) => w2.name === "up_direction" ); const fov2 = node.widgets.find((w2) => w2.name === "fov"); - let cameraState; - try { - const cameraInfo = node.properties["Camera Info"]; - if (cameraInfo && typeof cameraInfo === "string" && cameraInfo.trim() !== "") { - cameraState = JSON.parse(cameraInfo); - } - } catch (error) { - console.warn("Failed to parse camera state:", error); - cameraState = void 0; - } - configureLoad3D( - load3d, + let cameraState = node.properties["Camera Info"]; + const config = new Load3DConfiguration(load3d); + config.configure( "input", modelWidget, material, - bgColor, lightIntensity, upDirection, fov2, @@ -47065,14 +47380,14 @@ app.registerExtension({ const w = node.widgets.find((w2) => w2.name === "width"); const h = node.widgets.find((w2) => w2.name === "height"); sceneWidget.serializeValue = async () => { - node.properties["Camera Info"] = JSON.stringify(load3d.getCameraState()); + node.properties["Camera Info"] = load3d.getCameraState(); const { scene: imageData, mask: maskData } = await load3d.captureScene( w.value, h.value ); const [data, dataMask] = await Promise.all([ - uploadTempImage(imageData, "scene"), - uploadTempImage(maskData, "scene_mask") + Load3dUtils.uploadTempImage(imageData, "scene"), + Load3dUtils.uploadTempImage(maskData, "scene_mask") ]); return { image: `threed/${data.name} [temp]`, @@ -47120,7 +47435,7 @@ app.registerExtension({ const modelWidget = node.widgets?.find( (w) => w.name === "model_file" ); - const uploadPath = await uploadFile$1( + const uploadPath = await Load3dUtils.uploadFile( load3d, fileInput.files[0], fileInput @@ -47147,70 +47462,13 @@ app.registerExtension({ if (modelWidget) { modelWidget.value = ""; } - const animationSelect2 = node.widgets?.find( - (w) => w.name === "animation" - ); - if (animationSelect2) { - animationSelect2.options.values = []; - animationSelect2.value = ""; - } - const speedSelect = node.widgets?.find( - (w) => w.name === "animation_speed" - ); - if (speedSelect) { - speedSelect.value = "1"; - } }); - node.addWidget( - "button", - "Play/Pause Animation", - "toggle_animation", - () => { - load3d.toggleAnimation(); - } - ); - const animationSelect = node.addWidget( - "combo", - "animation", - "", - () => "", - { - values: [] - } - ); - animationSelect.callback = (value) => { - const names = load3d.getAnimationNames(); - const index = names.indexOf(value); - if (index !== -1) { - const wasPlaying = load3d.isAnimationPlaying; - if (wasPlaying) { - load3d.toggleAnimation(false); - } - load3d.updateSelectedAnimation(index); - if (wasPlaying) { - load3d.toggleAnimation(true); - } - } - }; return { widget: node.addDOMWidget(inputName, "LOAD_3D_ANIMATION", container) }; } }; }, - init() { - const style = document.createElement("style"); - style.innerText = ` - .comfy-load-3d-animation { - ${load3dCSSCLASS} - } - - .comfy-load-3d-animation canvas { - ${load3dCanvasCSSCLASS} - } - `; - document.head.appendChild(style); - }, async nodeCreated(node) { if (node.constructor.comfyClass !== "Load3DAnimation") return; const [oldWidth, oldHeight] = node.size; @@ -47219,71 +47477,41 @@ app.registerExtension({ const sceneWidget = node.widgets.find((w2) => w2.name === "image"); const container = sceneWidget.element; const load3d = containerToLoad3D.get(container.id); + load3d.setNode(node); const modelWidget = node.widgets.find( (w2) => w2.name === "model_file" ); const material = node.widgets.find((w2) => w2.name === "material"); - const bgColor = node.widgets.find((w2) => w2.name === "bg_color"); const lightIntensity = node.widgets.find( (w2) => w2.name === "light_intensity" ); const upDirection = node.widgets.find( (w2) => w2.name === "up_direction" ); - const speedSelect = node.widgets.find( - (w2) => w2.name === "animation_speed" - ); - speedSelect.callback = (value) => { - const load3d2 = containerToLoad3D.get(container.id); - if (load3d2) { - load3d2.setAnimationSpeed(parseFloat(value)); - } - }; const fov2 = node.widgets.find((w2) => w2.name === "fov"); - let cameraState; - try { - const cameraInfo = node.properties["Camera Info"]; - if (cameraInfo && typeof cameraInfo === "string" && cameraInfo.trim() !== "") { - cameraState = JSON.parse(cameraInfo); - } - } catch (error) { - console.warn("Failed to parse camera state:", error); - cameraState = void 0; - } - configureLoad3D( - load3d, + let cameraState = node.properties["Camera Info"]; + const config = new Load3DConfiguration(load3d); + config.configure( "input", modelWidget, material, - bgColor, lightIntensity, upDirection, fov2, - cameraState, - (load3d2) => { - const animationLoad3d = load3d2; - const names = animationLoad3d.getAnimationNames(); - const animationSelect = node.widgets.find( - (w2) => w2.name === "animation" - ); - animationSelect.options.values = names; - if (names.length) { - animationSelect.value = names[0]; - } - } + cameraState ); const w = node.widgets.find((w2) => w2.name === "width"); const h = node.widgets.find((w2) => w2.name === "height"); sceneWidget.serializeValue = async () => { - node.properties["Camera Info"] = JSON.stringify(load3d.getCameraState()); + node.properties["Camera Info"] = load3d.getCameraState(); load3d.toggleAnimation(false); const { scene: imageData, mask: maskData } = await load3d.captureScene( w.value, h.value ); const [data, dataMask] = await Promise.all([ - uploadTempImage(imageData, "scene"), - uploadTempImage(maskData, "scene_mask") + Load3dUtils.uploadTempImage(imageData, "scene"), + Load3dUtils.uploadTempImage(maskData, "scene_mask") ]); return { image: `threed/${data.name} [temp]`, @@ -47333,19 +47561,6 @@ app.registerExtension({ } }; }, - init() { - const style = document.createElement("style"); - style.innerText = ` - .comfy-preview-3d { - ${load3dCSSCLASS} - } - - .comfy-preview-3d canvas { - ${load3dCanvasCSSCLASS} - } - `; - document.head.appendChild(style); - }, async nodeCreated(node) { if (node.constructor.comfyClass !== "Preview3D") return; const [oldWidth, oldHeight] = node.size; @@ -47354,11 +47569,11 @@ app.registerExtension({ const sceneWidget = node.widgets.find((w) => w.name === "image"); const container = sceneWidget.element; const load3d = containerToLoad3D.get(container.id); + load3d.setNode(node); const modelWidget = node.widgets.find( (w) => w.name === "model_file" ); const material = node.widgets.find((w) => w.name === "material"); - const bgColor = node.widgets.find((w) => w.name === "bg_color"); const lightIntensity = node.widgets.find( (w) => w.name === "light_intensity" ); @@ -47376,12 +47591,100 @@ app.registerExtension({ useToastStore().addAlert(msg); } modelWidget.value = filePath.replaceAll("\\", "/"); - configureLoad3D( - load3d, + const config = new Load3DConfiguration(load3d); + config.configure( + "output", + modelWidget, + material, + lightIntensity, + upDirection, + fov2 + ); + }; + } +}); +app.registerExtension({ + name: "Comfy.Preview3DAnimation", + async beforeRegisterNodeDef(nodeType, nodeData) { + if ( + // @ts-expect-error ComfyNode + ["Preview3DAnimation"].includes(nodeType.comfyClass) + ) { + nodeData.input.required.image = ["PREVIEW_3D_ANIMATION"]; + } + }, + getCustomWidgets(app2) { + return { + PREVIEW_3D_ANIMATION(node, inputName) { + let load3dNode = app2.graph._nodes.filter( + (wi) => wi.type == "Preview3DAnimation" + ); + const container = document.createElement("div"); + container.id = `comfy-preview-3d-animation-${load3dNode.length}`; + container.classList.add("comfy-preview-3d-animation"); + const load3d = new Load3dAnimation(container); + containerToLoad3D.set(container.id, load3d); + node.onResize = function() { + if (load3d) { + load3d.handleResize(); + } + }; + const origOnRemoved = node.onRemoved; + node.onRemoved = function() { + if (load3d) { + load3d.remove(); + } + containerToLoad3D.delete(container.id); + origOnRemoved?.apply(this, []); + }; + node.onDrawBackground = function() { + load3d.renderer.domElement.hidden = this.flags.collapsed ?? false; + }; + return { + widget: node.addDOMWidget( + inputName, + "PREVIEW_3D_ANIMATION", + container + ) + }; + } + }; + }, + async nodeCreated(node) { + if (node.constructor.comfyClass !== "Preview3DAnimation") return; + const [oldWidth, oldHeight] = node.size; + node.setSize([Math.max(oldWidth, 300), Math.max(oldHeight, 550)]); + await nextTick(); + const sceneWidget = node.widgets.find((w) => w.name === "image"); + const container = sceneWidget.element; + const load3d = containerToLoad3D.get(container.id); + load3d.setNode(node); + const modelWidget = node.widgets.find( + (w) => w.name === "model_file" + ); + const material = node.widgets.find((w) => w.name === "material"); + const lightIntensity = node.widgets.find( + (w) => w.name === "light_intensity" + ); + const upDirection = node.widgets.find( + (w) => w.name === "up_direction" + ); + const fov2 = node.widgets.find((w) => w.name === "fov"); + const onExecuted = node.onExecuted; + node.onExecuted = function(message) { + onExecuted?.apply(this, arguments); + let filePath = message.model_file[0]; + if (!filePath) { + const msg = "unable to get model file path."; + console.error(msg); + useToastStore().addAlert(msg); + } + modelWidget.value = filePath.replaceAll("\\", "/"); + const config = new Load3DConfiguration(load3d); + config.configure( "output", modelWidget, material, - bgColor, lightIntensity, upDirection, fov2 @@ -53546,4 +53849,4 @@ app.registerExtension({ }); } }); -//# sourceMappingURL=index-je62U6DH.js.map +//# sourceMappingURL=index-BPn8eYlx.js.map diff --git a/web/assets/GraphView-CDDCHVO0.js b/web/assets/index-BWow9lpT.js similarity index 51% rename from web/assets/GraphView-CDDCHVO0.js rename to web/assets/index-BWow9lpT.js index 34b0cd731..25679fc8e 100644 --- a/web/assets/GraphView-CDDCHVO0.js +++ b/web/assets/index-BWow9lpT.js @@ -1,122 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script$d, m as createBaseVNode, n as normalizeStyle, p as pushScopeId, q as popScopeId, _ as _export_sfc, t as onMounted, x as onBeforeUnmount, B as BaseStyle, y as script$e, z as getWidth, A as getHeight, C as getOuterWidth, D as getOuterHeight, E as getVNodeProp, F as isArray, G as mergeProps, H as Fragment, I as renderList, J as createBlock, K as resolveDynamicComponent, L as createCommentVNode, M as renderSlot, N as useSidebarTabStore, O as useBottomPanelStore, P as withCtx, Q as getAttribute, R as findSingle, S as focus, T as equals, U as Ripple, V as normalizeClass, W as getOffset, X as script$f, Y as script$g, Z as toDisplayString, $ as script$h, a0 as markRaw, a1 as defineStore, a2 as shallowRef, a3 as useI18n, a4 as useCommandStore, a5 as LiteGraph, a6 as useColorPaletteStore, a7 as watch, a8 as useNodeDefStore, a9 as BadgePosition, aa as LGraphBadge, ab as _, ac as NodeBadgeMode, ad as ref, ae as useEventListener, af as nextTick, ag as st, ah as normalizeI18nKey, ai as LGraphGroup, aj as LGraphNode, ak as EditableText, al as isNotEmpty, am as UniqueComponentId, an as ZIndex, ao as resolveFieldData, ap as OverlayEventBus, aq as isEmpty, ar as addStyle, as as relativePosition, at as absolutePosition, au as ConnectedOverlayScrollHandler, av as isTouchDevice, aw as findLastIndex, ax as script$i, ay as script$j, az as script$k, aA as script$l, aB as script$m, aC as script$n, aD as resolveComponent, aE as Transition, aF as createSlots, aG as createTextVNode, aH as useNodeFrequencyStore, aI as useNodeBookmarkStore, aJ as highlightQuery, aK as script$o, aL as formatNumberWithSuffix, aM as NodeSourceType, aN as NodePreview, aO as NodeSearchFilter, aP as script$p, aQ as SearchFilterChip, aR as useLitegraphService, aS as storeToRefs, aT as isRef, aU as toRaw, aV as LinkReleaseTriggerAction, aW as script$q, aX as useUserStore, aY as useDialogStore, aZ as SettingDialogHeader, a_ as SettingDialogContent, a$ as useKeybindingStore, b0 as Teleport, b1 as usePragmaticDraggable, b2 as usePragmaticDroppable, b3 as withModifiers, b4 as useWorkflowService, b5 as useWorkflowBookmarkStore, b6 as script$r, b7 as script$s, b8 as script$t, b9 as LinkMarkerShape, ba as useModelToNodeStore, bb as getStorageValue, bc as CanvasPointer, bd as IS_CONTROL_WIDGET, be as updateControlWidgetLabel, bf as useColorPaletteService, bg as setStorageValue, bh as api, bi as LGraph, bj as LLink, bk as DragAndScale, bl as LGraphCanvas, bm as ContextMenu, bn as ChangeTracker, bo as ComfyNodeDefImpl, bp as ComfyModelDef, bq as script$u, br as script$v, bs as script$w, bt as script$x, bu as script$y, bv as normalizeProps, bw as ToastEventBus, bx as setAttribute, by as TransitionGroup, bz as useToast, bA as useToastStore, bB as resolve, bC as nestedPosition, bD as script$z, bE as isPrintableCharacter, bF as useQueueSettingsStore, bG as script$A, bH as useQueuePendingTaskCountStore, bI as useLocalStorage, bJ as useDraggable, bK as watchDebounced, bL as inject, bM as useElementBounding, bN as script$B, bO as lodashExports, bP as useEventBus, bQ as script$C, bR as guardReactiveProps, bS as useMenuItemStore, bT as isElectron, bU as provide, bV as electronAPI, bW as useDialogService, bX as LGraphEventMode, bY as useQueueStore, bZ as DEFAULT_DARK_COLOR_PALETTE, b_ as DEFAULT_LIGHT_COLOR_PALETTE, b$ as i18n, c0 as useErrorHandling, c1 as useModelStore } from "./index-QvfM__ze.js"; -import { s as script$D } from "./index-Q1cQr26V.js"; -import { u as useKeybindingService } from "./keybindingService-Cak1En5n.js"; -import { u as useServerConfigStore } from "./serverConfigStore-DCme3xlV.js"; -const DEFAULT_TITLE = "ComfyUI"; -const TITLE_SUFFIX = " - ComfyUI"; -const _sfc_main$u = /* @__PURE__ */ defineComponent({ - __name: "BrowserTabTitle", - setup(__props) { - const executionStore = useExecutionStore(); - const executionText = computed( - () => executionStore.isIdle ? "" : `[${executionStore.executionProgress}%]` - ); - const settingStore = useSettingStore(); - const betaMenuEnabled = computed( - () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" - ); - const workflowStore = useWorkflowStore(); - const isUnsavedText = computed( - () => workflowStore.activeWorkflow?.isModified || !workflowStore.activeWorkflow?.isPersisted ? " *" : "" - ); - const workflowNameText = computed(() => { - const workflowName = workflowStore.activeWorkflow?.filename; - return workflowName ? isUnsavedText.value + workflowName + TITLE_SUFFIX : DEFAULT_TITLE; - }); - const nodeExecutionTitle = computed( - () => executionStore.executingNode && executionStore.executingNodeProgress ? `${executionText.value}[${executionStore.executingNodeProgress}%] ${executionStore.executingNode.type}` : "" - ); - const workflowTitle = computed( - () => executionText.value + (betaMenuEnabled.value ? workflowNameText.value : DEFAULT_TITLE) - ); - const title = computed(() => nodeExecutionTitle.value || workflowTitle.value); - useTitle(title); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div"); - }; - } -}); -const _withScopeId$9 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-7ed57d1a"), n = n(), popScopeId(), n), "_withScopeId$9"); -const _hoisted_1$q = { class: "window-actions-spacer" }; -const _sfc_main$t = /* @__PURE__ */ defineComponent({ - __name: "MenuHamburger", - setup(__props) { - const workspaceState = useWorkspaceStore(); - const settingStore = useSettingStore(); - const exitFocusMode = /* @__PURE__ */ __name(() => { - workspaceState.focusMode = false; - }, "exitFocusMode"); - watchEffect(() => { - if (settingStore.get("Comfy.UseNewMenu") !== "Disabled") { - return; - } - if (workspaceState.focusMode) { - app.ui.menuContainer.style.display = "none"; - } else { - app.ui.menuContainer.style.display = "block"; - } - }); - const menuSetting = computed(() => settingStore.get("Comfy.UseNewMenu")); - const positionCSS = computed( - () => ( - // 'Bottom' menuSetting shows the hamburger button in the bottom right corner - // 'Disabled', 'Top' menuSetting shows the hamburger button in the top right corner - menuSetting.value === "Bottom" ? { bottom: "0px", right: "0px" } : { top: "0px", right: "0px" } - ) - ); - return (_ctx, _cache) => { - const _directive_tooltip = resolveDirective("tooltip"); - return withDirectives((openBlock(), createElementBlock("div", { - class: "comfy-menu-hamburger no-drag", - style: normalizeStyle(positionCSS.value) - }, [ - withDirectives(createVNode(unref(script$d), { - icon: "pi pi-bars", - severity: "secondary", - text: "", - size: "large", - "aria-label": _ctx.$t("menu.showMenu"), - "aria-live": "assertive", - onClick: exitFocusMode, - onContextmenu: unref(showNativeMenu) - }, null, 8, ["aria-label", "onContextmenu"]), [ - [_directive_tooltip, { value: _ctx.$t("menu.showMenu"), showDelay: 300 }] - ]), - withDirectives(createBaseVNode("div", _hoisted_1$q, null, 512), [ - [vShow, menuSetting.value !== "Bottom"] - ]) - ], 4)), [ - [vShow, unref(workspaceState).focusMode] - ]); - }; - } -}); -const MenuHamburger = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-7ed57d1a"]]); -const _sfc_main$s = /* @__PURE__ */ defineComponent({ - __name: "UnloadWindowConfirmDialog", - setup(__props) { - const settingStore = useSettingStore(); - const workflowStore = useWorkflowStore(); - const handleBeforeUnload = /* @__PURE__ */ __name((event) => { - if (settingStore.get("Comfy.Window.UnloadConfirmation") && workflowStore.modifiedWorkflows.length > 0) { - event.preventDefault(); - return true; - } - return void 0; - }, "handleBeforeUnload"); - onMounted(() => { - window.addEventListener("beforeunload", handleBeforeUnload); - }); - onBeforeUnmount(() => { - window.removeEventListener("beforeunload", handleBeforeUnload); - }); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div"); - }; - } -}); +import { bA as BaseStyle, bB as script$f, cQ as getWidth, d4 as getHeight, c3 as getOuterWidth, d5 as getOuterHeight, c_ as isRTL, cU as getVNodeProp, d6 as isArray, o as openBlock, f as createElementBlock, as as mergeProps, F as Fragment, D as renderList, y as createBlock, C as resolveDynamicComponent, m as createBaseVNode, B as createCommentVNode, A as renderSlot, bP as getAttribute, bO as findSingle, bE as focus, ce as equals, bS as Ripple, r as resolveDirective, i as withDirectives, z as withCtx, ai as normalizeClass, cR as getOffset, cb as script$g, bU as script$h, cd as isNotEmpty, b_ as script$i, bT as UniqueComponentId, bC as ZIndex, cc as resolveFieldData, c8 as OverlayEventBus, ci as isEmpty, b$ as addStyle, c2 as relativePosition, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, cj as findLastIndex, bg as script$j, cH as script$k, bI as script$l, bR as script$m, ck as script$n, a8 as script$o, bK as resolveComponent, n as normalizeStyle, k as createVNode, E as toDisplayString, bL as Transition, co as createSlots, a7 as createTextVNode, cu as script$p, bZ as script$q, cA as script$r, cB as script$s, bJ as script$t, cv as normalizeProps, d7 as ToastEventBus, c9 as setAttribute, d8 as TransitionGroup, cq as resolve, d9 as nestedPosition, cf as script$u, ch as isPrintableCharacter, l as script$v, cD as script$w, cx as guardReactiveProps } from "./index-CmVtQCAR.js"; +import { s as script$x } from "./index-I0brO37W.js"; var theme$7 = /* @__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"); @@ -148,7 +33,7 @@ var SplitterStyle = BaseStyle.extend({ }); var script$1$a = { name: "BaseSplitter", - "extends": script$e, + "extends": script$f, props: { layout: { type: String, @@ -172,7 +57,7 @@ var script$1$a = { } }, style: SplitterStyle, - provide: /* @__PURE__ */ __name(function provide2() { + provide: /* @__PURE__ */ __name(function provide() { return { $pcSplitter: this, $parentInstance: this @@ -209,7 +94,7 @@ function _arrayLikeToArray$2(r, a) { return n; } __name(_arrayLikeToArray$2, "_arrayLikeToArray$2"); -var script$c = { +var script$e = { name: "Splitter", "extends": script$1$a, inheritAttrs: false, @@ -235,27 +120,7 @@ var script$c = { }; }, "data"), mounted: /* @__PURE__ */ __name(function mounted() { - var _this = this; - if (this.panels && this.panels.length) { - var initialized = false; - if (this.isStateful()) { - initialized = this.restoreState(); - } - if (!initialized) { - var children = _toConsumableArray$2(this.$el.children).filter(function(child) { - return child.getAttribute("data-pc-name") === "splitterpanel"; - }); - var _panelSizes = []; - this.panels.map(function(panel, i) { - var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null; - var panelSize = panelInitialSize || 100 / _this.panels.length; - _panelSizes[i] = panelSize; - children[i].style.flexBasis = "calc(" + panelSize + "% - " + (_this.panels.length - 1) * _this.gutterSize + "px)"; - }); - this.panelSizes = _panelSizes; - this.prevSize = parseFloat(_panelSizes[0]).toFixed(4); - } - } + this.initializePanels(); }, "mounted"), beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { this.clear(); @@ -265,6 +130,29 @@ var script$c = { isSplitterPanel: /* @__PURE__ */ __name(function isSplitterPanel(child) { return child.type.name === "SplitterPanel"; }, "isSplitterPanel"), + initializePanels: /* @__PURE__ */ __name(function initializePanels() { + var _this = this; + if (this.panels && this.panels.length) { + var initialized = false; + if (this.isStateful()) { + initialized = this.restoreState(); + } + if (!initialized) { + var children = _toConsumableArray$2(this.$el.children).filter(function(child) { + return child.getAttribute("data-pc-name") === "splitterpanel"; + }); + var _panelSizes = []; + this.panels.map(function(panel, i) { + var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null; + var panelSize = panelInitialSize || 100 / _this.panels.length; + _panelSizes[i] = panelSize; + children[i].style.flexBasis = "calc(" + panelSize + "% - " + (_this.panels.length - 1) * _this.gutterSize + "px)"; + }); + this.panelSizes = _panelSizes; + this.prevSize = parseFloat(_panelSizes[0]).toFixed(4); + } + } + }, "initializePanels"), onResizeStart: /* @__PURE__ */ __name(function onResizeStart(event, index, isKeyDown) { this.gutterElement = event.currentTarget || event.target.parentElement; this.size = this.horizontal ? getWidth(this.$el) : getHeight(this.$el); @@ -300,8 +188,15 @@ var script$c = { newNextPanelSize = 100 * (this.nextPanelSize + step) / this.size; } } else { - if (this.horizontal) newPos = event.pageX * 100 / this.size - this.startPos * 100 / this.size; - else newPos = event.pageY * 100 / this.size - this.startPos * 100 / this.size; + if (this.horizontal) { + if (isRTL(this.$el)) { + newPos = (this.startPos - event.pageX) * 100 / this.size; + } else { + newPos = (event.pageX - this.startPos) * 100 / this.size; + } + } else { + newPos = (event.pageY - this.startPos) * 100 / this.size; + } newPrevPanelSize = this.prevPanelSize + newPos; newNextPanelSize = this.nextPanelSize - newPos; } @@ -512,7 +407,10 @@ var script$c = { return true; } return false; - }, "restoreState") + }, "restoreState"), + resetState: /* @__PURE__ */ __name(function resetState() { + this.initializePanels(); + }, "resetState") }, computed: { panels: /* @__PURE__ */ __name(function panels() { @@ -552,9 +450,9 @@ var script$c = { }, "getPTOptions") } }; -var _hoisted_1$p = ["onMousedown", "onTouchstart", "onTouchmove", "onTouchend"]; -var _hoisted_2$j = ["aria-orientation", "aria-valuenow", "onKeydown"]; -function render$j(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$7 = ["onMousedown", "onTouchstart", "onTouchmove", "onTouchend"]; +var _hoisted_2$4 = ["aria-orientation", "aria-valuenow", "onKeydown"]; +function render$d(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", mergeProps({ "class": _ctx.cx("root"), style: _ctx.sx("root"), @@ -597,11 +495,11 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) { return $options.onGutterKeyDown($event, i); }, "onKeydown"), ref_for: true - }, _ctx.ptm("gutterHandle")), null, 16, _hoisted_2$j)], 16, _hoisted_1$p)) : createCommentVNode("", true)], 64); + }, _ctx.ptm("gutterHandle")), null, 16, _hoisted_2$4)], 16, _hoisted_1$7)) : createCommentVNode("", true)], 64); }), 128))], 16); } -__name(render$j, "render$j"); -script$c.render = render$j; +__name(render$d, "render$d"); +script$e.render = render$d; var classes$9 = { root: /* @__PURE__ */ __name(function root3(_ref) { var instance = _ref.instance; @@ -616,7 +514,7 @@ var SplitterPanelStyle = BaseStyle.extend({ }); var script$1$9 = { name: "BaseSplitterPanel", - "extends": script$e, + "extends": script$f, props: { size: { type: Number, @@ -628,14 +526,14 @@ var script$1$9 = { } }, style: SplitterPanelStyle, - provide: /* @__PURE__ */ __name(function provide3() { + provide: /* @__PURE__ */ __name(function provide2() { return { $pcSplitterPanel: this, $parentInstance: this }; }, "provide") }; -var script$b = { +var script$d = { name: "SplitterPanel", "extends": script$1$9, inheritAttrs: false, @@ -661,102 +559,14 @@ var script$b = { }, "getPTOptions") } }; -function render$i(_ctx, _cache, $props, $setup, $data, $options) { +function render$c(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", mergeProps({ ref: "container", "class": _ctx.cx("root") }, _ctx.ptmi("root", $options.getPTOptions)), [renderSlot(_ctx.$slots, "default")], 16); } -__name(render$i, "render$i"); -script$b.render = render$i; -const _sfc_main$r = /* @__PURE__ */ defineComponent({ - __name: "LiteGraphCanvasSplitterOverlay", - setup(__props) { - const settingStore = useSettingStore(); - const sidebarLocation = computed( - () => settingStore.get("Comfy.Sidebar.Location") - ); - const sidebarPanelVisible = computed( - () => useSidebarTabStore().activeSidebarTab !== null - ); - const bottomPanelVisible = computed( - () => useBottomPanelStore().bottomPanelVisible - ); - const activeSidebarTabId = computed( - () => useSidebarTabStore().activeSidebarTabId - ); - return (_ctx, _cache) => { - return openBlock(), createBlock(unref(script$c), { - class: "splitter-overlay-root splitter-overlay", - "pt:gutter": sidebarPanelVisible.value ? "" : "hidden", - key: activeSidebarTabId.value, - stateKey: activeSidebarTabId.value, - stateStorage: "local" - }, { - default: withCtx(() => [ - sidebarLocation.value === "left" ? withDirectives((openBlock(), createBlock(unref(script$b), { - key: 0, - class: "side-bar-panel", - minSize: 10, - size: 20 - }, { - default: withCtx(() => [ - renderSlot(_ctx.$slots, "side-bar-panel", {}, void 0, true) - ]), - _: 3 - }, 512)), [ - [vShow, sidebarPanelVisible.value] - ]) : createCommentVNode("", true), - createVNode(unref(script$b), { size: 100 }, { - default: withCtx(() => [ - createVNode(unref(script$c), { - class: "splitter-overlay max-w-full", - layout: "vertical", - "pt:gutter": bottomPanelVisible.value ? "" : "hidden", - stateKey: "bottom-panel-splitter", - stateStorage: "local" - }, { - default: withCtx(() => [ - createVNode(unref(script$b), { class: "graph-canvas-panel relative" }, { - default: withCtx(() => [ - renderSlot(_ctx.$slots, "graph-canvas-panel", {}, void 0, true) - ]), - _: 3 - }), - withDirectives(createVNode(unref(script$b), { class: "bottom-panel" }, { - default: withCtx(() => [ - renderSlot(_ctx.$slots, "bottom-panel", {}, void 0, true) - ]), - _: 3 - }, 512), [ - [vShow, bottomPanelVisible.value] - ]) - ]), - _: 3 - }, 8, ["pt:gutter"]) - ]), - _: 3 - }), - sidebarLocation.value === "right" ? withDirectives((openBlock(), createBlock(unref(script$b), { - key: 1, - class: "side-bar-panel", - minSize: 10, - size: 20 - }, { - default: withCtx(() => [ - renderSlot(_ctx.$slots, "side-bar-panel", {}, void 0, true) - ]), - _: 3 - }, 512)), [ - [vShow, sidebarPanelVisible.value] - ]) : createCommentVNode("", true) - ]), - _: 3 - }, 8, ["pt:gutter", "stateKey"]); - }; - } -}); -const LiteGraphCanvasSplitterOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-e50caa15"]]); +__name(render$c, "render$c"); +script$d.render = render$c; var classes$8 = { root: /* @__PURE__ */ __name(function root4(_ref) { var instance = _ref.instance, props = _ref.props; @@ -772,7 +582,7 @@ var TabStyle = BaseStyle.extend({ }); var script$1$8 = { name: "BaseTab", - "extends": script$e, + "extends": script$f, props: { value: { type: [String, Number], @@ -792,14 +602,14 @@ var script$1$8 = { } }, style: TabStyle, - provide: /* @__PURE__ */ __name(function provide4() { + provide: /* @__PURE__ */ __name(function provide3() { return { $pcTab: this, $parentInstance: this }; }, "provide") }; -var script$a = { +var script$c = { name: "Tab", "extends": script$1$8, inheritAttrs: false, @@ -948,7 +758,7 @@ var script$a = { ripple: Ripple } }; -function render$h(_ctx, _cache, $props, $setup, $data, $options) { +function render$b(_ctx, _cache, $props, $setup, $data, $options) { var _directive_ripple = resolveDirective("ripple"); return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ key: 0, @@ -967,8 +777,8 @@ function render$h(_ctx, _cache, $props, $setup, $data, $options) { onClick: $options.onClick }); } -__name(render$h, "render$h"); -script$a.render = render$h; +__name(render$b, "render$b"); +script$c.render = render$b; var classes$7 = { root: "p-tablist", content: /* @__PURE__ */ __name(function content(_ref) { @@ -988,17 +798,17 @@ var TabListStyle = BaseStyle.extend({ }); var script$1$7 = { name: "BaseTabList", - "extends": script$e, + "extends": script$f, props: {}, style: TabListStyle, - provide: /* @__PURE__ */ __name(function provide5() { + provide: /* @__PURE__ */ __name(function provide4() { return { $pcTabList: this, $parentInstance: this }; }, "provide") }; -var script$9 = { +var script$b = { name: "TabList", "extends": script$1$7, inheritAttrs: false, @@ -1044,16 +854,24 @@ var script$9 = { }, "onScroll"), onPrevButtonClick: /* @__PURE__ */ __name(function onPrevButtonClick() { var content2 = this.$refs.content; - var width = getWidth(content2); - var pos = content2.scrollLeft - width; - content2.scrollLeft = pos <= 0 ? 0 : pos; + var buttonWidths = this.getVisibleButtonWidths(); + var width = getWidth(content2) - buttonWidths; + var currentScrollLeft = Math.abs(content2.scrollLeft); + var scrollStep = width * 0.8; + var targetScrollLeft = currentScrollLeft - scrollStep; + var scrollLeft = Math.max(targetScrollLeft, 0); + content2.scrollLeft = isRTL(content2) ? -1 * scrollLeft : scrollLeft; }, "onPrevButtonClick"), onNextButtonClick: /* @__PURE__ */ __name(function onNextButtonClick() { var content2 = this.$refs.content; - var width = getWidth(content2) - this.getVisibleButtonWidths(); - var pos = content2.scrollLeft + width; - var lastPos = content2.scrollWidth - width; - content2.scrollLeft = pos >= lastPos ? lastPos : pos; + var buttonWidths = this.getVisibleButtonWidths(); + var width = getWidth(content2) - buttonWidths; + var currentScrollLeft = Math.abs(content2.scrollLeft); + var scrollStep = width * 0.8; + var targetScrollLeft = currentScrollLeft + scrollStep; + var maxScrollLeft = content2.scrollWidth - width; + var scrollLeft = Math.min(targetScrollLeft, maxScrollLeft); + content2.scrollLeft = isRTL(content2) ? -1 * scrollLeft : scrollLeft; }, "onNextButtonClick"), bindResizeObserver: /* @__PURE__ */ __name(function bindResizeObserver() { var _this2 = this; @@ -1080,7 +898,8 @@ var script$9 = { }, "updateInkBar"), updateButtonState: /* @__PURE__ */ __name(function updateButtonState() { var _this$$refs2 = this.$refs, list = _this$$refs2.list, content2 = _this$$refs2.content; - var scrollLeft = content2.scrollLeft, scrollTop = content2.scrollTop, scrollWidth = content2.scrollWidth, scrollHeight = content2.scrollHeight, offsetWidth = content2.offsetWidth, offsetHeight = content2.offsetHeight; + var scrollTop = content2.scrollTop, scrollWidth = content2.scrollWidth, scrollHeight = content2.scrollHeight, offsetWidth = content2.offsetWidth, offsetHeight = content2.offsetHeight; + var scrollLeft = Math.abs(content2.scrollLeft); var _ref = [getWidth(content2), getHeight(content2)], width = _ref[0], height = _ref[1]; if (this.$pcTabs.isVertical()) { this.isPrevButtonEnabled = scrollTop !== 0; @@ -1091,10 +910,12 @@ var script$9 = { } }, "updateButtonState"), getVisibleButtonWidths: /* @__PURE__ */ __name(function getVisibleButtonWidths() { - var _this$$refs3 = this.$refs, prevBtn = _this$$refs3.prevBtn, nextBtn = _this$$refs3.nextBtn; - return [prevBtn, nextBtn].reduce(function(acc, el) { - return el ? acc + getWidth(el) : acc; - }, 0); + var _this$$refs3 = this.$refs, prevButton = _this$$refs3.prevButton, nextButton = _this$$refs3.nextButton; + var width = 0; + if (this.showNavigators) { + width = ((prevButton === null || prevButton === void 0 ? void 0 : prevButton.offsetWidth) || 0) + ((nextButton === null || nextButton === void 0 ? void 0 : nextButton.offsetWidth) || 0); + } + return width; }, "getVisibleButtonWidths") }, computed: { @@ -1115,17 +936,17 @@ var script$9 = { }, "nextButtonAriaLabel") }, components: { - ChevronLeftIcon: script$f, - ChevronRightIcon: script$g + ChevronLeftIcon: script$g, + ChevronRightIcon: script$h }, directives: { ripple: Ripple } }; -var _hoisted_1$o = ["aria-label", "tabindex"]; -var _hoisted_2$i = ["aria-orientation"]; -var _hoisted_3$h = ["aria-label", "tabindex"]; -function render$g(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$6 = ["aria-label", "tabindex"]; +var _hoisted_2$3 = ["aria-orientation"]; +var _hoisted_3$3 = ["aria-label", "tabindex"]; +function render$a(_ctx, _cache, $props, $setup, $data, $options) { var _directive_ripple = resolveDirective("ripple"); return openBlock(), createElementBlock("div", mergeProps({ ref: "list", @@ -1143,7 +964,7 @@ function render$g(_ctx, _cache, $props, $setup, $data, $options) { "data-pc-group-section": "navigator" }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.previcon || "ChevronLeftIcon"), mergeProps({ "aria-hidden": "true" - }, _ctx.ptm("prevIcon")), null, 16))], 16, _hoisted_1$o)), [[_directive_ripple]]) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + }, _ctx.ptm("prevIcon")), null, 16))], 16, _hoisted_1$6)), [[_directive_ripple]]) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ ref: "content", "class": _ctx.cx("content"), onScroll: _cache[1] || (_cache[1] = function() { @@ -1159,7 +980,7 @@ function render$g(_ctx, _cache, $props, $setup, $data, $options) { "class": _ctx.cx("activeBar"), role: "presentation", "aria-hidden": "true" - }, _ctx.ptm("activeBar")), null, 16)], 16, _hoisted_2$i)], 16), $options.showNavigators && $data.isNextButtonEnabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ + }, _ctx.ptm("activeBar")), null, 16)], 16, _hoisted_2$3)], 16), $options.showNavigators && $data.isNextButtonEnabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ key: 1, ref: "nextButton", "class": _ctx.cx("nextButton"), @@ -1172,134 +993,13 @@ function render$g(_ctx, _cache, $props, $setup, $data, $options) { "data-pc-group-section": "navigator" }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.nexticon || "ChevronRightIcon"), mergeProps({ "aria-hidden": "true" - }, _ctx.ptm("nextIcon")), null, 16))], 16, _hoisted_3$h)), [[_directive_ripple]]) : createCommentVNode("", true)], 16); + }, _ctx.ptm("nextIcon")), null, 16))], 16, _hoisted_3$3)), [[_directive_ripple]]) : createCommentVNode("", true)], 16); } -__name(render$g, "render$g"); -script$9.render = render$g; -const _sfc_main$q = /* @__PURE__ */ defineComponent({ - __name: "ExtensionSlot", - props: { - extension: {} - }, - setup(__props) { - const props = __props; - const mountCustomExtension = /* @__PURE__ */ __name((extension, el) => { - extension.render(el); - }, "mountCustomExtension"); - onBeforeUnmount(() => { - if (props.extension.type === "custom" && props.extension.destroy) { - props.extension.destroy(); - } - }); - return (_ctx, _cache) => { - return _ctx.extension.type === "vue" ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.extension.component), { key: 0 })) : (openBlock(), createElementBlock("div", { - key: 1, - ref: /* @__PURE__ */ __name((el) => { - if (el) - mountCustomExtension( - props.extension, - el - ); - }, "ref") - }, null, 512)); - }; - } -}); -const _hoisted_1$n = { class: "flex flex-col h-full" }; -const _hoisted_2$h = { class: "w-full flex justify-between" }; -const _hoisted_3$g = { class: "tabs-container" }; -const _hoisted_4$6 = { class: "font-bold" }; -const _hoisted_5$4 = { class: "flex-grow h-0" }; -const _sfc_main$p = /* @__PURE__ */ defineComponent({ - __name: "BottomPanel", - setup(__props) { - const bottomPanelStore = useBottomPanelStore(); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$n, [ - createVNode(unref(script$h), { - value: unref(bottomPanelStore).activeBottomPanelTabId, - "onUpdate:value": _cache[1] || (_cache[1] = ($event) => unref(bottomPanelStore).activeBottomPanelTabId = $event) - }, { - default: withCtx(() => [ - createVNode(unref(script$9), { "pt:tabList": "border-none" }, { - default: withCtx(() => [ - createBaseVNode("div", _hoisted_2$h, [ - createBaseVNode("div", _hoisted_3$g, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(bottomPanelStore).bottomPanelTabs, (tab) => { - return openBlock(), createBlock(unref(script$a), { - key: tab.id, - value: tab.id, - class: "p-3 border-none" - }, { - default: withCtx(() => [ - createBaseVNode("span", _hoisted_4$6, toDisplayString(tab.title.toUpperCase()), 1) - ]), - _: 2 - }, 1032, ["value"]); - }), 128)) - ]), - createVNode(unref(script$d), { - class: "justify-self-end", - icon: "pi pi-times", - severity: "secondary", - size: "small", - text: "", - onClick: _cache[0] || (_cache[0] = ($event) => unref(bottomPanelStore).bottomPanelVisible = false) - }) - ]) - ]), - _: 1 - }) - ]), - _: 1 - }, 8, ["value"]), - createBaseVNode("div", _hoisted_5$4, [ - unref(bottomPanelStore).bottomPanelVisible && unref(bottomPanelStore).activeBottomPanelTab ? (openBlock(), createBlock(_sfc_main$q, { - key: 0, - extension: unref(bottomPanelStore).activeBottomPanelTab - }, null, 8, ["extension"])) : createCommentVNode("", true) - ]) - ]); - }; - } -}); -const _hoisted_1$m = { - viewBox: "0 0 1024 1024", - width: "1.2em", - height: "1.2em" -}; -const _hoisted_2$g = /* @__PURE__ */ createBaseVNode("path", { - fill: "currentColor", - d: "M921.088 103.232L584.832 889.024L465.52 544.512L121.328 440.48zM1004.46.769c-6.096 0-13.52 1.728-22.096 5.36L27.708 411.2c-34.383 14.592-36.56 42.704-4.847 62.464l395.296 123.584l129.36 403.264c9.28 15.184 20.496 22.72 31.263 22.72c11.936 0 23.296-9.152 31.04-27.248l408.272-953.728C1029.148 16.368 1022.86.769 1004.46.769" -}, null, -1); -const _hoisted_3$f = [ - _hoisted_2$g -]; -function render$f(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$m, [..._hoisted_3$f]); -} -__name(render$f, "render$f"); -const __unplugin_components_1$2 = markRaw({ name: "simple-line-icons-cursor", render: render$f }); -const _hoisted_1$l = { - viewBox: "0 0 24 24", - width: "1.2em", - height: "1.2em" -}; -const _hoisted_2$f = /* @__PURE__ */ createBaseVNode("path", { - fill: "currentColor", - d: "M10.05 23q-.75 0-1.4-.337T7.575 21.7L1.2 12.375l.6-.575q.475-.475 1.125-.55t1.175.3L7 13.575V4q0-.425.288-.712T8 3t.713.288T9 4v13.425l-3.7-2.6l3.925 5.725q.125.2.35.325t.475.125H17q.825 0 1.413-.587T19 19V5q0-.425.288-.712T20 4t.713.288T21 5v14q0 1.65-1.175 2.825T17 23zM11 12V2q0-.425.288-.712T12 1t.713.288T13 2v10zm4 0V3q0-.425.288-.712T16 2t.713.288T17 3v9zm-2.85 4.5" -}, null, -1); -const _hoisted_3$e = [ - _hoisted_2$f -]; -function render$e(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$l, [..._hoisted_3$e]); -} -__name(render$e, "render$e"); -const __unplugin_components_0$2 = markRaw({ name: "material-symbols-pan-tool-outline", render: render$e }); +__name(render$a, "render$a"); +script$b.render = render$a; var theme$6 = /* @__PURE__ */ __name(function theme2(_ref) { _ref.dt; - return "\n.p-buttongroup .p-button {\n margin: 0;\n}\n\n.p-buttongroup .p-button:not(:last-child),\n.p-buttongroup .p-button:not(:last-child):hover {\n border-right: 0 none;\n}\n\n.p-buttongroup .p-button:not(:first-of-type):not(:last-of-type) {\n border-radius: 0;\n}\n\n.p-buttongroup .p-button:first-of-type:not(:only-of-type) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.p-buttongroup .p-button:last-of-type:not(:only-of-type) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.p-buttongroup .p-button:focus {\n position: relative;\n z-index: 1;\n}\n"; + return "\n.p-buttongroup {\n display: inline-flex;\n}\n\n.p-buttongroup .p-button {\n margin: 0;\n}\n\n.p-buttongroup .p-button:not(:last-child),\n.p-buttongroup .p-button:not(:last-child):hover {\n border-inline-end: 0 none;\n}\n\n.p-buttongroup .p-button:not(:first-of-type):not(:last-of-type) {\n border-radius: 0;\n}\n\n.p-buttongroup .p-button:first-of-type:not(:only-of-type) {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n}\n\n.p-buttongroup .p-button:last-of-type:not(:only-of-type) {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n\n.p-buttongroup .p-button:focus {\n position: relative;\n z-index: 1;\n}\n"; }, "theme"); var classes$6 = { root: "p-buttongroup p-component" @@ -1311,469 +1011,31 @@ var ButtonGroupStyle = BaseStyle.extend({ }); var script$1$6 = { name: "BaseButtonGroup", - "extends": script$e, + "extends": script$f, style: ButtonGroupStyle, - provide: /* @__PURE__ */ __name(function provide6() { + provide: /* @__PURE__ */ __name(function provide5() { return { $pcButtonGroup: this, $parentInstance: this }; }, "provide") }; -var script$8 = { +var script$a = { name: "ButtonGroup", "extends": script$1$6, inheritAttrs: false }; -function render$d(_ctx, _cache, $props, $setup, $data, $options) { +function render$9(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("span", mergeProps({ "class": _ctx.cx("root"), role: "group" }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); } -__name(render$d, "render$d"); -script$8.render = render$d; -const useTitleEditorStore = defineStore("titleEditor", () => { - const titleEditorTarget = shallowRef(null); - return { - titleEditorTarget - }; -}); -const useCanvasStore = defineStore("canvas", () => { - const canvas = shallowRef(null); - return { - canvas - }; -}); -const _sfc_main$o = /* @__PURE__ */ defineComponent({ - __name: "GraphCanvasMenu", - setup(__props) { - const { t } = useI18n(); - const commandStore = useCommandStore(); - const canvasStore = useCanvasStore(); - const settingStore = useSettingStore(); - const linkHidden = computed( - () => settingStore.get("Comfy.LinkRenderMode") === LiteGraph.HIDDEN_LINK - ); - let interval = null; - const repeat2 = /* @__PURE__ */ __name((command) => { - if (interval) return; - const cmd = /* @__PURE__ */ __name(() => commandStore.execute(command), "cmd"); - cmd(); - interval = window.setInterval(cmd, 100); - }, "repeat"); - const stopRepeat = /* @__PURE__ */ __name(() => { - if (interval) { - clearInterval(interval); - interval = null; - } - }, "stopRepeat"); - return (_ctx, _cache) => { - const _component_i_material_symbols58pan_tool_outline = __unplugin_components_0$2; - const _component_i_simple_line_icons58cursor = __unplugin_components_1$2; - const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createBlock(unref(script$8), { class: "p-buttongroup-vertical absolute bottom-[10px] right-[10px] z-[1000] pointer-events-auto" }, { - default: withCtx(() => [ - withDirectives(createVNode(unref(script$d), { - severity: "secondary", - icon: "pi pi-plus", - "aria-label": _ctx.$t("graphCanvasMenu.zoomIn"), - onMousedown: _cache[0] || (_cache[0] = ($event) => repeat2("Comfy.Canvas.ZoomIn")), - onMouseup: stopRepeat - }, null, 8, ["aria-label"]), [ - [ - _directive_tooltip, - unref(t)("graphCanvasMenu.zoomIn"), - void 0, - { left: true } - ] - ]), - withDirectives(createVNode(unref(script$d), { - severity: "secondary", - icon: "pi pi-minus", - "aria-label": _ctx.$t("graphCanvasMenu.zoomOut"), - onMousedown: _cache[1] || (_cache[1] = ($event) => repeat2("Comfy.Canvas.ZoomOut")), - onMouseup: stopRepeat - }, null, 8, ["aria-label"]), [ - [ - _directive_tooltip, - unref(t)("graphCanvasMenu.zoomOut"), - void 0, - { left: true } - ] - ]), - withDirectives(createVNode(unref(script$d), { - severity: "secondary", - icon: "pi pi-expand", - "aria-label": _ctx.$t("graphCanvasMenu.fitView"), - onClick: _cache[2] || (_cache[2] = () => unref(commandStore).execute("Comfy.Canvas.FitView")) - }, null, 8, ["aria-label"]), [ - [ - _directive_tooltip, - unref(t)("graphCanvasMenu.fitView"), - void 0, - { left: true } - ] - ]), - withDirectives((openBlock(), createBlock(unref(script$d), { - severity: "secondary", - "aria-label": unref(t)( - "graphCanvasMenu." + (unref(canvasStore).canvas?.read_only ? "panMode" : "selectMode") - ), - onClick: _cache[3] || (_cache[3] = () => unref(commandStore).execute("Comfy.Canvas.ToggleLock")) - }, { - icon: withCtx(() => [ - unref(canvasStore).canvas?.read_only ? (openBlock(), createBlock(_component_i_material_symbols58pan_tool_outline, { key: 0 })) : (openBlock(), createBlock(_component_i_simple_line_icons58cursor, { key: 1 })) - ]), - _: 1 - }, 8, ["aria-label"])), [ - [ - _directive_tooltip, - unref(t)( - "graphCanvasMenu." + (unref(canvasStore).canvas?.read_only ? "panMode" : "selectMode") - ) + " (Space)", - void 0, - { left: true } - ] - ]), - withDirectives(createVNode(unref(script$d), { - severity: "secondary", - icon: linkHidden.value ? "pi pi-eye-slash" : "pi pi-eye", - "aria-label": _ctx.$t("graphCanvasMenu.toggleLinkVisibility"), - onClick: _cache[4] || (_cache[4] = () => unref(commandStore).execute("Comfy.Canvas.ToggleLinkVisibility")), - "data-testid": "toggle-link-visibility-button" - }, null, 8, ["icon", "aria-label"]), [ - [ - _directive_tooltip, - unref(t)("graphCanvasMenu.toggleLinkVisibility"), - void 0, - { left: true } - ] - ]) - ]), - _: 1 - }); - }; - } -}); -const GraphCanvasMenu = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-cb8f9a1a"]]); -const _sfc_main$n = /* @__PURE__ */ defineComponent({ - __name: "NodeBadge", - setup(__props) { - const settingStore = useSettingStore(); - const colorPaletteStore = useColorPaletteStore(); - const nodeSourceBadgeMode = computed( - () => settingStore.get("Comfy.NodeBadge.NodeSourceBadgeMode") - ); - const nodeIdBadgeMode = computed( - () => settingStore.get("Comfy.NodeBadge.NodeIdBadgeMode") - ); - const nodeLifeCycleBadgeMode = computed( - () => settingStore.get("Comfy.NodeBadge.NodeLifeCycleBadgeMode") - ); - watch([nodeSourceBadgeMode, nodeIdBadgeMode, nodeLifeCycleBadgeMode], () => { - app.graph?.setDirtyCanvas(true, true); - }); - const nodeDefStore = useNodeDefStore(); - function badgeTextVisible(nodeDef, badgeMode) { - return !(badgeMode === NodeBadgeMode.None || nodeDef?.isCoreNode && badgeMode === NodeBadgeMode.HideBuiltIn); - } - __name(badgeTextVisible, "badgeTextVisible"); - onMounted(() => { - app.registerExtension({ - name: "Comfy.NodeBadge", - nodeCreated(node) { - node.badgePosition = BadgePosition.TopRight; - const badge = computed(() => { - const nodeDef = nodeDefStore.fromLGraphNode(node); - return new LGraphBadge({ - text: _.truncate( - [ - badgeTextVisible(nodeDef, nodeIdBadgeMode.value) ? `#${node.id}` : "", - badgeTextVisible(nodeDef, nodeLifeCycleBadgeMode.value) ? nodeDef?.nodeLifeCycleBadgeText ?? "" : "", - badgeTextVisible(nodeDef, nodeSourceBadgeMode.value) ? nodeDef?.nodeSource?.badgeText ?? "" : "" - ].filter((s) => s.length > 0).join(" "), - { - length: 31 - } - ), - fgColor: colorPaletteStore.completedActivePalette.colors.litegraph_base.BADGE_FG_COLOR, - bgColor: colorPaletteStore.completedActivePalette.colors.litegraph_base.BADGE_BG_COLOR - }); - }); - node.badges.push(() => badge.value); - } - }); - }); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div"); - }; - } -}); -const _sfc_main$m = /* @__PURE__ */ defineComponent({ - __name: "NodeTooltip", - setup(__props) { - let idleTimeout; - const nodeDefStore = useNodeDefStore(); - const tooltipRef = ref(); - const tooltipText = ref(""); - const left = ref(); - const top = ref(); - const hideTooltip = /* @__PURE__ */ __name(() => tooltipText.value = null, "hideTooltip"); - const showTooltip = /* @__PURE__ */ __name(async (tooltip) => { - if (!tooltip) return; - left.value = app.canvas.mouse[0] + "px"; - top.value = app.canvas.mouse[1] + "px"; - tooltipText.value = tooltip; - await nextTick(); - const rect = tooltipRef.value.getBoundingClientRect(); - if (rect.right > window.innerWidth) { - left.value = app.canvas.mouse[0] - rect.width + "px"; - } - if (rect.top < 0) { - top.value = app.canvas.mouse[1] + rect.height + "px"; - } - }, "showTooltip"); - const onIdle = /* @__PURE__ */ __name(() => { - const { canvas } = app; - const node = canvas.node_over; - if (!node) return; - const ctor = node.constructor; - const nodeDef = nodeDefStore.nodeDefsByName[node.type]; - if (ctor.title_mode !== LiteGraph.NO_TITLE && canvas.graph_mouse[1] < node.pos[1]) { - return showTooltip(nodeDef.description); - } - if (node.flags?.collapsed) return; - const inputSlot = canvas.isOverNodeInput( - node, - canvas.graph_mouse[0], - canvas.graph_mouse[1], - [0, 0] - ); - if (inputSlot !== -1) { - const inputName = node.inputs[inputSlot].name; - const translatedTooltip = st( - `nodeDefs.${normalizeI18nKey(node.type)}.inputs.${normalizeI18nKey(inputName)}.tooltip`, - nodeDef.inputs.getInput(inputName)?.tooltip - ); - return showTooltip(translatedTooltip); - } - const outputSlot = canvas.isOverNodeOutput( - node, - canvas.graph_mouse[0], - canvas.graph_mouse[1], - [0, 0] - ); - if (outputSlot !== -1) { - const translatedTooltip = st( - `nodeDefs.${normalizeI18nKey(node.type)}.outputs.${outputSlot}.tooltip`, - nodeDef.outputs.all?.[outputSlot]?.tooltip - ); - return showTooltip(translatedTooltip); - } - const widget = app.canvas.getWidgetAtCursor(); - if (widget && !widget.element) { - const translatedTooltip = st( - `nodeDefs.${normalizeI18nKey(node.type)}.inputs.${normalizeI18nKey(widget.name)}.tooltip`, - nodeDef.inputs.getInput(widget.name)?.tooltip - ); - return showTooltip(widget.tooltip ?? translatedTooltip); - } - }, "onIdle"); - const onMouseMove = /* @__PURE__ */ __name((e) => { - hideTooltip(); - clearTimeout(idleTimeout); - if (e.target.nodeName !== "CANVAS") return; - idleTimeout = window.setTimeout(onIdle, 500); - }, "onMouseMove"); - useEventListener(window, "mousemove", onMouseMove); - useEventListener(window, "click", hideTooltip); - return (_ctx, _cache) => { - return tooltipText.value ? (openBlock(), createElementBlock("div", { - key: 0, - ref_key: "tooltipRef", - ref: tooltipRef, - class: "node-tooltip", - style: normalizeStyle({ left: left.value, top: top.value }) - }, toDisplayString(tooltipText.value), 5)) : createCommentVNode("", true); - }; - } -}); -const NodeTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-46859edf"]]); -const _sfc_main$l = /* @__PURE__ */ defineComponent({ - __name: "TitleEditor", - setup(__props) { - const settingStore = useSettingStore(); - const showInput = ref(false); - const editedTitle = ref(""); - const inputStyle = ref({ - position: "fixed", - left: "0px", - top: "0px", - width: "200px", - height: "20px", - fontSize: "12px" - }); - const titleEditorStore = useTitleEditorStore(); - const canvasStore = useCanvasStore(); - const previousCanvasDraggable = ref(true); - const onEdit = /* @__PURE__ */ __name((newValue) => { - if (titleEditorStore.titleEditorTarget && newValue.trim() !== "") { - titleEditorStore.titleEditorTarget.title = newValue.trim(); - app.graph.setDirtyCanvas(true, true); - } - showInput.value = false; - titleEditorStore.titleEditorTarget = null; - canvasStore.canvas.allow_dragcanvas = previousCanvasDraggable.value; - }, "onEdit"); - watch( - () => titleEditorStore.titleEditorTarget, - (target) => { - if (target === null) { - return; - } - editedTitle.value = target.title; - showInput.value = true; - previousCanvasDraggable.value = canvasStore.canvas.allow_dragcanvas; - canvasStore.canvas.allow_dragcanvas = false; - if (target instanceof LGraphGroup) { - const group = target; - const [x, y] = group.pos; - const [w, h] = group.size; - const [left, top] = app.canvasPosToClientPos([x, y]); - inputStyle.value.left = `${left}px`; - inputStyle.value.top = `${top}px`; - const width = w * app.canvas.ds.scale; - const height = group.titleHeight * app.canvas.ds.scale; - inputStyle.value.width = `${width}px`; - inputStyle.value.height = `${height}px`; - const fontSize = group.font_size * app.canvas.ds.scale; - inputStyle.value.fontSize = `${fontSize}px`; - } else if (target instanceof LGraphNode) { - const node = target; - const [x, y] = node.getBounding(); - const canvasWidth = node.width; - const canvasHeight = LiteGraph.NODE_TITLE_HEIGHT; - const [left, top] = app.canvasPosToClientPos([x, y]); - inputStyle.value.left = `${left}px`; - inputStyle.value.top = `${top}px`; - const width = canvasWidth * app.canvas.ds.scale; - const height = canvasHeight * app.canvas.ds.scale; - inputStyle.value.width = `${width}px`; - inputStyle.value.height = `${height}px`; - const fontSize = 12 * app.canvas.ds.scale; - inputStyle.value.fontSize = `${fontSize}px`; - } - } - ); - const canvasEventHandler = /* @__PURE__ */ __name((event) => { - if (event.detail.subType === "group-double-click") { - if (!settingStore.get("Comfy.Group.DoubleClickTitleToEdit")) { - return; - } - const group = event.detail.group; - const [x, y] = group.pos; - const e = event.detail.originalEvent; - const relativeY = e.canvasY - y; - if (relativeY <= group.titleHeight) { - titleEditorStore.titleEditorTarget = group; - } - } else if (event.detail.subType === "node-double-click") { - if (!settingStore.get("Comfy.Node.DoubleClickTitleToEdit")) { - return; - } - const node = event.detail.node; - const [x, y] = node.pos; - const e = event.detail.originalEvent; - const relativeY = e.canvasY - y; - if (relativeY <= 0) { - titleEditorStore.titleEditorTarget = node; - } - } - }, "canvasEventHandler"); - useEventListener(document, "litegraph:canvas", canvasEventHandler); - return (_ctx, _cache) => { - return showInput.value ? (openBlock(), createElementBlock("div", { - key: 0, - class: "group-title-editor node-title-editor", - style: normalizeStyle(inputStyle.value) - }, [ - createVNode(EditableText, { - isEditing: showInput.value, - modelValue: editedTitle.value, - onEdit - }, null, 8, ["isEditing", "modelValue"]) - ], 4)) : createCommentVNode("", true); - }; - } -}); -const TitleEditor = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-12d3fd12"]]); -const useSearchBoxStore = defineStore("searchBox", () => { - const visible = ref(false); - function toggleVisible() { - visible.value = !visible.value; - } - __name(toggleVisible, "toggleVisible"); - return { - visible, - toggleVisible - }; -}); -class ConnectingLinkImpl { - static { - __name(this, "ConnectingLinkImpl"); - } - constructor(node, slot, input, output, pos, afterRerouteId) { - this.node = node; - this.slot = slot; - this.input = input; - this.output = output; - this.pos = pos; - this.afterRerouteId = afterRerouteId; - } - static createFromPlainObject(obj) { - return new ConnectingLinkImpl( - obj.node, - obj.slot, - obj.input, - obj.output, - obj.pos, - obj.afterRerouteId - ); - } - get type() { - const result = this.input ? this.input.type : this.output?.type ?? null; - return result === -1 ? null : result; - } - /** - * Which slot type is release and need to be reconnected. - * - 'output' means we need a new node's outputs slot to connect with this link - */ - get releaseSlotType() { - return this.output ? "input" : "output"; - } - connectTo(newNode) { - const newNodeSlots = this.releaseSlotType === "output" ? newNode.outputs : newNode.inputs; - if (!newNodeSlots) return; - const newNodeSlot = newNodeSlots.findIndex( - (slot) => LiteGraph.isValidConnection(slot.type, this.type) - ); - if (newNodeSlot === -1) { - console.warn( - `Could not find slot with type ${this.type} on node ${newNode.title}. This should never happen` - ); - return; - } - if (this.releaseSlotType === "input") { - this.node.connect(this.slot, newNode, newNodeSlot, this.afterRerouteId); - } else { - newNode.connect(newNodeSlot, this.node, this.slot, this.afterRerouteId); - } - } -} +__name(render$9, "render$9"); +script$a.render = render$9; var theme$5 = /* @__PURE__ */ __name(function theme3(_ref) { var dt = _ref.dt; - return "\n.p-autocomplete {\n display: inline-flex;\n}\n\n.p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n right: ".concat(dt("autocomplete.padding.x"), ";\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-loader {\n right: calc(").concat(dt("autocomplete.dropdown.width"), " + ").concat(dt("autocomplete.padding.x"), ");\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input,\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input-multiple {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.p-autocomplete-dropdown {\n cursor: pointer;\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("autocomplete.dropdown.width"), ";\n border-top-right-radius: ").concat(dt("autocomplete.dropdown.border.radius"), ";\n border-bottom-right-radius: ").concat(dt("autocomplete.dropdown.border.radius"), ";\n background: ").concat(dt("autocomplete.dropdown.background"), ";\n border: 1px solid ").concat(dt("autocomplete.dropdown.border.color"), ";\n border-left: 0 none;\n color: ").concat(dt("autocomplete.dropdown.color"), ";\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ", outline-color ").concat(dt("autocomplete.transition.duration"), ", box-shadow ").concat(dt("autocomplete.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-autocomplete-dropdown:not(:disabled):hover {\n background: ").concat(dt("autocomplete.dropdown.hover.background"), ";\n border-color: ").concat(dt("autocomplete.dropdown.hover.border.color"), ";\n color: ").concat(dt("autocomplete.dropdown.hover.color"), ";\n}\n\n.p-autocomplete-dropdown:not(:disabled):active {\n background: ").concat(dt("autocomplete.dropdown.active.background"), ";\n border-color: ").concat(dt("autocomplete.dropdown.active.border.color"), ";\n color: ").concat(dt("autocomplete.dropdown.active.color"), ";\n}\n\n.p-autocomplete-dropdown:focus-visible {\n box-shadow: ").concat(dt("autocomplete.dropdown.focus.ring.shadow"), ";\n outline: ").concat(dt("autocomplete.dropdown.focus.ring.width"), " ").concat(dt("autocomplete.dropdown.focus.ring.style"), " ").concat(dt("autocomplete.dropdown.focus.ring.color"), ";\n outline-offset: ").concat(dt("autocomplete.dropdown.focus.ring.offset"), ";\n}\n\n.p-autocomplete .p-autocomplete-overlay {\n min-width: 100%;\n}\n\n.p-autocomplete-overlay {\n position: absolute;\n overflow: auto;\n top: 0;\n left: 0;\n background: ").concat(dt("autocomplete.overlay.background"), ";\n color: ").concat(dt("autocomplete.overlay.color"), ";\n border: 1px solid ").concat(dt("autocomplete.overlay.border.color"), ";\n border-radius: ").concat(dt("autocomplete.overlay.border.radius"), ";\n box-shadow: ").concat(dt("autocomplete.overlay.shadow"), ";\n}\n\n.p-autocomplete-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("autocomplete.list.gap"), ";\n padding: ").concat(dt("autocomplete.list.padding"), ";\n}\n\n.p-autocomplete-option {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: ").concat(dt("autocomplete.option.padding"), ";\n border: 0 none;\n color: ").concat(dt("autocomplete.option.color"), ";\n background: transparent;\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ";\n border-radius: ").concat(dt("autocomplete.option.border.radius"), ";\n}\n\n.p-autocomplete-option:not(.p-autocomplete-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt("autocomplete.option.focus.background"), ";\n color: ").concat(dt("autocomplete.option.focus.color"), ";\n}\n\n.p-autocomplete-option-selected {\n background: ").concat(dt("autocomplete.option.selected.background"), ";\n color: ").concat(dt("autocomplete.option.selected.color"), ";\n}\n\n.p-autocomplete-option-selected.p-focus {\n background: ").concat(dt("autocomplete.option.selected.focus.background"), ";\n color: ").concat(dt("autocomplete.option.selected.focus.color"), ";\n}\n\n.p-autocomplete-option-group {\n margin: 0;\n padding: ").concat(dt("autocomplete.option.group.padding"), ";\n color: ").concat(dt("autocomplete.option.group.color"), ";\n background: ").concat(dt("autocomplete.option.group.background"), ";\n font-weight: ").concat(dt("autocomplete.option.group.font.weight"), ";\n}\n\n.p-autocomplete-input-multiple {\n margin: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n padding: calc(").concat(dt("autocomplete.padding.y"), " / 2) ").concat(dt("autocomplete.padding.x"), ";\n gap: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n color: ").concat(dt("autocomplete.color"), ";\n background: ").concat(dt("autocomplete.background"), ";\n border: 1px solid ").concat(dt("autocomplete.border.color"), ";\n border-radius: ").concat(dt("autocomplete.border.radius"), ";\n width: 100%;\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ", outline-color ").concat(dt("autocomplete.transition.duration"), ", box-shadow ").concat(dt("autocomplete.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("autocomplete.shadow"), ";\n}\n\n.p-autocomplete:not(.p-disabled):hover .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.hover.border.color"), ";\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.focus.border.color"), ";\n box-shadow: ").concat(dt("autocomplete.focus.ring.shadow"), ";\n outline: ").concat(dt("autocomplete.focus.ring.width"), " ").concat(dt("autocomplete.focus.ring.style"), " ").concat(dt("autocomplete.focus.ring.color"), ";\n outline-offset: ").concat(dt("autocomplete.focus.ring.offset"), ";\n}\n\n.p-autocomplete.p-invalid .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.invalid.border.color"), ";\n}\n\n.p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.background"), ";\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.focus.background"), ";\n}\n\n.p-autocomplete.p-disabled .p-autocomplete-input-multiple {\n opacity: 1;\n background: ").concat(dt("autocomplete.disabled.background"), ";\n color: ").concat(dt("autocomplete.disabled.color"), ";\n}\n\n.p-autocomplete-chip.p-chip {\n padding-top: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n border-radius: ").concat(dt("autocomplete.chip.border.radius"), ";\n}\n\n.p-autocomplete-input-multiple:has(.p-autocomplete-chip) {\n padding-left: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-right: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n}\n\n.p-autocomplete-chip-item.p-focus .p-autocomplete-chip {\n background: ").concat(dt("inputchips.chip.focus.background"), ";\n color: ").concat(dt("inputchips.chip.focus.color"), ";\n}\n\n.p-autocomplete-input-chip {\n flex: 1 1 auto;\n display: inline-flex;\n padding-top: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n}\n\n.p-autocomplete-input-chip input {\n border: 0 none;\n outline: 0 none;\n background: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: inherit;\n}\n\n.p-autocomplete-input-chip input::placeholder {\n color: ").concat(dt("autocomplete.placeholder.color"), ";\n}\n\n.p-autocomplete-empty-message {\n padding: ").concat(dt("autocomplete.empty.message.padding"), ";\n}\n\n.p-autocomplete-fluid {\n display: flex;\n}\n\n.p-autocomplete-fluid:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n width: 1%;\n}\n"); + return "\n.p-autocomplete {\n display: inline-flex;\n}\n\n.p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n inset-inline-end: ".concat(dt("autocomplete.padding.x"), ";\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-loader {\n inset-inline-end: calc(").concat(dt("autocomplete.dropdown.width"), " + ").concat(dt("autocomplete.padding.x"), ");\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input,\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input-multiple {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n}\n\n.p-autocomplete-dropdown {\n cursor: pointer;\n display: inline-flex;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("autocomplete.dropdown.width"), ";\n border-start-end-radius: ").concat(dt("autocomplete.dropdown.border.radius"), ";\n border-end-end-radius: ").concat(dt("autocomplete.dropdown.border.radius"), ";\n background: ").concat(dt("autocomplete.dropdown.background"), ";\n border: 1px solid ").concat(dt("autocomplete.dropdown.border.color"), ";\n border-inline-start: 0 none;\n color: ").concat(dt("autocomplete.dropdown.color"), ";\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ", outline-color ").concat(dt("autocomplete.transition.duration"), ", box-shadow ").concat(dt("autocomplete.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-autocomplete-dropdown:not(:disabled):hover {\n background: ").concat(dt("autocomplete.dropdown.hover.background"), ";\n border-color: ").concat(dt("autocomplete.dropdown.hover.border.color"), ";\n color: ").concat(dt("autocomplete.dropdown.hover.color"), ";\n}\n\n.p-autocomplete-dropdown:not(:disabled):active {\n background: ").concat(dt("autocomplete.dropdown.active.background"), ";\n border-color: ").concat(dt("autocomplete.dropdown.active.border.color"), ";\n color: ").concat(dt("autocomplete.dropdown.active.color"), ";\n}\n\n.p-autocomplete-dropdown:focus-visible {\n box-shadow: ").concat(dt("autocomplete.dropdown.focus.ring.shadow"), ";\n outline: ").concat(dt("autocomplete.dropdown.focus.ring.width"), " ").concat(dt("autocomplete.dropdown.focus.ring.style"), " ").concat(dt("autocomplete.dropdown.focus.ring.color"), ";\n outline-offset: ").concat(dt("autocomplete.dropdown.focus.ring.offset"), ";\n}\n\n.p-autocomplete .p-autocomplete-overlay {\n min-width: 100%;\n}\n\n.p-autocomplete-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ").concat(dt("autocomplete.overlay.background"), ";\n color: ").concat(dt("autocomplete.overlay.color"), ";\n border: 1px solid ").concat(dt("autocomplete.overlay.border.color"), ";\n border-radius: ").concat(dt("autocomplete.overlay.border.radius"), ";\n box-shadow: ").concat(dt("autocomplete.overlay.shadow"), ";\n}\n\n.p-autocomplete-list-container {\n overflow: auto;\n}\n\n.p-autocomplete-list {\n margin: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("autocomplete.list.gap"), ";\n padding: ").concat(dt("autocomplete.list.padding"), ";\n}\n\n.p-autocomplete-option {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: ").concat(dt("autocomplete.option.padding"), ";\n border: 0 none;\n color: ").concat(dt("autocomplete.option.color"), ";\n background: transparent;\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ";\n border-radius: ").concat(dt("autocomplete.option.border.radius"), ";\n}\n\n.p-autocomplete-option:not(.p-autocomplete-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt("autocomplete.option.focus.background"), ";\n color: ").concat(dt("autocomplete.option.focus.color"), ";\n}\n\n.p-autocomplete-option-selected {\n background: ").concat(dt("autocomplete.option.selected.background"), ";\n color: ").concat(dt("autocomplete.option.selected.color"), ";\n}\n\n.p-autocomplete-option-selected.p-focus {\n background: ").concat(dt("autocomplete.option.selected.focus.background"), ";\n color: ").concat(dt("autocomplete.option.selected.focus.color"), ";\n}\n\n.p-autocomplete-option-group {\n margin: 0;\n padding: ").concat(dt("autocomplete.option.group.padding"), ";\n color: ").concat(dt("autocomplete.option.group.color"), ";\n background: ").concat(dt("autocomplete.option.group.background"), ";\n font-weight: ").concat(dt("autocomplete.option.group.font.weight"), ";\n}\n\n.p-autocomplete-input-multiple {\n margin: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n padding: calc(").concat(dt("autocomplete.padding.y"), " / 2) ").concat(dt("autocomplete.padding.x"), ";\n gap: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n color: ").concat(dt("autocomplete.color"), ";\n background: ").concat(dt("autocomplete.background"), ";\n border: 1px solid ").concat(dt("autocomplete.border.color"), ";\n border-radius: ").concat(dt("autocomplete.border.radius"), ";\n width: 100%;\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ", outline-color ").concat(dt("autocomplete.transition.duration"), ", box-shadow ").concat(dt("autocomplete.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("autocomplete.shadow"), ";\n}\n\n.p-autocomplete:not(.p-disabled):hover .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.hover.border.color"), ";\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.focus.border.color"), ";\n box-shadow: ").concat(dt("autocomplete.focus.ring.shadow"), ";\n outline: ").concat(dt("autocomplete.focus.ring.width"), " ").concat(dt("autocomplete.focus.ring.style"), " ").concat(dt("autocomplete.focus.ring.color"), ";\n outline-offset: ").concat(dt("autocomplete.focus.ring.offset"), ";\n}\n\n.p-autocomplete.p-invalid .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.invalid.border.color"), ";\n}\n\n.p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.background"), ";\n}\n\n.p-autocomplete:not(.p-disabled):hover .p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.hover.background"), ";\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.focus.background"), ";\n}\n\n.p-autocomplete.p-disabled .p-autocomplete-input-multiple {\n opacity: 1;\n background: ").concat(dt("autocomplete.disabled.background"), ";\n color: ").concat(dt("autocomplete.disabled.color"), ";\n}\n\n.p-autocomplete-chip.p-chip {\n padding-block-start: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-block-end: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n border-radius: ").concat(dt("autocomplete.chip.border.radius"), ";\n}\n\n.p-autocomplete-input-multiple:has(.p-autocomplete-chip) {\n padding-inline-start: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-inline-end: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n}\n\n.p-autocomplete-chip-item.p-focus .p-autocomplete-chip {\n background: ").concat(dt("autocomplete.chip.focus.background"), ";\n color: ").concat(dt("autocomplete.chip.focus.color"), ";\n}\n\n.p-autocomplete-input-chip {\n flex: 1 1 auto;\n display: inline-flex;\n padding-block-start: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-block-end: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n}\n\n.p-autocomplete-input-chip input {\n border: 0 none;\n outline: 0 none;\n background: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: inherit;\n}\n\n.p-autocomplete-input-chip input::placeholder {\n color: ").concat(dt("autocomplete.placeholder.color"), ";\n}\n\n.p-autocomplete.p-invalid .p-autocomplete-input-chip input::placeholder {\n color: ").concat(dt("autocomplete.invalid.placeholder.color"), ";\n}\n\n.p-autocomplete-empty-message {\n padding: ").concat(dt("autocomplete.empty.message.padding"), ";\n}\n\n.p-autocomplete-fluid {\n display: flex;\n}\n\n.p-autocomplete-fluid:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n width: 1%;\n}\n\n.p-autocomplete:has(.p-inputtext-sm) .p-autocomplete-dropdown {\n width: ").concat(dt("autocomplete.dropdown.sm.width"), ";\n}\n\n.p-autocomplete:has(.p-inputtext-sm) .p-autocomplete-dropdown .p-icon {\n font-size: ").concat(dt("form.field.sm.font.size"), ";\n width: ").concat(dt("form.field.sm.font.size"), ";\n height: ").concat(dt("form.field.sm.font.size"), ";\n}\n\n.p-autocomplete:has(.p-inputtext-lg) .p-autocomplete-dropdown {\n width: ").concat(dt("autocomplete.dropdown.lg.width"), ";\n}\n\n.p-autocomplete:has(.p-inputtext-lg) .p-autocomplete-dropdown .p-icon {\n font-size: ").concat(dt("form.field.lg.font.size"), ";\n width: ").concat(dt("form.field.lg.font.size"), ";\n height: ").concat(dt("form.field.lg.font.size"), ";\n}\n"); }, "theme"); var inlineStyles$3 = { root: { @@ -1785,19 +1047,20 @@ var classes$5 = { var instance = _ref2.instance, props = _ref2.props; return ["p-autocomplete p-component p-inputwrapper", { "p-disabled": props.disabled, - "p-invalid": props.invalid, + "p-invalid": instance.$invalid, "p-focus": instance.focused, - "p-inputwrapper-filled": props.modelValue || isNotEmpty(instance.inputValue), + "p-inputwrapper-filled": instance.$filled || isNotEmpty(instance.inputValue), "p-inputwrapper-focus": instance.focused, "p-autocomplete-open": instance.overlayVisible, - "p-autocomplete-fluid": instance.hasFluid + "p-autocomplete-fluid": instance.$fluid }]; }, "root"), - pcInput: "p-autocomplete-input", + pcInputText: "p-autocomplete-input", inputMultiple: /* @__PURE__ */ __name(function inputMultiple(_ref3) { - var props = _ref3.props, instance = _ref3.instance; + _ref3.props; + var instance = _ref3.instance; return ["p-autocomplete-input-multiple", { - "p-variant-filled": props.variant ? props.variant === "filled" : instance.$primevue.config.inputStyle === "filled" || instance.$primevue.config.inputVariant === "filled" + "p-variant-filled": instance.$variant === "filled" }]; }, "inputMultiple"), chipItem: /* @__PURE__ */ __name(function chipItem(_ref4) { @@ -1812,6 +1075,7 @@ var classes$5 = { loader: "p-autocomplete-loader", dropdown: "p-autocomplete-dropdown", overlay: "p-autocomplete-overlay p-component", + listContainer: "p-autocomplete-list-container", list: "p-autocomplete-list", optionGroup: "p-autocomplete-option-group", option: /* @__PURE__ */ __name(function option(_ref5) { @@ -1832,9 +1096,8 @@ var AutoCompleteStyle = BaseStyle.extend({ }); var script$1$5 = { name: "BaseAutoComplete", - "extends": script$e, + "extends": script$i, props: { - modelValue: null, suggestions: { type: Array, "default": null @@ -1863,18 +1126,6 @@ var script$1$5 = { type: Boolean, "default": false }, - variant: { - type: String, - "default": null - }, - invalid: { - type: Boolean, - "default": false - }, - disabled: { - type: Boolean, - "default": false - }, placeholder: { type: String, "default": null @@ -1991,6 +1242,10 @@ var script$1$5 = { type: String, "default": null }, + showEmptyMessage: { + type: Boolean, + "default": true + }, tabindex: { type: Number, "default": 0 @@ -2006,14 +1261,10 @@ var script$1$5 = { ariaLabelledby: { type: String, "default": null - }, - fluid: { - type: Boolean, - "default": null } }, style: AutoCompleteStyle, - provide: /* @__PURE__ */ __name(function provide7() { + provide: /* @__PURE__ */ __name(function provide6() { return { $pcAutoComplete: this, $parentInstance: this @@ -2059,11 +1310,11 @@ function _arrayLikeToArray$1(r, a) { return n; } __name(_arrayLikeToArray$1, "_arrayLikeToArray$1"); -var script$7 = { +var script$9 = { name: "AutoComplete", "extends": script$1$5, inheritAttrs: false, - emits: ["update:modelValue", "change", "focus", "blur", "item-select", "item-unselect", "option-select", "option-unselect", "dropdown-click", "clear", "complete", "before-show", "before-hide", "show", "hide"], + emits: ["change", "focus", "blur", "item-select", "item-unselect", "option-select", "option-unselect", "dropdown-click", "clear", "complete", "before-show", "before-hide", "show", "hide"], inject: { $pcFluid: { "default": null @@ -2096,6 +1347,7 @@ var script$7 = { this.show(); this.focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; this.searching = false; + !this.showEmptyMessage && this.visibleOptions.length === 0 && this.hide(); } this.autoUpdateModel(); }, "suggestions") @@ -2171,12 +1423,13 @@ var script$7 = { hide: /* @__PURE__ */ __name(function hide(isFocus) { var _this2 = this; var _hide = /* @__PURE__ */ __name(function _hide2() { + var _this2$$refs$focusInp; _this2.$emit("before-hide"); _this2.dirty = isFocus; _this2.overlayVisible = false; _this2.clicked = false; _this2.focusedOptionIndex = -1; - isFocus && focus(_this2.multiple ? _this2.$refs.focusInput : _this2.$refs.focusInput.$el); + isFocus && focus(_this2.multiple ? _this2.$refs.focusInput : (_this2$$refs$focusInp = _this2.$refs.focusInput) === null || _this2$$refs$focusInp === void 0 ? void 0 : _this2$$refs$focusInp.$el); }, "_hide"); setTimeout(function() { _hide(); @@ -2198,10 +1451,12 @@ var script$7 = { this.$emit("focus", event); }, "onFocus"), onBlur: /* @__PURE__ */ __name(function onBlur(event) { + var _this$formField$onBlu, _this$formField; this.dirty = false; this.focused = false; this.focusedOptionIndex = -1; this.$emit("blur", event); + (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField); }, "onBlur"), onKeyDown: /* @__PURE__ */ __name(function onKeyDown(event) { if (this.disabled) { @@ -2325,7 +1580,7 @@ var script$7 = { }, "onMultipleContainerKeyDown"), onContainerClick: /* @__PURE__ */ __name(function onContainerClick(event) { this.clicked = true; - if (this.disabled || this.searching || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) { + if (this.disabled || this.searching || this.loading || this.isDropdownClicked(event)) { return; } if (!this.overlay || !this.overlay.contains(event.target)) { @@ -2354,7 +1609,7 @@ var script$7 = { if (this.multiple) { this.$refs.focusInput.value = ""; if (!this.isSelected(option2)) { - this.updateModel(event, [].concat(_toConsumableArray$1(this.modelValue || []), [value])); + this.updateModel(event, [].concat(_toConsumableArray$1(this.d_value || []), [value])); } } else { this.updateModel(event, value); @@ -2415,9 +1670,9 @@ var script$7 = { var target = event.currentTarget; this.focusedOptionIndex = -1; if (this.multiple) { - if (isEmpty(target.value) && this.hasSelectedOption) { + if (isEmpty(target.value) && this.$filled) { focus(this.$refs.multiContainer); - this.focusedMultipleOptionIndex = this.modelValue.length; + this.focusedMultipleOptionIndex = this.d_value.length; } else { event.stopPropagation(); } @@ -2452,7 +1707,7 @@ var script$7 = { onEnterKey: /* @__PURE__ */ __name(function onEnterKey2(event) { if (!this.typeahead) { if (this.multiple) { - this.updateModel(event, [].concat(_toConsumableArray$1(this.modelValue || []), [event.target.value])); + this.updateModel(event, [].concat(_toConsumableArray$1(this.d_value || []), [event.target.value])); this.$refs.focusInput.value = ""; } } else { @@ -2466,6 +1721,7 @@ var script$7 = { this.hide(); } } + event.preventDefault(); }, "onEnterKey"), onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey(event) { this.overlayVisible && this.hide(true); @@ -2479,10 +1735,10 @@ var script$7 = { }, "onTabKey"), onBackspaceKey: /* @__PURE__ */ __name(function onBackspaceKey(event) { if (this.multiple) { - if (isNotEmpty(this.modelValue) && !this.$refs.focusInput.value) { - var removedValue = this.modelValue[this.modelValue.length - 1]; - var newValue = this.modelValue.slice(0, -1); - this.$emit("update:modelValue", newValue); + if (isNotEmpty(this.d_value) && !this.$refs.focusInput.value) { + var removedValue = this.d_value[this.d_value.length - 1]; + var newValue = this.d_value.slice(0, -1); + this.writeValue(newValue, event); this.$emit("item-unselect", { originalEvent: event, value: removedValue @@ -2500,7 +1756,7 @@ var script$7 = { }, "onArrowLeftKeyOnMultiple"), onArrowRightKeyOnMultiple: /* @__PURE__ */ __name(function onArrowRightKeyOnMultiple() { this.focusedMultipleOptionIndex++; - if (this.focusedMultipleOptionIndex > this.modelValue.length - 1) { + if (this.focusedMultipleOptionIndex > this.d_value.length - 1) { this.focusedMultipleOptionIndex = -1; focus(this.$refs.focusInput); } @@ -2620,9 +1876,9 @@ var script$7 = { isSelected: /* @__PURE__ */ __name(function isSelected(option2) { var _this8 = this; var optionValue = this.getOptionValue(option2); - return this.multiple ? (this.modelValue || []).some(function(value) { + return this.multiple ? (this.d_value || []).some(function(value) { return _this8.isEquals(value, optionValue); - }) : this.isEquals(this.modelValue, this.getOptionValue(option2)); + }) : this.isEquals(this.d_value, this.getOptionValue(option2)); }, "isSelected"), findFirstOptionIndex: /* @__PURE__ */ __name(function findFirstOptionIndex() { var _this9 = this; @@ -2652,7 +1908,7 @@ var script$7 = { }, "findPrevOptionIndex"), findSelectedOptionIndex: /* @__PURE__ */ __name(function findSelectedOptionIndex() { var _this13 = this; - return this.hasSelectedOption ? this.visibleOptions.findIndex(function(option2) { + return this.$filled ? this.visibleOptions.findIndex(function(option2) { return _this13.isValidSelectedOption(option2); }) : -1; }, "findSelectedOptionIndex"), @@ -2679,8 +1935,8 @@ var script$7 = { }, "search"), removeOption: /* @__PURE__ */ __name(function removeOption(event, index) { var _this14 = this; - var removedOption = this.modelValue[index]; - var value = this.modelValue.filter(function(_2, i) { + var removedOption = this.d_value[index]; + var value = this.d_value.filter(function(_, i) { return i !== index; }).map(function(option2) { return _this14.getOptionValue(option2); @@ -2723,13 +1979,13 @@ var script$7 = { }); }, "scrollInView"), autoUpdateModel: /* @__PURE__ */ __name(function autoUpdateModel() { - if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) { + if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) { this.focusedOptionIndex = this.findFirstFocusedOptionIndex(); this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false); } }, "autoUpdateModel"), updateModel: /* @__PURE__ */ __name(function updateModel(event, value) { - this.$emit("update:modelValue", value); + this.writeValue(value, event); this.$emit("change", { originalEvent: event, value @@ -2766,19 +2022,20 @@ var script$7 = { return this.optionGroupLabel ? this.flatOptions(this.suggestions) : this.suggestions || []; }, "visibleOptions"), inputValue: /* @__PURE__ */ __name(function inputValue() { - if (isNotEmpty(this.modelValue)) { - if (_typeof$1$1(this.modelValue) === "object") { - var label = this.getOptionLabel(this.modelValue); - return label != null ? label : this.modelValue; + if (this.$filled) { + if (_typeof$1$1(this.d_value) === "object") { + var label = this.getOptionLabel(this.d_value); + return label != null ? label : this.d_value; } else { - return this.modelValue; + return this.d_value; } } else { return ""; } }, "inputValue"), + // @deprecated use $filled instead. hasSelectedOption: /* @__PURE__ */ __name(function hasSelectedOption() { - return isNotEmpty(this.modelValue); + return this.$filled; }, "hasSelectedOption"), equalityKey: /* @__PURE__ */ __name(function equalityKey() { return this.dataKey; @@ -2799,7 +2056,7 @@ var script$7 = { return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || ""; }, "emptySelectionMessageText"), selectedMessageText: /* @__PURE__ */ __name(function selectedMessageText() { - return this.hasSelectedOption ? this.selectionMessageText.replaceAll("{0}", this.multiple ? this.modelValue.length : "1") : this.emptySelectionMessageText; + return this.$filled ? this.selectionMessageText.replaceAll("{0}", this.multiple ? this.d_value.length : "1") : this.emptySelectionMessageText; }, "selectedMessageText"), listAriaLabel: /* @__PURE__ */ __name(function listAriaLabel() { return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.listLabel : void 0; @@ -2821,18 +2078,15 @@ var script$7 = { }, "virtualScrollerDisabled"), panelId: /* @__PURE__ */ __name(function panelId() { return this.id + "_panel"; - }, "panelId"), - hasFluid: /* @__PURE__ */ __name(function hasFluid() { - return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; - }, "hasFluid") + }, "panelId") }, components: { - InputText: script$i, - VirtualScroller: script$j, - Portal: script$k, - ChevronDownIcon: script$l, - SpinnerIcon: script$m, - Chip: script$n + InputText: script$j, + VirtualScroller: script$k, + Portal: script$l, + ChevronDownIcon: script$m, + SpinnerIcon: script$n, + Chip: script$o }, directives: { ripple: Ripple @@ -2890,15 +2144,15 @@ function _toPrimitive$4(t, r) { return ("string" === r ? String : Number)(t); } __name(_toPrimitive$4, "_toPrimitive$4"); -var _hoisted_1$k = ["aria-activedescendant"]; -var _hoisted_2$e = ["id", "aria-label", "aria-setsize", "aria-posinset"]; -var _hoisted_3$d = ["id", "placeholder", "tabindex", "disabled", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-invalid"]; -var _hoisted_4$5 = ["disabled", "aria-expanded", "aria-controls"]; -var _hoisted_5$3 = ["id"]; -var _hoisted_6$2 = ["id", "aria-label"]; -var _hoisted_7$1 = ["id"]; -var _hoisted_8$1 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousemove", "data-p-selected", "data-p-focus", "data-p-disabled"]; -function render$c(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$5 = ["aria-activedescendant"]; +var _hoisted_2$2 = ["id", "aria-label", "aria-setsize", "aria-posinset"]; +var _hoisted_3$2 = ["id", "placeholder", "tabindex", "disabled", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-invalid"]; +var _hoisted_4$2 = ["disabled", "aria-expanded", "aria-controls"]; +var _hoisted_5$2 = ["id"]; +var _hoisted_6$1 = ["id", "aria-label"]; +var _hoisted_7 = ["id"]; +var _hoisted_8 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousemove", "data-p-selected", "data-p-focus", "data-p-disabled"]; +function render$8(_ctx, _cache, $props, $setup, $data, $options) { var _component_InputText = resolveComponent("InputText"); var _component_Chip = resolveComponent("Chip"); var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); @@ -2917,13 +2171,15 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { ref: "focusInput", id: _ctx.inputId, type: "text", - "class": normalizeClass([_ctx.cx("pcInput"), _ctx.inputClass]), + name: _ctx.$formName, + "class": normalizeClass([_ctx.cx("pcInputText"), _ctx.inputClass]), style: normalizeStyle(_ctx.inputStyle), value: $options.inputValue, placeholder: _ctx.placeholder, tabindex: !_ctx.disabled ? _ctx.tabindex : -1, - fluid: $options.hasFluid, + fluid: _ctx.$fluid, disabled: _ctx.disabled, + size: _ctx.size, invalid: _ctx.invalid, variant: _ctx.variant, autocomplete: "off", @@ -2941,8 +2197,8 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { onInput: $options.onInput, onChange: $options.onChange, unstyled: _ctx.unstyled, - pt: _ctx.ptm("pcInput") - }, null, 8, ["id", "class", "style", "value", "placeholder", "tabindex", "fluid", "disabled", "invalid", "variant", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "onFocus", "onBlur", "onKeydown", "onInput", "onChange", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.multiple ? (openBlock(), createElementBlock("ul", mergeProps({ + pt: _ctx.ptm("pcInputText") + }, null, 8, ["id", "name", "class", "style", "value", "placeholder", "tabindex", "fluid", "disabled", "size", "invalid", "variant", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "onFocus", "onBlur", "onKeydown", "onInput", "onChange", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.multiple ? (openBlock(), createElementBlock("ul", mergeProps({ key: 1, ref: "multiContainer", "class": _ctx.cx("inputMultiple"), @@ -2959,7 +2215,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { onKeydown: _cache[7] || (_cache[7] = function() { return $options.onMultipleContainerKeyDown && $options.onMultipleContainerKeyDown.apply($options, arguments); }) - }, _ctx.ptm("inputMultiple")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.modelValue, function(option2, i) { + }, _ctx.ptm("inputMultiple")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.d_value, function(option2, i) { return openBlock(), createElementBlock("li", mergeProps({ key: "".concat(i, "_").concat($options.getOptionLabel(option2)), id: $data.id + "_multiple_option_" + i, @@ -2969,7 +2225,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { role: "option", "aria-label": $options.getOptionLabel(option2), "aria-selected": true, - "aria-setsize": _ctx.modelValue.length, + "aria-setsize": _ctx.d_value.length, "aria-posinset": i + 1, ref_for: true }, _ctx.ptm("chipItem")), [renderSlot(_ctx.$slots, "chip", mergeProps({ @@ -3003,7 +2259,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { }), _: 2 }, 1032, ["class", "label", "removeIcon", "unstyled", "onRemove", "pt"])]; - })], 16, _hoisted_2$e); + })], 16, _hoisted_2$2); }), 128)), createBaseVNode("li", mergeProps({ "class": _ctx.cx("inputChip"), role: "option" @@ -3041,7 +2297,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { onChange: _cache[4] || (_cache[4] = function() { return $options.onChange && $options.onChange.apply($options, arguments); }) - }, _ctx.ptm("input")), null, 16, _hoisted_3$d)], 16)], 16, _hoisted_1$k)) : createCommentVNode("", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? "loader" : "loadingicon", { + }, _ctx.ptm("input")), null, 16, _hoisted_3$2)], 16)], 16, _hoisted_1$5)) : createCommentVNode("", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? "loader" : "loadingicon", { key: 2, "class": normalizeClass(_ctx.cx("loader")) }, function() { @@ -3078,7 +2334,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? "span" : "ChevronDownIcon"), mergeProps({ "class": _ctx.dropdownIcon }, _ctx.ptm("dropdownIcon")), null, 16, ["class"]))]; - })], 16, _hoisted_4$5)) : createCommentVNode("", true)]; + })], 16, _hoisted_4$2)) : createCommentVNode("", true)]; }), createBaseVNode("span", mergeProps({ role: "status", "aria-live": "polite", @@ -3102,9 +2358,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { ref: $options.overlayRef, id: $options.panelId, "class": [_ctx.cx("overlay"), _ctx.panelClass, _ctx.overlayClass], - style: _objectSpread$3(_objectSpread$3(_objectSpread$3({}, _ctx.panelStyle), _ctx.overlayStyle), {}, { - "max-height": $options.virtualScrollerDisabled ? _ctx.scrollHeight : "" - }), + style: _objectSpread$3(_objectSpread$3({}, _ctx.panelStyle), _ctx.overlayStyle), onClick: _cache[9] || (_cache[9] = function() { return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); }), @@ -3112,9 +2366,14 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments); }) }, _ctx.ptm("overlay")), [renderSlot(_ctx.$slots, "header", { - value: _ctx.modelValue, + value: _ctx.d_value, suggestions: $options.visibleOptions - }), createVNode(_component_VirtualScroller, mergeProps({ + }), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("listContainer"), + style: { + "max-height": $options.virtualScrollerDisabled ? _ctx.scrollHeight : "" + } + }, _ctx.ptm("listContainer")), [createVNode(_component_VirtualScroller, mergeProps({ ref: $options.virtualScrollerRef }, _ctx.virtualScrollerOptions, { style: { @@ -3128,7 +2387,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { content: withCtx(function(_ref) { var styleClass = _ref.styleClass, contentRef = _ref.contentRef, items = _ref.items, getItemOptions = _ref.getItemOptions, contentStyle = _ref.contentStyle, itemSize = _ref.itemSize; return [createBaseVNode("ul", mergeProps({ - ref: /* @__PURE__ */ __name(function ref2(el) { + ref: /* @__PURE__ */ __name(function ref(el) { return $options.listRef(el, contentRef); }, "ref"), id: $data.id + "_list", @@ -3153,7 +2412,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { index: $options.getOptionIndex(i, getItemOptions) }, function() { return [createTextVNode(toDisplayString($options.getOptionGroupLabel(option2.optionGroup)), 1)]; - })], 16, _hoisted_7$1)) : withDirectives((openBlock(), createElementBlock("li", mergeProps({ + })], 16, _hoisted_7)) : withDirectives((openBlock(), createElementBlock("li", mergeProps({ key: 1, id: $data.id + "_" + $options.getOptionIndex(i, getItemOptions), style: { @@ -3185,14 +2444,14 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { index: $options.getOptionIndex(i, getItemOptions) }, function() { return [createTextVNode(toDisplayString($options.getOptionLabel(option2)), 1)]; - })], 16, _hoisted_8$1)), [[_directive_ripple]])], 64); - }), 128)), !items || items && items.length === 0 ? (openBlock(), createElementBlock("li", mergeProps({ + })], 16, _hoisted_8)), [[_directive_ripple]])], 64); + }), 128)), _ctx.showEmptyMessage && (!items || items && items.length === 0) ? (openBlock(), createElementBlock("li", mergeProps({ key: 0, "class": _ctx.cx("emptyMessage"), role: "option" }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "empty", {}, function() { return [createTextVNode(toDisplayString($options.searchResultMessageText), 1)]; - })], 16)) : createCommentVNode("", true)], 16, _hoisted_6$2)]; + })], 16)) : createCommentVNode("", true)], 16, _hoisted_6$1)]; }), _: 2 }, [_ctx.$slots.loader ? { @@ -3204,8 +2463,8 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { })]; }), key: "0" - } : void 0]), 1040, ["style", "items", "disabled", "pt"]), renderSlot(_ctx.$slots, "footer", { - value: _ctx.modelValue, + } : void 0]), 1040, ["style", "items", "disabled", "pt"])], 16), renderSlot(_ctx.$slots, "footer", { + value: _ctx.d_value, suggestions: $options.visibleOptions }), createBaseVNode("span", mergeProps({ role: "status", @@ -3213,7 +2472,7 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { "class": "p-hidden-accessible" }, _ctx.ptm("hiddenSelectedMessage"), { "data-p-hidden-accessible": true - }), toDisplayString($options.selectedMessageText), 17)], 16, _hoisted_5$3)) : createCommentVNode("", true)]; + }), toDisplayString($options.selectedMessageText), 17)], 16, _hoisted_5$2)) : createCommentVNode("", true)]; }), _: 3 }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; @@ -3221,458 +2480,11 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { _: 3 }, 8, ["appendTo"])], 16); } -__name(render$c, "render$c"); -script$7.render = render$c; -const _sfc_main$k = { - name: "AutoCompletePlus", - extends: script$7, - emits: ["focused-option-changed"], - mounted() { - if (typeof script$7.mounted === "function") { - script$7.mounted.call(this); - } - this.$watch( - () => this.focusedOptionIndex, - (newVal, oldVal) => { - this.$emit("focused-option-changed", newVal); - } - ); - } -}; -const _withScopeId$8 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-fd0a74bd"), n = n(), popScopeId(), n), "_withScopeId$8"); -const _hoisted_1$j = { class: "option-container flex justify-between items-center px-2 py-0 cursor-pointer overflow-hidden w-full" }; -const _hoisted_2$d = { class: "option-display-name font-semibold flex flex-col" }; -const _hoisted_3$c = { key: 0 }; -const _hoisted_4$4 = /* @__PURE__ */ _withScopeId$8(() => /* @__PURE__ */ createBaseVNode("i", { class: "pi pi-bookmark-fill text-sm mr-1" }, null, -1)); -const _hoisted_5$2 = [ - _hoisted_4$4 -]; -const _hoisted_6$1 = ["innerHTML"]; -const _hoisted_7 = /* @__PURE__ */ _withScopeId$8(() => /* @__PURE__ */ createBaseVNode("span", null, " ", -1)); -const _hoisted_8 = ["innerHTML"]; -const _hoisted_9 = { - key: 0, - class: "option-category font-light text-sm text-muted overflow-hidden text-ellipsis whitespace-nowrap" -}; -const _hoisted_10 = { class: "option-badges" }; -const _sfc_main$j = /* @__PURE__ */ defineComponent({ - __name: "NodeSearchItem", - props: { - nodeDef: {}, - currentQuery: {} - }, - setup(__props) { - const settingStore = useSettingStore(); - const showCategory = computed( - () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowCategory") - ); - const showIdName = computed( - () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowIdName") - ); - const showNodeFrequency = computed( - () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowNodeFrequency") - ); - const nodeFrequencyStore = useNodeFrequencyStore(); - const nodeFrequency = computed( - () => nodeFrequencyStore.getNodeFrequency(props.nodeDef) - ); - const nodeBookmarkStore = useNodeBookmarkStore(); - const isBookmarked = computed( - () => nodeBookmarkStore.isBookmarked(props.nodeDef) - ); - const props = __props; - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$j, [ - createBaseVNode("div", _hoisted_2$d, [ - createBaseVNode("div", null, [ - isBookmarked.value ? (openBlock(), createElementBlock("span", _hoisted_3$c, _hoisted_5$2)) : createCommentVNode("", true), - createBaseVNode("span", { - innerHTML: unref(highlightQuery)(_ctx.nodeDef.display_name, _ctx.currentQuery) - }, null, 8, _hoisted_6$1), - _hoisted_7, - showIdName.value ? (openBlock(), createBlock(unref(script$o), { - key: 1, - severity: "secondary" - }, { - default: withCtx(() => [ - createBaseVNode("span", { - innerHTML: unref(highlightQuery)(_ctx.nodeDef.name, _ctx.currentQuery) - }, null, 8, _hoisted_8) - ]), - _: 1 - })) : createCommentVNode("", true) - ]), - showCategory.value ? (openBlock(), createElementBlock("div", _hoisted_9, toDisplayString(_ctx.nodeDef.category.replaceAll("/", " > ")), 1)) : createCommentVNode("", true) - ]), - createBaseVNode("div", _hoisted_10, [ - _ctx.nodeDef.experimental ? (openBlock(), createBlock(unref(script$o), { - key: 0, - value: _ctx.$t("g.experimental"), - severity: "primary" - }, null, 8, ["value"])) : createCommentVNode("", true), - _ctx.nodeDef.deprecated ? (openBlock(), createBlock(unref(script$o), { - key: 1, - value: _ctx.$t("g.deprecated"), - severity: "danger" - }, null, 8, ["value"])) : createCommentVNode("", true), - showNodeFrequency.value && nodeFrequency.value > 0 ? (openBlock(), createBlock(unref(script$o), { - key: 2, - value: unref(formatNumberWithSuffix)(nodeFrequency.value, { roundToInt: true }), - severity: "secondary" - }, null, 8, ["value"])) : createCommentVNode("", true), - _ctx.nodeDef.nodeSource.type !== unref(NodeSourceType).Unknown ? (openBlock(), createBlock(unref(script$n), { - key: 3, - class: "text-sm font-light" - }, { - default: withCtx(() => [ - createTextVNode(toDisplayString(_ctx.nodeDef.nodeSource.displayText), 1) - ]), - _: 1 - })) : createCommentVNode("", true) - ]) - ]); - }; - } -}); -const NodeSearchItem = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-fd0a74bd"]]); -const _hoisted_1$i = { class: "comfy-vue-node-search-container flex justify-center items-center w-full min-w-96 pointer-events-auto" }; -const _hoisted_2$c = { - key: 0, - class: "comfy-vue-node-preview-container absolute left-[-350px] top-[50px]" -}; -const _hoisted_3$b = /* @__PURE__ */ createBaseVNode("h3", null, "Add node filter condition", -1); -const _hoisted_4$3 = { class: "_dialog-body" }; -const _sfc_main$i = /* @__PURE__ */ defineComponent({ - __name: "NodeSearchBox", - props: { - filters: {}, - searchLimit: { default: 64 } - }, - emits: ["addFilter", "removeFilter", "addNode"], - setup(__props, { emit: __emit }) { - const settingStore = useSettingStore(); - const { t } = useI18n(); - const enableNodePreview = computed( - () => settingStore.get("Comfy.NodeSearchBoxImpl.NodePreview") - ); - const props = __props; - const nodeSearchFilterVisible = ref(false); - const inputId = `comfy-vue-node-search-box-input-${Math.random()}`; - const suggestions2 = ref([]); - const hoveredSuggestion = ref(null); - const currentQuery = ref(""); - const placeholder = computed(() => { - return props.filters.length === 0 ? t("g.searchNodes") + "..." : ""; - }); - const nodeDefStore = useNodeDefStore(); - const nodeFrequencyStore = useNodeFrequencyStore(); - const search2 = /* @__PURE__ */ __name((query) => { - const queryIsEmpty = query === "" && props.filters.length === 0; - currentQuery.value = query; - suggestions2.value = queryIsEmpty ? nodeFrequencyStore.topNodeDefs : [ - ...nodeDefStore.nodeSearchService.searchNode(query, props.filters, { - limit: props.searchLimit - }) - ]; - }, "search"); - const emit = __emit; - let inputElement = null; - const reFocusInput = /* @__PURE__ */ __name(() => { - inputElement ??= document.getElementById(inputId); - if (inputElement) { - inputElement.blur(); - nextTick(() => inputElement?.focus()); - } - }, "reFocusInput"); - onMounted(reFocusInput); - const onAddFilter = /* @__PURE__ */ __name((filterAndValue) => { - nodeSearchFilterVisible.value = false; - emit("addFilter", filterAndValue); - }, "onAddFilter"); - const onRemoveFilter = /* @__PURE__ */ __name((event, filterAndValue) => { - event.stopPropagation(); - event.preventDefault(); - emit("removeFilter", filterAndValue); - reFocusInput(); - }, "onRemoveFilter"); - const setHoverSuggestion = /* @__PURE__ */ __name((index) => { - if (index === -1) { - hoveredSuggestion.value = null; - return; - } - const value = suggestions2.value[index]; - hoveredSuggestion.value = value; - }, "setHoverSuggestion"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$i, [ - enableNodePreview.value ? (openBlock(), createElementBlock("div", _hoisted_2$c, [ - hoveredSuggestion.value ? (openBlock(), createBlock(NodePreview, { - nodeDef: hoveredSuggestion.value, - key: hoveredSuggestion.value?.name || "" - }, null, 8, ["nodeDef"])) : createCommentVNode("", true) - ])) : createCommentVNode("", true), - createVNode(unref(script$d), { - icon: "pi pi-filter", - severity: "secondary", - class: "filter-button z-10", - onClick: _cache[0] || (_cache[0] = ($event) => nodeSearchFilterVisible.value = true) - }), - createVNode(unref(script$p), { - visible: nodeSearchFilterVisible.value, - "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => nodeSearchFilterVisible.value = $event), - class: "min-w-96", - "dismissable-mask": "", - modal: "", - onHide: reFocusInput - }, { - header: withCtx(() => [ - _hoisted_3$b - ]), - default: withCtx(() => [ - createBaseVNode("div", _hoisted_4$3, [ - createVNode(NodeSearchFilter, { onAddFilter }) - ]) - ]), - _: 1 - }, 8, ["visible"]), - createVNode(_sfc_main$k, { - "model-value": props.filters, - class: "comfy-vue-node-search-box z-10 flex-grow", - scrollHeight: "40vh", - placeholder: placeholder.value, - "input-id": inputId, - "append-to": "self", - suggestions: suggestions2.value, - "min-length": 0, - delay: 100, - loading: !unref(nodeFrequencyStore).isLoaded, - onComplete: _cache[2] || (_cache[2] = ($event) => search2($event.query)), - onOptionSelect: _cache[3] || (_cache[3] = ($event) => emit("addNode", $event.value)), - onFocusedOptionChanged: _cache[4] || (_cache[4] = ($event) => setHoverSuggestion($event)), - "complete-on-focus": "", - "auto-option-focus": "", - "force-selection": "", - multiple: "", - optionLabel: "display_name" - }, { - option: withCtx(({ option: option2 }) => [ - createVNode(NodeSearchItem, { - nodeDef: option2, - currentQuery: currentQuery.value - }, null, 8, ["nodeDef", "currentQuery"]) - ]), - chip: withCtx(({ value }) => [ - (openBlock(), createBlock(SearchFilterChip, { - key: `${value[0].id}-${value[1]}`, - onRemove: /* @__PURE__ */ __name(($event) => onRemoveFilter($event, value), "onRemove"), - text: value[1], - badge: value[0].invokeSequence.toUpperCase(), - "badge-class": value[0].invokeSequence + "-badge" - }, null, 8, ["onRemove", "text", "badge", "badge-class"])) - ]), - _: 1 - }, 8, ["model-value", "placeholder", "suggestions", "loading"]) - ]); - }; - } -}); -const _sfc_main$h = /* @__PURE__ */ defineComponent({ - __name: "NodeSearchBoxPopover", - setup(__props) { - const settingStore = useSettingStore(); - const litegraphService = useLitegraphService(); - const { visible } = storeToRefs(useSearchBoxStore()); - const dismissable = ref(true); - const triggerEvent = ref(null); - const getNewNodeLocation = /* @__PURE__ */ __name(() => { - if (!triggerEvent.value) { - return litegraphService.getCanvasCenter(); - } - const originalEvent = triggerEvent.value.detail.originalEvent; - return [originalEvent.canvasX, originalEvent.canvasY]; - }, "getNewNodeLocation"); - const nodeFilters = ref([]); - const addFilter = /* @__PURE__ */ __name((filter) => { - nodeFilters.value.push(filter); - }, "addFilter"); - const removeFilter = /* @__PURE__ */ __name((filter) => { - nodeFilters.value = nodeFilters.value.filter( - (f) => toRaw(f) !== toRaw(filter) - ); - }, "removeFilter"); - const clearFilters = /* @__PURE__ */ __name(() => { - nodeFilters.value = []; - }, "clearFilters"); - const closeDialog = /* @__PURE__ */ __name(() => { - visible.value = false; - }, "closeDialog"); - const addNode = /* @__PURE__ */ __name((nodeDef) => { - const node = litegraphService.addNodeOnGraph(nodeDef, { - pos: getNewNodeLocation() - }); - const eventDetail = triggerEvent.value?.detail; - if (eventDetail && eventDetail.subType === "empty-release") { - eventDetail.linkReleaseContext.links.forEach((link) => { - ConnectingLinkImpl.createFromPlainObject(link).connectTo(node); - }); - } - window.setTimeout(() => { - closeDialog(); - }, 100); - }, "addNode"); - const newSearchBoxEnabled = computed( - () => settingStore.get("Comfy.NodeSearchBoxImpl") === "default" - ); - const showSearchBox = /* @__PURE__ */ __name((e) => { - const detail = e.detail; - if (newSearchBoxEnabled.value) { - if (detail.originalEvent?.pointerType === "touch") { - setTimeout(() => { - showNewSearchBox(e); - }, 128); - } else { - showNewSearchBox(e); - } - } else { - canvasStore.canvas.showSearchBox(detail.originalEvent); - } - }, "showSearchBox"); - const nodeDefStore = useNodeDefStore(); - const showNewSearchBox = /* @__PURE__ */ __name((e) => { - if (e.detail.subType === "empty-release") { - const links = e.detail.linkReleaseContext.links; - if (links.length === 0) { - console.warn("Empty release with no links! This should never happen"); - return; - } - const firstLink = ConnectingLinkImpl.createFromPlainObject(links[0]); - const filter = nodeDefStore.nodeSearchService.getFilterById( - firstLink.releaseSlotType - ); - const dataType = firstLink.type.toString(); - addFilter([filter, dataType]); - } - visible.value = true; - triggerEvent.value = e; - dismissable.value = false; - setTimeout(() => { - dismissable.value = true; - }, 300); - }, "showNewSearchBox"); - const showContextMenu = /* @__PURE__ */ __name((e) => { - if (e.detail.subType !== "empty-release") { - return; - } - const links = e.detail.linkReleaseContext.links; - if (links.length === 0) { - console.warn("Empty release with no links! This should never happen"); - return; - } - const firstLink = ConnectingLinkImpl.createFromPlainObject(links[0]); - const mouseEvent = e.detail.originalEvent; - const commonOptions = { - e: mouseEvent, - allow_searchbox: true, - showSearchBox: /* @__PURE__ */ __name(() => showSearchBox(e), "showSearchBox") - }; - const connectionOptions = firstLink.output ? { - nodeFrom: firstLink.node, - slotFrom: firstLink.output, - afterRerouteId: firstLink.afterRerouteId - } : { - nodeTo: firstLink.node, - slotTo: firstLink.input, - afterRerouteId: firstLink.afterRerouteId - }; - canvasStore.canvas.showConnectionMenu({ - ...connectionOptions, - ...commonOptions - }); - }, "showContextMenu"); - const canvasStore = useCanvasStore(); - watchEffect(() => { - if (canvasStore.canvas) { - LiteGraph.release_link_on_empty_shows_menu = false; - canvasStore.canvas.allow_searchbox = false; - } - }); - const canvasEventHandler = /* @__PURE__ */ __name((e) => { - if (e.detail.subType === "empty-double-click") { - showSearchBox(e); - } else if (e.detail.subType === "empty-release") { - handleCanvasEmptyRelease(e); - } else if (e.detail.subType === "group-double-click") { - const group = e.detail.group; - const [x, y] = group.pos; - const relativeY = e.detail.originalEvent.canvasY - y; - if (relativeY > group.titleHeight) { - showSearchBox(e); - } - } - }, "canvasEventHandler"); - const linkReleaseAction = computed(() => { - return settingStore.get("Comfy.LinkRelease.Action"); - }); - const linkReleaseActionShift = computed(() => { - return settingStore.get("Comfy.LinkRelease.ActionShift"); - }); - const handleCanvasEmptyRelease = /* @__PURE__ */ __name((e) => { - const detail = e.detail; - const shiftPressed = detail.originalEvent.shiftKey; - const action = shiftPressed ? linkReleaseActionShift.value : linkReleaseAction.value; - switch (action) { - case LinkReleaseTriggerAction.SEARCH_BOX: - showSearchBox(e); - break; - case LinkReleaseTriggerAction.CONTEXT_MENU: - showContextMenu(e); - break; - case LinkReleaseTriggerAction.NO_ACTION: - default: - break; - } - }, "handleCanvasEmptyRelease"); - useEventListener(document, "litegraph:canvas", canvasEventHandler); - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", null, [ - createVNode(unref(script$p), { - visible: unref(visible), - "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => isRef(visible) ? visible.value = $event : null), - modal: "", - "dismissable-mask": dismissable.value, - onHide: clearFilters, - pt: { - root: { - class: "invisible-dialog-root", - role: "search" - }, - mask: { class: "node-search-box-dialog-mask" }, - transition: { - enterFromClass: "opacity-0 scale-75", - // 100ms is the duration of the transition in the dialog component - enterActiveClass: "transition-all duration-100 ease-out", - leaveActiveClass: "transition-all duration-100 ease-in", - leaveToClass: "opacity-0 scale-75" - } - } - }, { - container: withCtx(() => [ - createVNode(_sfc_main$i, { - filters: nodeFilters.value, - onAddFilter: addFilter, - onRemoveFilter: removeFilter, - onAddNode: addNode - }, null, 8, ["filters"]) - ]), - _: 1 - }, 8, ["visible", "dismissable-mask"]) - ]); - }; - } -}); +__name(render$8, "render$8"); +script$9.render = render$8; var theme$4 = /* @__PURE__ */ __name(function theme4(_ref) { var dt = _ref.dt; - return "\n.p-overlaybadge {\n position: relative;\n}\n\n.p-overlaybadge .p-badge {\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n transform-origin: 100% 0;\n margin: 0;\n outline-width: ".concat(dt("overlaybadge.outline.width"), ";\n outline-style: solid;\n outline-color: ").concat(dt("overlaybadge.outline.color"), ";\n}\n"); + return "\n.p-overlaybadge {\n position: relative;\n}\n\n.p-overlaybadge .p-badge {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n transform: translate(50%, -50%);\n transform-origin: 100% 0;\n margin: 0;\n outline-width: ".concat(dt("overlaybadge.outline.width"), ";\n outline-style: solid;\n outline-color: ").concat(dt("overlaybadge.outline.color"), ";\n}\n\n.p-overlaybadge .p-badge:dir(rtl) {\n transform: translate(-50%, -50%);\n}\n"); }, "theme"); var classes$4 = { root: "p-overlaybadge" @@ -3684,24 +2496,24 @@ var OverlayBadgeStyle = BaseStyle.extend({ }); var script$1$4 = { name: "OverlayBadge", - "extends": script$q, + "extends": script$p, style: OverlayBadgeStyle, - provide: /* @__PURE__ */ __name(function provide8() { + provide: /* @__PURE__ */ __name(function provide7() { return { $pcOverlayBadge: this, $parentInstance: this }; }, "provide") }; -var script$6 = { +var script$8 = { name: "OverlayBadge", "extends": script$1$4, inheritAttrs: false, components: { - Badge: script$q + Badge: script$p } }; -function render$b(_ctx, _cache, $props, $setup, $data, $options) { +function render$7(_ctx, _cache, $props, $setup, $data, $options) { var _component_Badge = resolveComponent("Badge"); return openBlock(), createElementBlock("div", mergeProps({ "class": _ctx.cx("root") @@ -3709,1454 +2521,8 @@ function render$b(_ctx, _cache, $props, $setup, $data, $options) { pt: _ctx.ptm("pcBadge") }), null, 16, ["pt"])], 16); } -__name(render$b, "render$b"); -script$6.render = render$b; -const _sfc_main$g = /* @__PURE__ */ defineComponent({ - __name: "SidebarIcon", - props: { - icon: String, - selected: Boolean, - tooltip: { - type: String, - default: "" - }, - class: { - type: String, - default: "" - }, - iconBadge: { - type: [String, Function], - default: "" - } - }, - emits: ["click"], - setup(__props, { emit: __emit }) { - const props = __props; - const emit = __emit; - const overlayValue = computed( - () => typeof props.iconBadge === "function" ? props.iconBadge() || "" : props.iconBadge - ); - const shouldShowBadge = computed(() => !!overlayValue.value); - return (_ctx, _cache) => { - const _directive_tooltip = resolveDirective("tooltip"); - return withDirectives((openBlock(), createBlock(unref(script$d), { - class: normalizeClass(props.class), - text: "", - pt: { - root: { - class: `side-bar-button ${props.selected ? "p-button-primary side-bar-button-selected" : "p-button-secondary"}`, - "aria-label": props.tooltip - } - }, - onClick: _cache[0] || (_cache[0] = ($event) => emit("click", $event)) - }, { - icon: withCtx(() => [ - shouldShowBadge.value ? (openBlock(), createBlock(unref(script$6), { - key: 0, - value: overlayValue.value - }, { - default: withCtx(() => [ - createBaseVNode("i", { - class: normalizeClass(props.icon + " side-bar-button-icon") - }, null, 2) - ]), - _: 1 - }, 8, ["value"])) : (openBlock(), createElementBlock("i", { - key: 1, - class: normalizeClass(props.icon + " side-bar-button-icon") - }, null, 2)) - ]), - _: 1 - }, 8, ["class", "pt"])), [ - [_directive_tooltip, { value: props.tooltip, showDelay: 300, hideDelay: 300 }] - ]); - }; - } -}); -const SidebarIcon = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-6ab4daa6"]]); -const _sfc_main$f = /* @__PURE__ */ defineComponent({ - __name: "SidebarLogoutIcon", - setup(__props) { - const { t } = useI18n(); - const userStore = useUserStore(); - const tooltip = computed( - () => `${t("sideToolbar.logout")} (${userStore.currentUser?.username})` - ); - const logout = /* @__PURE__ */ __name(() => { - userStore.logout(); - window.location.reload(); - }, "logout"); - return (_ctx, _cache) => { - return openBlock(), createBlock(SidebarIcon, { - icon: "pi pi-sign-out", - tooltip: tooltip.value, - onClick: logout - }, null, 8, ["tooltip"]); - }; - } -}); -const _sfc_main$e = /* @__PURE__ */ defineComponent({ - __name: "SidebarSettingsToggleIcon", - setup(__props) { - const dialogStore = useDialogStore(); - const showSetting = /* @__PURE__ */ __name(() => { - dialogStore.showDialog({ - key: "global-settings", - headerComponent: SettingDialogHeader, - component: SettingDialogContent - }); - }, "showSetting"); - return (_ctx, _cache) => { - return openBlock(), createBlock(SidebarIcon, { - icon: "pi pi-cog", - class: "comfy-settings-btn", - onClick: showSetting, - tooltip: _ctx.$t("g.settings") - }, null, 8, ["tooltip"]); - }; - } -}); -const _sfc_main$d = /* @__PURE__ */ defineComponent({ - __name: "SidebarThemeToggleIcon", - setup(__props) { - const colorPaletteStore = useColorPaletteStore(); - const icon = computed( - () => colorPaletteStore.completedActivePalette.light_theme ? "pi pi-sun" : "pi pi-moon" - ); - const commandStore = useCommandStore(); - const toggleTheme = /* @__PURE__ */ __name(() => { - commandStore.execute("Comfy.ToggleTheme"); - }, "toggleTheme"); - return (_ctx, _cache) => { - return openBlock(), createBlock(SidebarIcon, { - icon: icon.value, - onClick: toggleTheme, - tooltip: _ctx.$t("sideToolbar.themeToggle"), - class: "comfy-vue-theme-toggle" - }, null, 8, ["icon", "tooltip"]); - }; - } -}); -const _withScopeId$7 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-33cac83a"), n = n(), popScopeId(), n), "_withScopeId$7"); -const _hoisted_1$h = { class: "side-tool-bar-end" }; -const _hoisted_2$b = { - key: 0, - class: "sidebar-content-container h-full overflow-y-auto overflow-x-hidden" -}; -const _sfc_main$c = /* @__PURE__ */ defineComponent({ - __name: "SideToolbar", - setup(__props) { - const workspaceStore = useWorkspaceStore(); - const settingStore = useSettingStore(); - const userStore = useUserStore(); - const teleportTarget = computed( - () => settingStore.get("Comfy.Sidebar.Location") === "left" ? ".comfyui-body-left" : ".comfyui-body-right" - ); - const isSmall = computed( - () => settingStore.get("Comfy.Sidebar.Size") === "small" - ); - const tabs = computed(() => workspaceStore.getSidebarTabs()); - const selectedTab = computed(() => workspaceStore.sidebarTab.activeSidebarTab); - const onTabClick = /* @__PURE__ */ __name((item3) => { - workspaceStore.sidebarTab.toggleSidebarTab(item3.id); - }, "onTabClick"); - const keybindingStore = useKeybindingStore(); - const getTabTooltipSuffix = /* @__PURE__ */ __name((tab) => { - const keybinding = keybindingStore.getKeybindingByCommandId( - `Workspace.ToggleSidebarTab.${tab.id}` - ); - return keybinding ? ` (${keybinding.combo.toString()})` : ""; - }, "getTabTooltipSuffix"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock(Fragment, null, [ - (openBlock(), createBlock(Teleport, { to: teleportTarget.value }, [ - createBaseVNode("nav", { - class: normalizeClass(["side-tool-bar-container", { "small-sidebar": isSmall.value }]) - }, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab) => { - return openBlock(), createBlock(SidebarIcon, { - key: tab.id, - icon: tab.icon, - iconBadge: tab.iconBadge, - tooltip: tab.tooltip + getTabTooltipSuffix(tab), - selected: tab.id === selectedTab.value?.id, - class: normalizeClass(tab.id + "-tab-button"), - onClick: /* @__PURE__ */ __name(($event) => onTabClick(tab), "onClick") - }, null, 8, ["icon", "iconBadge", "tooltip", "selected", "class", "onClick"]); - }), 128)), - createBaseVNode("div", _hoisted_1$h, [ - unref(userStore).isMultiUserServer ? (openBlock(), createBlock(_sfc_main$f, { key: 0 })) : createCommentVNode("", true), - createVNode(_sfc_main$d), - createVNode(_sfc_main$e) - ]) - ], 2) - ], 8, ["to"])), - selectedTab.value ? (openBlock(), createElementBlock("div", _hoisted_2$b, [ - createVNode(_sfc_main$q, { extension: selectedTab.value }, null, 8, ["extension"]) - ])) : createCommentVNode("", true) - ], 64); - }; - } -}); -const SideToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-33cac83a"]]); -const _withScopeId$6 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-8d011a31"), n = n(), popScopeId(), n), "_withScopeId$6"); -const _hoisted_1$g = { class: "workflow-label text-sm max-w-[150px] truncate inline-block" }; -const _hoisted_2$a = { class: "relative" }; -const _hoisted_3$a = { - key: 0, - class: "status-indicator" -}; -const _sfc_main$b = /* @__PURE__ */ defineComponent({ - __name: "WorkflowTab", - props: { - class: {}, - workflowOption: {} - }, - setup(__props) { - const props = __props; - const workspaceStore = useWorkspaceStore(); - const workflowStore = useWorkflowStore(); - const workflowTabRef = ref(null); - const closeWorkflows = /* @__PURE__ */ __name(async (options) => { - for (const opt of options) { - if (!await useWorkflowService().closeWorkflow(opt.workflow, { - warnIfUnsaved: !workspaceStore.shiftDown - })) { - break; - } - } - }, "closeWorkflows"); - const onCloseWorkflow = /* @__PURE__ */ __name((option2) => { - closeWorkflows([option2]); - }, "onCloseWorkflow"); - const tabGetter = /* @__PURE__ */ __name(() => workflowTabRef.value, "tabGetter"); - usePragmaticDraggable(tabGetter, { - getInitialData: /* @__PURE__ */ __name(() => { - return { - workflowKey: props.workflowOption.workflow.key - }; - }, "getInitialData") - }); - usePragmaticDroppable(tabGetter, { - getData: /* @__PURE__ */ __name(() => { - return { - workflowKey: props.workflowOption.workflow.key - }; - }, "getData"), - onDrop: /* @__PURE__ */ __name((e) => { - const fromIndex = workflowStore.openWorkflows.findIndex( - (wf) => wf.key === e.source.data.workflowKey - ); - const toIndex = workflowStore.openWorkflows.findIndex( - (wf) => wf.key === e.location.current.dropTargets[0]?.data.workflowKey - ); - if (fromIndex !== toIndex) { - workflowStore.reorderWorkflows(fromIndex, toIndex); - } - }, "onDrop") - }); - return (_ctx, _cache) => { - const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createElementBlock("div", mergeProps({ - class: "flex p-2 gap-2 workflow-tab", - ref_key: "workflowTabRef", - ref: workflowTabRef - }, _ctx.$attrs), [ - withDirectives((openBlock(), createElementBlock("span", _hoisted_1$g, [ - createTextVNode(toDisplayString(_ctx.workflowOption.workflow.filename), 1) - ])), [ - [ - _directive_tooltip, - _ctx.workflowOption.workflow.key, - void 0, - { bottom: true } - ] - ]), - createBaseVNode("div", _hoisted_2$a, [ - !unref(workspaceStore).shiftDown && (_ctx.workflowOption.workflow.isModified || !_ctx.workflowOption.workflow.isPersisted) ? (openBlock(), createElementBlock("span", _hoisted_3$a, "•")) : createCommentVNode("", true), - createVNode(unref(script$d), { - class: "close-button p-0 w-auto", - icon: "pi pi-times", - text: "", - severity: "secondary", - size: "small", - onClick: _cache[0] || (_cache[0] = withModifiers(($event) => onCloseWorkflow(_ctx.workflowOption), ["stop"])) - }) - ]) - ], 16); - }; - } -}); -const WorkflowTab = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-8d011a31"]]); -const _withScopeId$5 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-54fadc45"), n = n(), popScopeId(), n), "_withScopeId$5"); -const _hoisted_1$f = { class: "workflow-tabs-container flex flex-row max-w-full h-full" }; -const _sfc_main$a = /* @__PURE__ */ defineComponent({ - __name: "WorkflowTabs", - props: { - class: {} - }, - setup(__props) { - const props = __props; - const { t } = useI18n(); - const workspaceStore = useWorkspaceStore(); - const workflowStore = useWorkflowStore(); - const workflowService = useWorkflowService(); - const workflowBookmarkStore = useWorkflowBookmarkStore(); - const rightClickedTab = ref(null); - const menu = ref(); - const workflowToOption = /* @__PURE__ */ __name((workflow) => ({ - value: workflow.path, - workflow - }), "workflowToOption"); - const options = computed( - () => workflowStore.openWorkflows.map(workflowToOption) - ); - const selectedWorkflow = computed( - () => workflowStore.activeWorkflow ? workflowToOption(workflowStore.activeWorkflow) : null - ); - const onWorkflowChange = /* @__PURE__ */ __name((option2) => { - if (!option2) { - return; - } - if (selectedWorkflow.value?.value === option2.value) { - return; - } - workflowService.openWorkflow(option2.workflow); - }, "onWorkflowChange"); - const closeWorkflows = /* @__PURE__ */ __name(async (options2) => { - for (const opt of options2) { - if (!await workflowService.closeWorkflow(opt.workflow, { - warnIfUnsaved: !workspaceStore.shiftDown - })) { - break; - } - } - }, "closeWorkflows"); - const onCloseWorkflow = /* @__PURE__ */ __name((option2) => { - closeWorkflows([option2]); - }, "onCloseWorkflow"); - const showContextMenu = /* @__PURE__ */ __name((event, option2) => { - rightClickedTab.value = option2; - menu.value.show(event); - }, "showContextMenu"); - const contextMenuItems = computed(() => { - const tab = rightClickedTab.value; - if (!tab) return []; - const index = options.value.findIndex((v) => v.workflow === tab.workflow); - return [ - { - label: t("tabMenu.duplicateTab"), - command: /* @__PURE__ */ __name(() => { - workflowService.duplicateWorkflow(tab.workflow); - }, "command") - }, - { - separator: true - }, - { - label: t("tabMenu.closeTab"), - command: /* @__PURE__ */ __name(() => onCloseWorkflow(tab), "command") - }, - { - label: t("tabMenu.closeTabsToLeft"), - command: /* @__PURE__ */ __name(() => closeWorkflows(options.value.slice(0, index)), "command"), - disabled: index <= 0 - }, - { - label: t("tabMenu.closeTabsToRight"), - command: /* @__PURE__ */ __name(() => closeWorkflows(options.value.slice(index + 1)), "command"), - disabled: index === options.value.length - 1 - }, - { - label: t("tabMenu.closeOtherTabs"), - command: /* @__PURE__ */ __name(() => closeWorkflows([ - ...options.value.slice(index + 1), - ...options.value.slice(0, index) - ]), "command"), - disabled: options.value.length <= 1 - }, - { - label: workflowBookmarkStore.isBookmarked(tab.workflow.path) ? t("tabMenu.removeFromBookmarks") : t("tabMenu.addToBookmarks"), - command: /* @__PURE__ */ __name(() => workflowBookmarkStore.toggleBookmarked(tab.workflow.path), "command"), - disabled: tab.workflow.isTemporary - } - ]; - }); - const commandStore = useCommandStore(); - const handleWheel = /* @__PURE__ */ __name((event) => { - const scrollElement = event.currentTarget; - const scrollAmount = event.deltaX || event.deltaY; - scrollElement.scroll({ - left: scrollElement.scrollLeft + scrollAmount - }); - }, "handleWheel"); - return (_ctx, _cache) => { - const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createElementBlock("div", _hoisted_1$f, [ - createVNode(unref(script$s), { - class: "overflow-hidden no-drag", - "pt:content": { - class: "p-0 w-full", - onwheel: handleWheel - }, - "pt:barX": "h-1" - }, { - default: withCtx(() => [ - createVNode(unref(script$r), { - class: normalizeClass(["workflow-tabs bg-transparent", props.class]), - modelValue: selectedWorkflow.value, - "onUpdate:modelValue": onWorkflowChange, - options: options.value, - optionLabel: "label", - dataKey: "value" - }, { - option: withCtx(({ option: option2 }) => [ - createVNode(WorkflowTab, { - onContextmenu: /* @__PURE__ */ __name(($event) => showContextMenu($event, option2), "onContextmenu"), - onMouseup: withModifiers(($event) => onCloseWorkflow(option2), ["middle"]), - "workflow-option": option2 - }, null, 8, ["onContextmenu", "onMouseup", "workflow-option"]) - ]), - _: 1 - }, 8, ["class", "modelValue", "options"]) - ]), - _: 1 - }, 8, ["pt:content"]), - withDirectives(createVNode(unref(script$d), { - class: "new-blank-workflow-button flex-shrink-0 no-drag", - icon: "pi pi-plus", - text: "", - severity: "secondary", - "aria-label": _ctx.$t("sideToolbar.newBlankWorkflow"), - onClick: _cache[0] || (_cache[0] = () => unref(commandStore).execute("Comfy.NewBlankWorkflow")) - }, null, 8, ["aria-label"]), [ - [_directive_tooltip, { value: _ctx.$t("sideToolbar.newBlankWorkflow"), showDelay: 300 }] - ]), - createVNode(unref(script$t), { - ref_key: "menu", - ref: menu, - model: contextMenuItems.value - }, null, 8, ["model"]) - ]); - }; - } -}); -const WorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-54fadc45"]]); -const _withScopeId$4 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-38831d8e"), n = n(), popScopeId(), n), "_withScopeId$4"); -const _hoisted_1$e = { class: "absolute top-0 left-0 w-auto max-w-full pointer-events-auto" }; -const _sfc_main$9 = /* @__PURE__ */ defineComponent({ - __name: "SecondRowWorkflowTabs", - setup(__props) { - return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$e, [ - createVNode(WorkflowTabs) - ]); - }; - } -}); -const SecondRowWorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-38831d8e"]]); -const CORE_SETTINGS = [ - { - id: "Comfy.Validation.Workflows", - name: "Validate workflows", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.NodeSearchBoxImpl", - category: ["Comfy", "Node Search Box", "Implementation"], - experimental: true, - name: "Node search box implementation", - type: "combo", - options: ["default", "litegraph (legacy)"], - defaultValue: "default" - }, - { - id: "Comfy.LinkRelease.Action", - category: ["LiteGraph", "LinkRelease", "Action"], - name: "Action on link release (No modifier)", - type: "combo", - options: Object.values(LinkReleaseTriggerAction), - defaultValue: LinkReleaseTriggerAction.CONTEXT_MENU - }, - { - id: "Comfy.LinkRelease.ActionShift", - category: ["LiteGraph", "LinkRelease", "ActionShift"], - name: "Action on link release (Shift)", - type: "combo", - options: Object.values(LinkReleaseTriggerAction), - defaultValue: LinkReleaseTriggerAction.SEARCH_BOX - }, - { - id: "Comfy.NodeSearchBoxImpl.NodePreview", - category: ["Comfy", "Node Search Box", "NodePreview"], - name: "Node preview", - tooltip: "Only applies to the default implementation", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.NodeSearchBoxImpl.ShowCategory", - category: ["Comfy", "Node Search Box", "ShowCategory"], - name: "Show node category in search results", - tooltip: "Only applies to the default implementation", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.NodeSearchBoxImpl.ShowIdName", - category: ["Comfy", "Node Search Box", "ShowIdName"], - name: "Show node id name in search results", - tooltip: "Only applies to the default implementation", - type: "boolean", - defaultValue: false - }, - { - id: "Comfy.NodeSearchBoxImpl.ShowNodeFrequency", - category: ["Comfy", "Node Search Box", "ShowNodeFrequency"], - name: "Show node frequency in search results", - tooltip: "Only applies to the default implementation", - type: "boolean", - defaultValue: false - }, - { - id: "Comfy.Sidebar.Location", - category: ["Appearance", "Sidebar", "Location"], - name: "Sidebar location", - type: "combo", - options: ["left", "right"], - defaultValue: "left" - }, - { - id: "Comfy.Sidebar.Size", - category: ["Appearance", "Sidebar", "Size"], - name: "Sidebar size", - type: "combo", - options: ["normal", "small"], - // Default to small if the window is less than 1536px(2xl) wide. - defaultValue: /* @__PURE__ */ __name(() => window.innerWidth < 1536 ? "small" : "normal", "defaultValue") - }, - { - id: "Comfy.TextareaWidget.FontSize", - category: ["Appearance", "Node Widget", "TextareaWidget", "FontSize"], - name: "Textarea widget font size", - type: "slider", - defaultValue: 10, - attrs: { - min: 8, - max: 24 - } - }, - { - id: "Comfy.TextareaWidget.Spellcheck", - category: ["Comfy", "Node Widget", "TextareaWidget", "Spellcheck"], - name: "Textarea widget spellcheck", - type: "boolean", - defaultValue: false - }, - { - id: "Comfy.Workflow.SortNodeIdOnSave", - name: "Sort node IDs when saving workflow", - type: "boolean", - defaultValue: false - }, - { - id: "Comfy.Graph.CanvasInfo", - category: ["LiteGraph", "Canvas", "CanvasInfo"], - name: "Show canvas info on bottom left corner (fps, etc.)", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.Node.ShowDeprecated", - name: "Show deprecated nodes in search", - tooltip: "Deprecated nodes are hidden by default in the UI, but remain functional in existing workflows that use them.", - type: "boolean", - defaultValue: false - }, - { - id: "Comfy.Node.ShowExperimental", - name: "Show experimental nodes in search", - tooltip: "Experimental nodes are marked as such in the UI and may be subject to significant changes or removal in future versions. Use with caution in production workflows", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.Node.Opacity", - category: ["Appearance", "Node", "Opacity"], - name: "Node opacity", - type: "slider", - defaultValue: 1, - attrs: { - min: 0.01, - max: 1, - step: 0.01 - } - }, - { - id: "Comfy.Workflow.ShowMissingNodesWarning", - name: "Show missing nodes warning", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.Workflow.ShowMissingModelsWarning", - name: "Show missing models warning", - type: "boolean", - defaultValue: false, - experimental: true - }, - { - id: "Comfy.Graph.ZoomSpeed", - category: ["LiteGraph", "Canvas", "ZoomSpeed"], - name: "Canvas zoom speed", - type: "slider", - defaultValue: 1.1, - attrs: { - min: 1.01, - max: 2.5, - step: 0.01 - } - }, - // Bookmarks are stored in the settings store. - // Bookmarks are in format of category/display_name. e.g. "conditioning/CLIPTextEncode" - { - id: "Comfy.NodeLibrary.Bookmarks", - name: "Node library bookmarks with display name (deprecated)", - type: "hidden", - defaultValue: [], - deprecated: true - }, - { - id: "Comfy.NodeLibrary.Bookmarks.V2", - name: "Node library bookmarks v2 with unique name", - type: "hidden", - defaultValue: [] - }, - // Stores mapping from bookmark folder name to its customization. - { - id: "Comfy.NodeLibrary.BookmarksCustomization", - name: "Node library bookmarks customization", - type: "hidden", - defaultValue: {} - }, - // Hidden setting used by the queue for how to fit images - { - id: "Comfy.Queue.ImageFit", - name: "Queue image fit", - type: "hidden", - defaultValue: "cover" - }, - { - id: "Comfy.GroupSelectedNodes.Padding", - category: ["LiteGraph", "Group", "Padding"], - name: "Group selected nodes padding", - type: "slider", - defaultValue: 10, - attrs: { - min: 0, - max: 100 - } - }, - { - id: "Comfy.Node.DoubleClickTitleToEdit", - category: ["LiteGraph", "Node", "DoubleClickTitleToEdit"], - name: "Double click node title to edit", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.Group.DoubleClickTitleToEdit", - category: ["LiteGraph", "Group", "DoubleClickTitleToEdit"], - name: "Double click group title to edit", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.Window.UnloadConfirmation", - name: "Show confirmation when closing window", - type: "boolean", - defaultValue: true, - versionModified: "1.7.12" - }, - { - id: "Comfy.TreeExplorer.ItemPadding", - category: ["Appearance", "Tree Explorer", "ItemPadding"], - name: "Tree explorer item padding", - type: "slider", - defaultValue: 2, - attrs: { - min: 0, - max: 8, - step: 1 - } - }, - { - id: "Comfy.ModelLibrary.AutoLoadAll", - name: "Automatically load all model folders", - tooltip: "If true, all folders will load as soon as you open the model library (this may cause delays while it loads). If false, root level model folders will only load once you click on them.", - type: "boolean", - defaultValue: false - }, - { - id: "Comfy.ModelLibrary.NameFormat", - name: "What name to display in the model library tree view", - tooltip: 'Select "filename" to render a simplified view of the raw filename (without directory or ".safetensors" extension) in the model list. Select "title" to display the configurable model metadata title.', - type: "combo", - options: ["filename", "title"], - defaultValue: "title" - }, - { - id: "Comfy.Locale", - name: "Language", - type: "combo", - options: [ - { value: "en", text: "English" }, - { value: "zh", text: "中文" }, - { value: "ru", text: "Русский" }, - { value: "ja", text: "日本語" }, - { value: "ko", text: "한국어" }, - { value: "fr", text: "Français" } - ], - defaultValue: /* @__PURE__ */ __name(() => navigator.language.split("-")[0] || "en", "defaultValue") - }, - { - id: "Comfy.NodeBadge.NodeSourceBadgeMode", - category: ["LiteGraph", "Node", "NodeSourceBadgeMode"], - name: "Node source badge mode", - type: "combo", - options: Object.values(NodeBadgeMode), - defaultValue: NodeBadgeMode.HideBuiltIn - }, - { - id: "Comfy.NodeBadge.NodeIdBadgeMode", - category: ["LiteGraph", "Node", "NodeIdBadgeMode"], - name: "Node ID badge mode", - type: "combo", - options: [NodeBadgeMode.None, NodeBadgeMode.ShowAll], - defaultValue: NodeBadgeMode.ShowAll - }, - { - id: "Comfy.NodeBadge.NodeLifeCycleBadgeMode", - category: ["LiteGraph", "Node", "NodeLifeCycleBadgeMode"], - name: "Node life cycle badge mode", - type: "combo", - options: [NodeBadgeMode.None, NodeBadgeMode.ShowAll], - defaultValue: NodeBadgeMode.ShowAll - }, - { - id: "Comfy.ConfirmClear", - category: ["Comfy", "Workflow", "ConfirmClear"], - name: "Require confirmation when clearing workflow", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.PromptFilename", - category: ["Comfy", "Workflow", "PromptFilename"], - name: "Prompt for filename when saving workflow", - type: "boolean", - defaultValue: true - }, - /** - * file format for preview - * - * format;quality - * - * ex) - * webp;50 -> webp, quality 50 - * jpeg;80 -> rgb, jpeg, quality 80 - * - * @type {string} - */ - { - id: "Comfy.PreviewFormat", - category: ["LiteGraph", "Node Widget", "PreviewFormat"], - name: "Preview image format", - tooltip: "When displaying a preview in the image widget, convert it to a lightweight image, e.g. webp, jpeg, webp;50, etc.", - type: "text", - defaultValue: "" - }, - { - id: "Comfy.DisableSliders", - category: ["LiteGraph", "Node Widget", "DisableSliders"], - name: "Disable node widget sliders", - type: "boolean", - defaultValue: false - }, - { - id: "Comfy.DisableFloatRounding", - category: ["LiteGraph", "Node Widget", "DisableFloatRounding"], - name: "Disable default float widget rounding.", - tooltip: "(requires page reload) Cannot disable round when round is set by the node in the backend.", - type: "boolean", - defaultValue: false - }, - { - id: "Comfy.FloatRoundingPrecision", - category: ["LiteGraph", "Node Widget", "FloatRoundingPrecision"], - name: "Float widget rounding decimal places [0 = auto].", - tooltip: "(requires page reload)", - type: "slider", - attrs: { - min: 0, - max: 6, - step: 1 - }, - defaultValue: 0 - }, - { - id: "Comfy.EnableTooltips", - category: ["LiteGraph", "Node", "EnableTooltips"], - name: "Enable Tooltips", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.DevMode", - name: "Enable dev mode options (API save, etc.)", - type: "boolean", - defaultValue: false, - onChange: /* @__PURE__ */ __name((value) => { - const element = document.getElementById("comfy-dev-save-api-button"); - if (element) { - element.style.display = value ? "flex" : "none"; - } - }, "onChange") - }, - { - id: "Comfy.UseNewMenu", - category: ["Comfy", "Menu", "UseNewMenu"], - defaultValue: "Top", - name: "Use new menu", - type: "combo", - options: ["Disabled", "Top", "Bottom"], - migrateDeprecatedValue: /* @__PURE__ */ __name((value) => { - if (value === "Floating") { - return "Top"; - } - return value; - }, "migrateDeprecatedValue") - }, - { - id: "Comfy.Workflow.WorkflowTabsPosition", - name: "Opened workflows position", - type: "combo", - options: ["Sidebar", "Topbar", "Topbar (2nd-row)"], - // Default to topbar (2nd-row) if the window is less than 1536px(2xl) wide. - defaultValue: /* @__PURE__ */ __name(() => window.innerWidth < 1536 ? "Topbar (2nd-row)" : "Topbar", "defaultValue") - }, - { - id: "Comfy.Graph.CanvasMenu", - category: ["LiteGraph", "Canvas", "CanvasMenu"], - name: "Show graph canvas menu", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.QueueButton.BatchCountLimit", - name: "Batch count limit", - tooltip: "The maximum number of tasks added to the queue at one button click", - type: "number", - defaultValue: 100, - versionAdded: "1.3.5" - }, - { - id: "Comfy.Keybinding.UnsetBindings", - name: "Keybindings unset by the user", - type: "hidden", - defaultValue: [], - versionAdded: "1.3.7", - versionModified: "1.7.3", - migrateDeprecatedValue: /* @__PURE__ */ __name((value) => { - return value.map((keybinding) => { - if (keybinding["targetSelector"] === "#graph-canvas") { - keybinding["targetElementId"] = "graph-canvas"; - } - return keybinding; - }); - }, "migrateDeprecatedValue") - }, - { - id: "Comfy.Keybinding.NewBindings", - name: "Keybindings set by the user", - type: "hidden", - defaultValue: [], - versionAdded: "1.3.7" - }, - { - id: "Comfy.Extension.Disabled", - name: "Disabled extension names", - type: "hidden", - defaultValue: [], - versionAdded: "1.3.11" - }, - { - id: "Comfy.Validation.NodeDefs", - name: "Validate node definitions (slow)", - type: "boolean", - tooltip: "Recommended for node developers. This will validate all node definitions on startup.", - defaultValue: false, - versionAdded: "1.3.14" - }, - { - id: "Comfy.LinkRenderMode", - category: ["LiteGraph", "Graph", "LinkRenderMode"], - name: "Link Render Mode", - defaultValue: 2, - type: "combo", - options: [ - { value: LiteGraph.STRAIGHT_LINK, text: "Straight" }, - { value: LiteGraph.LINEAR_LINK, text: "Linear" }, - { value: LiteGraph.SPLINE_LINK, text: "Spline" }, - { value: LiteGraph.HIDDEN_LINK, text: "Hidden" } - ] - }, - { - id: "Comfy.Node.AutoSnapLinkToSlot", - category: ["LiteGraph", "Node", "AutoSnapLinkToSlot"], - name: "Auto snap link to node slot", - tooltip: "When dragging a link over a node, the link automatically snap to a viable input slot on the node", - type: "boolean", - defaultValue: true, - versionAdded: "1.3.29" - }, - { - id: "Comfy.Node.SnapHighlightsNode", - category: ["LiteGraph", "Node", "SnapHighlightsNode"], - name: "Snap highlights node", - tooltip: "When dragging a link over a node with viable input slot, highlight the node", - type: "boolean", - defaultValue: true, - versionAdded: "1.3.29" - }, - { - id: "Comfy.Node.BypassAllLinksOnDelete", - category: ["LiteGraph", "Node", "BypassAllLinksOnDelete"], - name: "Keep all links when deleting nodes", - tooltip: "When deleting a node, attempt to reconnect all of its input and output links (bypassing the deleted node)", - type: "boolean", - defaultValue: true, - versionAdded: "1.3.40" - }, - { - id: "Comfy.Node.MiddleClickRerouteNode", - category: ["LiteGraph", "Node", "MiddleClickRerouteNode"], - name: "Middle-click creates a new Reroute node", - type: "boolean", - defaultValue: true, - versionAdded: "1.3.42" - }, - { - id: "Comfy.RerouteBeta", - category: ["LiteGraph", "RerouteBeta"], - name: "Opt-in to the reroute beta test", - tooltip: "Enables the new native reroutes.\n\nReroutes can be added by holding alt and dragging from a link line, or on the link menu.\n\nDisabling this option is non-destructive - reroutes are hidden.", - experimental: true, - type: "boolean", - defaultValue: false, - versionAdded: "1.3.42" - }, - { - id: "Comfy.Graph.LinkMarkers", - category: ["LiteGraph", "Link", "LinkMarkers"], - name: "Link midpoint markers", - defaultValue: LinkMarkerShape.Circle, - type: "combo", - options: [ - { value: LinkMarkerShape.None, text: "None" }, - { value: LinkMarkerShape.Circle, text: "Circle" }, - { value: LinkMarkerShape.Arrow, text: "Arrow" } - ], - versionAdded: "1.3.42" - }, - { - id: "Comfy.DOMClippingEnabled", - category: ["LiteGraph", "Node", "DOMClippingEnabled"], - name: "Enable DOM element clipping (enabling may reduce performance)", - type: "boolean", - defaultValue: true - }, - { - id: "Comfy.Graph.CtrlShiftZoom", - category: ["LiteGraph", "Canvas", "CtrlShiftZoom"], - name: "Enable fast-zoom shortcut (Ctrl + Shift + Drag)", - type: "boolean", - defaultValue: true, - versionAdded: "1.4.0" - }, - { - id: "Comfy.Pointer.ClickDrift", - category: ["LiteGraph", "Pointer", "ClickDrift"], - name: "Pointer click drift (maximum distance)", - tooltip: "If the pointer moves more than this distance while holding a button down, it is considered dragging (rather than clicking).\n\nHelps prevent objects from being unintentionally nudged if the pointer is moved whilst clicking.", - experimental: true, - type: "slider", - attrs: { - min: 0, - max: 20, - step: 1 - }, - defaultValue: 6, - versionAdded: "1.4.3" - }, - { - id: "Comfy.Pointer.ClickBufferTime", - category: ["LiteGraph", "Pointer", "ClickBufferTime"], - name: "Pointer click drift delay", - tooltip: "After pressing a pointer button down, this is the maximum time (in milliseconds) that pointer movement can be ignored for.\n\nHelps prevent objects from being unintentionally nudged if the pointer is moved whilst clicking.", - experimental: true, - type: "slider", - attrs: { - min: 0, - max: 1e3, - step: 25 - }, - defaultValue: 150, - versionAdded: "1.4.3" - }, - { - id: "Comfy.Pointer.DoubleClickTime", - category: ["LiteGraph", "Pointer", "DoubleClickTime"], - name: "Double click interval (maximum)", - tooltip: "The maximum time in milliseconds between the two clicks of a double-click. Increasing this value may assist if double-clicks are sometimes not registered.", - type: "slider", - attrs: { - min: 100, - max: 1e3, - step: 50 - }, - defaultValue: 300, - versionAdded: "1.4.3" - }, - { - id: "Comfy.SnapToGrid.GridSize", - category: ["LiteGraph", "Canvas", "GridSize"], - name: "Snap to grid size", - type: "slider", - attrs: { - min: 1, - max: 500 - }, - tooltip: "When dragging and resizing nodes while holding shift they will be aligned to the grid, this controls the size of that grid.", - defaultValue: LiteGraph.CANVAS_GRID_SIZE - }, - // Keep the 'pysssss.SnapToGrid' setting id so we don't need to migrate setting values. - // Using a new setting id can cause existing users to lose their existing settings. - { - id: "pysssss.SnapToGrid", - category: ["LiteGraph", "Canvas", "AlwaysSnapToGrid"], - name: "Always snap to grid", - type: "boolean", - defaultValue: false, - versionAdded: "1.3.13" - }, - { - id: "Comfy.Server.ServerConfigValues", - name: "Server config values for frontend display", - tooltip: "Server config values used for frontend display only", - type: "hidden", - // Mapping from server config id to value. - defaultValue: {}, - versionAdded: "1.4.8" - }, - { - id: "Comfy.Server.LaunchArgs", - name: "Server launch arguments", - tooltip: "These are the actual arguments that are passed to the server when it is launched.", - type: "hidden", - defaultValue: {}, - versionAdded: "1.4.8" - }, - { - id: "Comfy.Queue.MaxHistoryItems", - name: "Queue history size", - tooltip: "The maximum number of tasks that show in the queue history.", - type: "slider", - attrs: { - min: 16, - max: 256, - step: 16 - }, - defaultValue: 64, - versionAdded: "1.4.12" - }, - { - id: "LiteGraph.Canvas.MaximumFps", - name: "Maxium FPS", - tooltip: "The maximum frames per second that the canvas is allowed to render. Caps GPU usage at the cost of smoothness. If 0, the screen refresh rate is used. Default: 0", - type: "slider", - attrs: { - min: 0, - max: 120 - }, - defaultValue: 0, - versionAdded: "1.5.1" - }, - { - id: "Comfy.EnableWorkflowViewRestore", - category: ["Comfy", "Workflow", "EnableWorkflowViewRestore"], - name: "Save and restore canvas position and zoom level in workflows", - type: "boolean", - defaultValue: true, - versionModified: "1.5.4" - }, - { - id: "Comfy.Workflow.ConfirmDelete", - name: "Show confirmation when deleting workflows", - type: "boolean", - defaultValue: true, - versionAdded: "1.5.6" - }, - { - id: "Comfy.ColorPalette", - name: "The active color palette id", - type: "hidden", - defaultValue: "dark", - versionModified: "1.6.7", - migrateDeprecatedValue(value) { - return value.startsWith("custom_") ? value.replace("custom_", "") : value; - } - }, - { - id: "Comfy.CustomColorPalettes", - name: "Custom color palettes", - type: "hidden", - defaultValue: {}, - versionModified: "1.6.7" - }, - { - id: "Comfy.WidgetControlMode", - category: ["Comfy", "Node Widget", "WidgetControlMode"], - name: "Widget control mode", - tooltip: "Controls when widget values are updated (randomize/increment/decrement), either before the prompt is queued or after.", - type: "combo", - defaultValue: "after", - options: ["before", "after"], - versionModified: "1.6.10" - } -]; -const _sfc_main$8 = /* @__PURE__ */ defineComponent({ - __name: "GraphCanvas", - emits: ["ready"], - setup(__props, { emit: __emit }) { - const emit = __emit; - const canvasRef = ref(null); - const litegraphService = useLitegraphService(); - const settingStore = useSettingStore(); - const nodeDefStore = useNodeDefStore(); - const workspaceStore = useWorkspaceStore(); - const canvasStore = useCanvasStore(); - const modelToNodeStore = useModelToNodeStore(); - const betaMenuEnabled = computed( - () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" - ); - const workflowTabsPosition = computed( - () => settingStore.get("Comfy.Workflow.WorkflowTabsPosition") - ); - const canvasMenuEnabled = computed( - () => settingStore.get("Comfy.Graph.CanvasMenu") - ); - const tooltipEnabled = computed(() => settingStore.get("Comfy.EnableTooltips")); - const storedWorkflows = JSON.parse( - getStorageValue("Comfy.OpenWorkflowsPaths") || "[]" - ); - const storedActiveIndex = JSON.parse( - getStorageValue("Comfy.ActiveWorkflowIndex") || "-1" - ); - const openWorkflows = computed(() => workspaceStore?.workflow?.openWorkflows); - const activeWorkflow = computed(() => workspaceStore?.workflow?.activeWorkflow); - const restoreState2 = computed(() => { - if (!openWorkflows.value || !activeWorkflow.value) { - return { paths: [], activeIndex: -1 }; - } - const paths = openWorkflows.value.filter((workflow) => workflow?.isPersisted && !workflow.isModified).map((workflow) => workflow.path); - const activeIndex = openWorkflows.value.findIndex( - (workflow) => workflow.path === activeWorkflow.value?.path - ); - return { paths, activeIndex }; - }); - watchEffect(() => { - const canvasInfoEnabled = settingStore.get("Comfy.Graph.CanvasInfo"); - if (canvasStore.canvas) { - canvasStore.canvas.show_info = canvasInfoEnabled; - } - }); - watchEffect(() => { - const zoomSpeed = settingStore.get("Comfy.Graph.ZoomSpeed"); - if (canvasStore.canvas) { - canvasStore.canvas.zoom_speed = zoomSpeed; - } - }); - watchEffect(() => { - LiteGraph.snaps_for_comfy = settingStore.get("Comfy.Node.AutoSnapLinkToSlot"); - }); - watchEffect(() => { - LiteGraph.snap_highlights_node = settingStore.get( - "Comfy.Node.SnapHighlightsNode" - ); - }); - watchEffect(() => { - LGraphNode.keepAllLinksOnBypass = settingStore.get( - "Comfy.Node.BypassAllLinksOnDelete" - ); - }); - watchEffect(() => { - LiteGraph.middle_click_slot_add_default_node = settingStore.get( - "Comfy.Node.MiddleClickRerouteNode" - ); - }); - watchEffect(() => { - nodeDefStore.showDeprecated = settingStore.get("Comfy.Node.ShowDeprecated"); - }); - watchEffect(() => { - nodeDefStore.showExperimental = settingStore.get( - "Comfy.Node.ShowExperimental" - ); - }); - watchEffect(() => { - const spellcheckEnabled = settingStore.get("Comfy.TextareaWidget.Spellcheck"); - const textareas = document.querySelectorAll("textarea.comfy-multiline-input"); - textareas.forEach((textarea) => { - textarea.spellcheck = spellcheckEnabled; - textarea.focus(); - textarea.blur(); - }); - }); - watchEffect(() => { - const linkRenderMode = settingStore.get("Comfy.LinkRenderMode"); - if (canvasStore.canvas) { - canvasStore.canvas.links_render_mode = linkRenderMode; - canvasStore.canvas.setDirty( - /* fg */ - false, - /* bg */ - true - ); - } - }); - watchEffect(() => { - const linkMarkerShape = settingStore.get("Comfy.Graph.LinkMarkers"); - const { canvas } = canvasStore; - if (canvas) { - canvas.linkMarkerShape = linkMarkerShape; - canvas.setDirty(false, true); - } - }); - watchEffect(() => { - const reroutesEnabled = settingStore.get("Comfy.RerouteBeta"); - const { canvas } = canvasStore; - if (canvas) { - canvas.reroutesEnabled = reroutesEnabled; - canvas.setDirty(false, true); - } - }); - watchEffect(() => { - const maximumFps = settingStore.get("LiteGraph.Canvas.MaximumFps"); - const { canvas } = canvasStore; - if (canvas) canvas.maximumFps = maximumFps; - }); - watchEffect(() => { - CanvasPointer.doubleClickTime = settingStore.get( - "Comfy.Pointer.DoubleClickTime" - ); - }); - watchEffect(() => { - CanvasPointer.bufferTime = settingStore.get("Comfy.Pointer.ClickBufferTime"); - }); - watchEffect(() => { - CanvasPointer.maxClickDrift = settingStore.get("Comfy.Pointer.ClickDrift"); - }); - watchEffect(() => { - LiteGraph.CANVAS_GRID_SIZE = settingStore.get("Comfy.SnapToGrid.GridSize"); - }); - watchEffect(() => { - LiteGraph.alwaysSnapToGrid = settingStore.get("pysssss.SnapToGrid"); - }); - watch( - () => settingStore.get("Comfy.WidgetControlMode"), - () => { - if (!canvasStore.canvas) return; - for (const n of app.graph.nodes) { - if (!n.widgets) continue; - for (const w of n.widgets) { - if (w[IS_CONTROL_WIDGET]) { - updateControlWidgetLabel(w); - if (w.linkedWidgets) { - for (const l of w.linkedWidgets) { - updateControlWidgetLabel(l); - } - } - } - } - } - app.graph.setDirtyCanvas(true); - } - ); - const colorPaletteService = useColorPaletteService(); - const colorPaletteStore = useColorPaletteStore(); - watch( - [() => canvasStore.canvas, () => settingStore.get("Comfy.ColorPalette")], - ([canvas, currentPaletteId]) => { - if (!canvas) return; - colorPaletteService.loadColorPalette(currentPaletteId); - } - ); - watch( - () => colorPaletteStore.activePaletteId, - (newValue) => { - settingStore.set("Comfy.ColorPalette", newValue); - } - ); - const workflowStore = useWorkflowStore(); - const persistCurrentWorkflow = /* @__PURE__ */ __name(() => { - const workflow = JSON.stringify(app.serializeGraph()); - localStorage.setItem("workflow", workflow); - if (api.clientId) { - sessionStorage.setItem(`workflow:${api.clientId}`, workflow); - } - }, "persistCurrentWorkflow"); - watchEffect(() => { - if (workflowStore.activeWorkflow) { - const workflow = workflowStore.activeWorkflow; - setStorageValue("Comfy.PreviousWorkflow", workflow.key); - persistCurrentWorkflow(); - } - }); - api.addEventListener("graphChanged", persistCurrentWorkflow); - usePragmaticDroppable(() => canvasRef.value, { - onDrop: /* @__PURE__ */ __name((event) => { - const loc = event.location.current.input; - const dndData = event.source.data; - if (dndData.type === "tree-explorer-node") { - const node = dndData.data; - if (node.data instanceof ComfyNodeDefImpl) { - const nodeDef = node.data; - const pos = app.clientPosToCanvasPos([ - loc.clientX - 20, - loc.clientY - ]); - litegraphService.addNodeOnGraph(nodeDef, { pos }); - } else if (node.data instanceof ComfyModelDef) { - const model = node.data; - const pos = app.clientPosToCanvasPos([loc.clientX, loc.clientY]); - const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1]); - let targetProvider = null; - let targetGraphNode = null; - if (nodeAtPos) { - const providers = modelToNodeStore.getAllNodeProviders( - model.directory - ); - for (const provider of providers) { - if (provider.nodeDef.name === nodeAtPos.comfyClass) { - targetGraphNode = nodeAtPos; - targetProvider = provider; - } - } - } - if (!targetGraphNode) { - const provider = modelToNodeStore.getNodeProvider(model.directory); - if (provider) { - targetGraphNode = litegraphService.addNodeOnGraph( - provider.nodeDef, - { - pos - } - ); - targetProvider = provider; - } - } - if (targetGraphNode) { - const widget = targetGraphNode.widgets.find( - (widget2) => widget2.name === targetProvider.key - ); - if (widget) { - widget.value = model.file_name; - } - } - } - } - }, "onDrop") - }); - const comfyAppReady = ref(false); - onMounted(async () => { - window["LiteGraph"] = LiteGraph; - window["LGraph"] = LGraph; - window["LLink"] = LLink; - window["LGraphNode"] = LGraphNode; - window["LGraphGroup"] = LGraphGroup; - window["DragAndScale"] = DragAndScale; - window["LGraphCanvas"] = LGraphCanvas; - window["ContextMenu"] = ContextMenu; - window["LGraphBadge"] = LGraphBadge; - app.vueAppReady = true; - workspaceStore.spinner = true; - ChangeTracker.init(app); - await settingStore.loadSettingValues(); - CORE_SETTINGS.forEach((setting) => { - settingStore.addSetting(setting); - }); - await app.setup(canvasRef.value); - canvasStore.canvas = app.canvas; - canvasStore.canvas.render_canvas_border = false; - workspaceStore.spinner = false; - window["app"] = app; - window["graph"] = app.graph; - comfyAppReady.value = true; - colorPaletteStore.customPalettes = settingStore.get( - "Comfy.CustomColorPalettes" - ); - const isRestorable = storedWorkflows?.length > 0 && storedActiveIndex >= 0; - if (isRestorable) - workflowStore.openWorkflowsInBackground({ - left: storedWorkflows.slice(0, storedActiveIndex), - right: storedWorkflows.slice(storedActiveIndex) - }); - watch(restoreState2, ({ paths, activeIndex }) => { - setStorageValue("Comfy.OpenWorkflowsPaths", JSON.stringify(paths)); - setStorageValue("Comfy.ActiveWorkflowIndex", JSON.stringify(activeIndex)); - }); - watch( - () => settingStore.get("Comfy.Locale"), - async () => { - await useCommandStore().execute("Comfy.RefreshNodeDefinitions"); - useWorkflowService().reloadCurrentWorkflow(); - } - ); - emit("ready"); - }); - return (_ctx, _cache) => { - return openBlock(), createElementBlock(Fragment, null, [ - (openBlock(), createBlock(Teleport, { to: ".graph-canvas-container" }, [ - comfyAppReady.value && betaMenuEnabled.value && !unref(workspaceStore).focusMode ? (openBlock(), createBlock(LiteGraphCanvasSplitterOverlay, { key: 0 }, { - "side-bar-panel": withCtx(() => [ - createVNode(SideToolbar) - ]), - "bottom-panel": withCtx(() => [ - createVNode(_sfc_main$p) - ]), - "graph-canvas-panel": withCtx(() => [ - workflowTabsPosition.value === "Topbar (2nd-row)" ? (openBlock(), createBlock(SecondRowWorkflowTabs, { key: 0 })) : createCommentVNode("", true), - canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 1 })) : createCommentVNode("", true) - ]), - _: 1 - })) : createCommentVNode("", true), - createVNode(TitleEditor), - !betaMenuEnabled.value && canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 1 })) : createCommentVNode("", true), - createBaseVNode("canvas", { - ref_key: "canvasRef", - ref: canvasRef, - id: "graph-canvas", - tabindex: "1" - }, null, 512) - ])), - createVNode(_sfc_main$h), - tooltipEnabled.value ? (openBlock(), createBlock(NodeTooltip, { key: 0 })) : createCommentVNode("", true), - createVNode(_sfc_main$n) - ], 64); - }; - } -}); +__name(render$7, "render$7"); +script$8.render = render$7; function _typeof$3(o) { "@babel/helpers - typeof"; return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { @@ -5188,7 +2554,7 @@ function _toPrimitive$3(t, r) { __name(_toPrimitive$3, "_toPrimitive$3"); var theme$3 = /* @__PURE__ */ __name(function theme5(_ref) { var dt = _ref.dt; - return "\n.p-toast {\n width: ".concat(dt("toast.width"), ";\n white-space: pre-line;\n word-break: break-word;\n}\n\n.p-toast-message {\n margin: 0 0 1rem 0;\n}\n\n.p-toast-message-icon {\n flex-shrink: 0;\n font-size: ").concat(dt("toast.icon.size"), ";\n width: ").concat(dt("toast.icon.size"), ";\n height: ").concat(dt("toast.icon.size"), ";\n}\n\n.p-toast-message-content {\n display: flex;\n align-items: flex-start;\n padding: ").concat(dt("toast.content.padding"), ";\n gap: ").concat(dt("toast.content.gap"), ";\n}\n\n.p-toast-message-text {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("toast.text.gap"), ";\n}\n\n.p-toast-summary {\n font-weight: ").concat(dt("toast.summary.font.weight"), ";\n font-size: ").concat(dt("toast.summary.font.size"), ";\n}\n\n.p-toast-detail {\n font-weight: ").concat(dt("toast.detail.font.weight"), ";\n font-size: ").concat(dt("toast.detail.font.size"), ";\n}\n\n.p-toast-close-button {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n cursor: pointer;\n background: transparent;\n transition: background ").concat(dt("toast.transition.duration"), ", color ").concat(dt("toast.transition.duration"), ", outline-color ").concat(dt("toast.transition.duration"), ", box-shadow ").concat(dt("toast.transition.duration"), ";\n outline-color: transparent;\n color: inherit;\n width: ").concat(dt("toast.close.button.width"), ";\n height: ").concat(dt("toast.close.button.height"), ";\n border-radius: ").concat(dt("toast.close.button.border.radius"), ";\n margin: -25% 0 0 0;\n right: -25%;\n padding: 0;\n border: none;\n user-select: none;\n}\n\n.p-toast-message-info,\n.p-toast-message-success,\n.p-toast-message-warn,\n.p-toast-message-error,\n.p-toast-message-secondary,\n.p-toast-message-contrast {\n border-width: ").concat(dt("toast.border.width"), ";\n border-style: solid;\n backdrop-filter: blur(").concat(dt("toast.blur"), ");\n border-radius: ").concat(dt("toast.border.radius"), ";\n}\n\n.p-toast-close-icon {\n font-size: ").concat(dt("toast.close.icon.size"), ";\n width: ").concat(dt("toast.close.icon.size"), ";\n height: ").concat(dt("toast.close.icon.size"), ";\n}\n\n.p-toast-close-button:focus-visible {\n outline-width: ").concat(dt("focus.ring.width"), ";\n outline-style: ").concat(dt("focus.ring.style"), ";\n outline-offset: ").concat(dt("focus.ring.offset"), ";\n}\n\n.p-toast-message-info {\n background: ").concat(dt("toast.info.background"), ";\n border-color: ").concat(dt("toast.info.border.color"), ";\n color: ").concat(dt("toast.info.color"), ";\n box-shadow: ").concat(dt("toast.info.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-detail {\n color: ").concat(dt("toast.info.detail.color"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.info.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.info.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:hover {\n background: ").concat(dt("toast.info.close.button.hover.background"), ";\n}\n\n.p-toast-message-success {\n background: ").concat(dt("toast.success.background"), ";\n border-color: ").concat(dt("toast.success.border.color"), ";\n color: ").concat(dt("toast.success.color"), ";\n box-shadow: ").concat(dt("toast.success.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-detail {\n color: ").concat(dt("toast.success.detail.color"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.success.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.success.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:hover {\n background: ").concat(dt("toast.success.close.button.hover.background"), ";\n}\n\n.p-toast-message-warn {\n background: ").concat(dt("toast.warn.background"), ";\n border-color: ").concat(dt("toast.warn.border.color"), ";\n color: ").concat(dt("toast.warn.color"), ";\n box-shadow: ").concat(dt("toast.warn.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-detail {\n color: ").concat(dt("toast.warn.detail.color"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.warn.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.warn.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:hover {\n background: ").concat(dt("toast.warn.close.button.hover.background"), ";\n}\n\n.p-toast-message-error {\n background: ").concat(dt("toast.error.background"), ";\n border-color: ").concat(dt("toast.error.border.color"), ";\n color: ").concat(dt("toast.error.color"), ";\n box-shadow: ").concat(dt("toast.error.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-detail {\n color: ").concat(dt("toast.error.detail.color"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.error.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.error.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:hover {\n background: ").concat(dt("toast.error.close.button.hover.background"), ";\n}\n\n.p-toast-message-secondary {\n background: ").concat(dt("toast.secondary.background"), ";\n border-color: ").concat(dt("toast.secondary.border.color"), ";\n color: ").concat(dt("toast.secondary.color"), ";\n box-shadow: ").concat(dt("toast.secondary.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-detail {\n color: ").concat(dt("toast.secondary.detail.color"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.secondary.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.secondary.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:hover {\n background: ").concat(dt("toast.secondary.close.button.hover.background"), ";\n}\n\n.p-toast-message-contrast {\n background: ").concat(dt("toast.contrast.background"), ";\n border-color: ").concat(dt("toast.contrast.border.color"), ";\n color: ").concat(dt("toast.contrast.color"), ";\n box-shadow: ").concat(dt("toast.contrast.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-detail {\n color: ").concat(dt("toast.contrast.detail.color"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.contrast.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.contrast.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:hover {\n background: ").concat(dt("toast.contrast.close.button.hover.background"), ";\n}\n\n.p-toast-top-center {\n transform: translateX(-50%);\n}\n\n.p-toast-bottom-center {\n transform: translateX(-50%);\n}\n\n.p-toast-center {\n min-width: 20vw;\n transform: translate(-50%, -50%);\n}\n\n.p-toast-message-enter-from {\n opacity: 0;\n transform: translateY(50%);\n}\n\n.p-toast-message-leave-from {\n max-height: 1000px;\n}\n\n.p-toast .p-toast-message.p-toast-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin-bottom: 0;\n overflow: hidden;\n}\n\n.p-toast-message-enter-active {\n transition: transform 0.3s, opacity 0.3s;\n}\n\n.p-toast-message-leave-active {\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s;\n}\n"); + return "\n.p-toast {\n width: ".concat(dt("toast.width"), ";\n white-space: pre-line;\n word-break: break-word;\n}\n\n.p-toast-message {\n margin: 0 0 1rem 0;\n}\n\n.p-toast-message-icon {\n flex-shrink: 0;\n font-size: ").concat(dt("toast.icon.size"), ";\n width: ").concat(dt("toast.icon.size"), ";\n height: ").concat(dt("toast.icon.size"), ";\n}\n\n.p-toast-message-content {\n display: flex;\n align-items: flex-start;\n padding: ").concat(dt("toast.content.padding"), ";\n gap: ").concat(dt("toast.content.gap"), ";\n}\n\n.p-toast-message-text {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("toast.text.gap"), ";\n}\n\n.p-toast-summary {\n font-weight: ").concat(dt("toast.summary.font.weight"), ";\n font-size: ").concat(dt("toast.summary.font.size"), ";\n}\n\n.p-toast-detail {\n font-weight: ").concat(dt("toast.detail.font.weight"), ";\n font-size: ").concat(dt("toast.detail.font.size"), ";\n}\n\n.p-toast-close-button {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n cursor: pointer;\n background: transparent;\n transition: background ").concat(dt("toast.transition.duration"), ", color ").concat(dt("toast.transition.duration"), ", outline-color ").concat(dt("toast.transition.duration"), ", box-shadow ").concat(dt("toast.transition.duration"), ";\n outline-color: transparent;\n color: inherit;\n width: ").concat(dt("toast.close.button.width"), ";\n height: ").concat(dt("toast.close.button.height"), ";\n border-radius: ").concat(dt("toast.close.button.border.radius"), ";\n margin: -25% 0 0 0;\n right: -25%;\n padding: 0;\n border: none;\n user-select: none;\n}\n\n.p-toast-close-button:dir(rtl) {\n margin: -25% 0 0 auto;\n left: -25%;\n right: auto;\n}\n\n.p-toast-message-info,\n.p-toast-message-success,\n.p-toast-message-warn,\n.p-toast-message-error,\n.p-toast-message-secondary,\n.p-toast-message-contrast {\n border-width: ").concat(dt("toast.border.width"), ";\n border-style: solid;\n backdrop-filter: blur(").concat(dt("toast.blur"), ");\n border-radius: ").concat(dt("toast.border.radius"), ";\n}\n\n.p-toast-close-icon {\n font-size: ").concat(dt("toast.close.icon.size"), ";\n width: ").concat(dt("toast.close.icon.size"), ";\n height: ").concat(dt("toast.close.icon.size"), ";\n}\n\n.p-toast-close-button:focus-visible {\n outline-width: ").concat(dt("focus.ring.width"), ";\n outline-style: ").concat(dt("focus.ring.style"), ";\n outline-offset: ").concat(dt("focus.ring.offset"), ";\n}\n\n.p-toast-message-info {\n background: ").concat(dt("toast.info.background"), ";\n border-color: ").concat(dt("toast.info.border.color"), ";\n color: ").concat(dt("toast.info.color"), ";\n box-shadow: ").concat(dt("toast.info.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-detail {\n color: ").concat(dt("toast.info.detail.color"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.info.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.info.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:hover {\n background: ").concat(dt("toast.info.close.button.hover.background"), ";\n}\n\n.p-toast-message-success {\n background: ").concat(dt("toast.success.background"), ";\n border-color: ").concat(dt("toast.success.border.color"), ";\n color: ").concat(dt("toast.success.color"), ";\n box-shadow: ").concat(dt("toast.success.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-detail {\n color: ").concat(dt("toast.success.detail.color"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.success.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.success.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:hover {\n background: ").concat(dt("toast.success.close.button.hover.background"), ";\n}\n\n.p-toast-message-warn {\n background: ").concat(dt("toast.warn.background"), ";\n border-color: ").concat(dt("toast.warn.border.color"), ";\n color: ").concat(dt("toast.warn.color"), ";\n box-shadow: ").concat(dt("toast.warn.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-detail {\n color: ").concat(dt("toast.warn.detail.color"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.warn.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.warn.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:hover {\n background: ").concat(dt("toast.warn.close.button.hover.background"), ";\n}\n\n.p-toast-message-error {\n background: ").concat(dt("toast.error.background"), ";\n border-color: ").concat(dt("toast.error.border.color"), ";\n color: ").concat(dt("toast.error.color"), ";\n box-shadow: ").concat(dt("toast.error.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-detail {\n color: ").concat(dt("toast.error.detail.color"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.error.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.error.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:hover {\n background: ").concat(dt("toast.error.close.button.hover.background"), ";\n}\n\n.p-toast-message-secondary {\n background: ").concat(dt("toast.secondary.background"), ";\n border-color: ").concat(dt("toast.secondary.border.color"), ";\n color: ").concat(dt("toast.secondary.color"), ";\n box-shadow: ").concat(dt("toast.secondary.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-detail {\n color: ").concat(dt("toast.secondary.detail.color"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.secondary.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.secondary.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:hover {\n background: ").concat(dt("toast.secondary.close.button.hover.background"), ";\n}\n\n.p-toast-message-contrast {\n background: ").concat(dt("toast.contrast.background"), ";\n border-color: ").concat(dt("toast.contrast.border.color"), ";\n color: ").concat(dt("toast.contrast.color"), ";\n box-shadow: ").concat(dt("toast.contrast.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-detail {\n color: ").concat(dt("toast.contrast.detail.color"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.contrast.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.contrast.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:hover {\n background: ").concat(dt("toast.contrast.close.button.hover.background"), ";\n}\n\n.p-toast-top-center {\n transform: translateX(-50%);\n}\n\n.p-toast-bottom-center {\n transform: translateX(-50%);\n}\n\n.p-toast-center {\n min-width: 20vw;\n transform: translate(-50%, -50%);\n}\n\n.p-toast-message-enter-from {\n opacity: 0;\n transform: translateY(50%);\n}\n\n.p-toast-message-leave-from {\n max-height: 1000px;\n}\n\n.p-toast .p-toast-message.p-toast-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin-bottom: 0;\n overflow: hidden;\n}\n\n.p-toast-message-enter-active {\n transition: transform 0.3s, opacity 0.3s;\n}\n\n.p-toast-message-leave-active {\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s;\n}\n"); }, "theme"); var inlineStyles$2 = { root: /* @__PURE__ */ __name(function root6(_ref2) { @@ -5235,9 +2601,53 @@ var ToastStyle = BaseStyle.extend({ classes: classes$3, inlineStyles: inlineStyles$2 }); +var script$7 = { + name: "ExclamationTriangleIcon", + "extends": script$q +}; +function render$6(_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", { + d: "M13.4018 13.1893H0.598161C0.49329 13.189 0.390283 13.1615 0.299143 13.1097C0.208003 13.0578 0.131826 12.9832 0.0780112 12.8932C0.0268539 12.8015 0 12.6982 0 12.5931C0 12.4881 0.0268539 12.3848 0.0780112 12.293L6.47985 1.08982C6.53679 1.00399 6.61408 0.933574 6.70484 0.884867C6.7956 0.836159 6.897 0.810669 7 0.810669C7.103 0.810669 7.2044 0.836159 7.29516 0.884867C7.38592 0.933574 7.46321 1.00399 7.52015 1.08982L13.922 12.293C13.9731 12.3848 14 12.4881 14 12.5931C14 12.6982 13.9731 12.8015 13.922 12.8932C13.8682 12.9832 13.792 13.0578 13.7009 13.1097C13.6097 13.1615 13.5067 13.189 13.4018 13.1893ZM1.63046 11.989H12.3695L7 2.59425L1.63046 11.989Z", + fill: "currentColor" + }, null, -1), createBaseVNode("path", { + d: "M6.99996 8.78801C6.84143 8.78594 6.68997 8.72204 6.57787 8.60993C6.46576 8.49782 6.40186 8.34637 6.39979 8.18784V5.38703C6.39979 5.22786 6.46302 5.0752 6.57557 4.96265C6.68813 4.85009 6.84078 4.78686 6.99996 4.78686C7.15914 4.78686 7.31179 4.85009 7.42435 4.96265C7.5369 5.0752 7.60013 5.22786 7.60013 5.38703V8.18784C7.59806 8.34637 7.53416 8.49782 7.42205 8.60993C7.30995 8.72204 7.15849 8.78594 6.99996 8.78801Z", + fill: "currentColor" + }, null, -1), createBaseVNode("path", { + d: "M6.99996 11.1887C6.84143 11.1866 6.68997 11.1227 6.57787 11.0106C6.46576 10.8985 6.40186 10.7471 6.39979 10.5885V10.1884C6.39979 10.0292 6.46302 9.87658 6.57557 9.76403C6.68813 9.65147 6.84078 9.58824 6.99996 9.58824C7.15914 9.58824 7.31179 9.65147 7.42435 9.76403C7.5369 9.87658 7.60013 10.0292 7.60013 10.1884V10.5885C7.59806 10.7471 7.53416 10.8985 7.42205 11.0106C7.30995 11.1227 7.15849 11.1866 6.99996 11.1887Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$6, "render$6"); +script$7.render = render$6; +var script$6 = { + name: "InfoCircleIcon", + "extends": script$q +}; +function render$5(_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: "M3.11101 12.8203C4.26215 13.5895 5.61553 14 7 14C8.85652 14 10.637 13.2625 11.9497 11.9497C13.2625 10.637 14 8.85652 14 7C14 5.61553 13.5895 4.26215 12.8203 3.11101C12.0511 1.95987 10.9579 1.06266 9.67879 0.532846C8.3997 0.00303296 6.99224 -0.13559 5.63437 0.134506C4.2765 0.404603 3.02922 1.07129 2.05026 2.05026C1.07129 3.02922 0.404603 4.2765 0.134506 5.63437C-0.13559 6.99224 0.00303296 8.3997 0.532846 9.67879C1.06266 10.9579 1.95987 12.0511 3.11101 12.8203ZM3.75918 2.14976C4.71846 1.50879 5.84628 1.16667 7 1.16667C8.5471 1.16667 10.0308 1.78125 11.1248 2.87521C12.2188 3.96918 12.8333 5.45291 12.8333 7C12.8333 8.15373 12.4912 9.28154 11.8502 10.2408C11.2093 11.2001 10.2982 11.9478 9.23232 12.3893C8.16642 12.8308 6.99353 12.9463 5.86198 12.7212C4.73042 12.4962 3.69102 11.9406 2.87521 11.1248C2.05941 10.309 1.50384 9.26958 1.27876 8.13803C1.05367 7.00647 1.16919 5.83358 1.61071 4.76768C2.05222 3.70178 2.79989 2.79074 3.75918 2.14976ZM7.00002 4.8611C6.84594 4.85908 6.69873 4.79698 6.58977 4.68801C6.48081 4.57905 6.4187 4.43185 6.41669 4.27776V3.88888C6.41669 3.73417 6.47815 3.58579 6.58754 3.4764C6.69694 3.367 6.84531 3.30554 7.00002 3.30554C7.15473 3.30554 7.3031 3.367 7.4125 3.4764C7.52189 3.58579 7.58335 3.73417 7.58335 3.88888V4.27776C7.58134 4.43185 7.51923 4.57905 7.41027 4.68801C7.30131 4.79698 7.1541 4.85908 7.00002 4.8611ZM7.00002 10.6945C6.84594 10.6925 6.69873 10.6304 6.58977 10.5214C6.48081 10.4124 6.4187 10.2652 6.41669 10.1111V6.22225C6.41669 6.06754 6.47815 5.91917 6.58754 5.80977C6.69694 5.70037 6.84531 5.63892 7.00002 5.63892C7.15473 5.63892 7.3031 5.70037 7.4125 5.80977C7.52189 5.91917 7.58335 6.06754 7.58335 6.22225V10.1111C7.58134 10.2652 7.51923 10.4124 7.41027 10.5214C7.30131 10.6304 7.1541 10.6925 7.00002 10.6945Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$5, "render$5"); +script$6.render = render$5; var script$2$2 = { name: "BaseToast", - "extends": script$e, + "extends": script$f, props: { group: { type: String, @@ -5285,7 +2695,7 @@ var script$2$2 = { } }, style: ToastStyle, - provide: /* @__PURE__ */ __name(function provide9() { + provide: /* @__PURE__ */ __name(function provide8() { return { $pcToast: this, $parentInstance: this @@ -5295,7 +2705,7 @@ var script$2$2 = { var script$1$3 = { name: "ToastMessage", hostName: "Toast", - "extends": script$e, + "extends": script$f, emits: ["close"], closeTimeout: null, props: { @@ -5367,10 +2777,10 @@ var script$1$3 = { computed: { iconComponent: /* @__PURE__ */ __name(function iconComponent() { return { - info: !this.infoIcon && script$u, - success: !this.successIcon && script$v, - warn: !this.warnIcon && script$w, - error: !this.errorIcon && script$x + info: !this.infoIcon && script$6, + success: !this.successIcon && script$r, + warn: !this.warnIcon && script$7, + error: !this.errorIcon && script$s }[this.message.severity]; }, "iconComponent"), closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel() { @@ -5378,11 +2788,11 @@ var script$1$3 = { }, "closeAriaLabel") }, components: { - TimesIcon: script$y, - InfoCircleIcon: script$u, - CheckIcon: script$v, - ExclamationTriangleIcon: script$w, - TimesCircleIcon: script$x + TimesIcon: script$t, + InfoCircleIcon: script$6, + CheckIcon: script$r, + ExclamationTriangleIcon: script$7, + TimesCircleIcon: script$s }, directives: { ripple: Ripple @@ -5440,7 +2850,7 @@ function _toPrimitive$1(t, r) { return ("string" === r ? String : Number)(t); } __name(_toPrimitive$1, "_toPrimitive$1"); -var _hoisted_1$d = ["aria-label"]; +var _hoisted_1$4 = ["aria-label"]; function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { var _directive_ripple = resolveDirective("ripple"); return openBlock(), createElementBlock("div", mergeProps({ @@ -5480,7 +2890,7 @@ function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { autofocus: "" }, _objectSpread$1(_objectSpread$1({}, $props.closeButtonProps), _ctx.ptm("closeButton"))), [(openBlock(), createBlock(resolveDynamicComponent($props.templates.closeicon || "TimesIcon"), mergeProps({ "class": [_ctx.cx("closeIcon"), $props.closeIcon] - }, _ctx.ptm("closeIcon")), null, 16, ["class"]))], 16, _hoisted_1$d)), [[_directive_ripple]])], 16)) : createCommentVNode("", true)], 16))], 16); + }, _ctx.ptm("closeIcon")), null, 16, ["class"]))], 16, _hoisted_1$4)), [[_directive_ripple]])], 16)) : createCommentVNode("", true)], 16))], 16); } __name(render$1$2, "render$1$2"); script$1$3.render = render$1$2; @@ -5583,7 +2993,6 @@ var script$5 = { this.messages = []; }, "onRemoveAllGroups"), onEnter: /* @__PURE__ */ __name(function onEnter() { - this.$refs.container.setAttribute(this.attributeSelector, ""); if (this.autoZIndex) { ZIndex.set("modal", this.$refs.container, this.baseZIndex || this.$primevue.config.zIndex.modal); } @@ -5609,7 +3018,7 @@ var script$5 = { for (var styleProp in this.breakpoints[breakpoint]) { breakpointStyle += styleProp + ":" + this.breakpoints[breakpoint][styleProp] + "!important;"; } - innerHTML += "\n @media screen and (max-width: ".concat(breakpoint, ") {\n .p-toast[").concat(this.attributeSelector, "] {\n ").concat(breakpointStyle, "\n }\n }\n "); + innerHTML += "\n @media screen and (max-width: ".concat(breakpoint, ") {\n .p-toast[").concat(this.$attrSelector, "] {\n ").concat(breakpointStyle, "\n }\n }\n "); } this.styleElement.innerHTML = innerHTML; } @@ -5621,14 +3030,9 @@ var script$5 = { } }, "destroyStyle") }, - computed: { - attributeSelector: /* @__PURE__ */ __name(function attributeSelector() { - return UniqueComponentId(); - }, "attributeSelector") - }, components: { ToastMessage: script$1$3, - Portal: script$k + Portal: script$l } }; function _typeof$2(o) { @@ -5683,7 +3087,7 @@ function _toPrimitive$2(t, r) { return ("string" === r ? String : Number)(t); } __name(_toPrimitive$2, "_toPrimitive$2"); -function render$a(_ctx, _cache, $props, $setup, $data, $options) { +function render$4(_ctx, _cache, $props, $setup, $data, $options) { var _component_ToastMessage = resolveComponent("ToastMessage"); var _component_Portal = resolveComponent("Portal"); return openBlock(), createBlock(_component_Portal, null, { @@ -5726,171 +3130,11 @@ function render$a(_ctx, _cache, $props, $setup, $data, $options) { _: 1 }); } -__name(render$a, "render$a"); -script$5.render = render$a; -const _sfc_main$7 = /* @__PURE__ */ defineComponent({ - __name: "GlobalToast", - setup(__props) { - const toast = useToast(); - const toastStore = useToastStore(); - const settingStore = useSettingStore(); - watch( - () => toastStore.messagesToAdd, - (newMessages) => { - if (newMessages.length === 0) { - return; - } - newMessages.forEach((message2) => { - toast.add(message2); - }); - toastStore.messagesToAdd = []; - }, - { deep: true } - ); - watch( - () => toastStore.messagesToRemove, - (messagesToRemove) => { - if (messagesToRemove.length === 0) { - return; - } - messagesToRemove.forEach((message2) => { - toast.remove(message2); - }); - toastStore.messagesToRemove = []; - }, - { deep: true } - ); - watch( - () => toastStore.removeAllRequested, - (requested) => { - if (requested) { - toast.removeAllGroups(); - toastStore.removeAllRequested = false; - } - } - ); - function updateToastPosition() { - const styleElement = document.getElementById("dynamic-toast-style") || createStyleElement(); - const rect = document.querySelector(".graph-canvas-container").getBoundingClientRect(); - styleElement.textContent = ` - .p-toast.p-component.p-toast-top-right { - top: ${rect.top + 20}px !important; - right: ${window.innerWidth - (rect.left + rect.width) + 20}px !important; - } - `; - } - __name(updateToastPosition, "updateToastPosition"); - function createStyleElement() { - const style = document.createElement("style"); - style.id = "dynamic-toast-style"; - document.head.appendChild(style); - return style; - } - __name(createStyleElement, "createStyleElement"); - watch( - () => settingStore.get("Comfy.UseNewMenu"), - () => nextTick(updateToastPosition), - { immediate: true } - ); - watch( - () => settingStore.get("Comfy.Sidebar.Location"), - () => nextTick(updateToastPosition), - { immediate: true } - ); - return (_ctx, _cache) => { - return openBlock(), createBlock(unref(script$5)); - }; - } -}); -const _hoisted_1$c = { - viewBox: "0 0 24 24", - width: "1.2em", - height: "1.2em" -}; -const _hoisted_2$9 = /* @__PURE__ */ createBaseVNode("path", { - fill: "none", - stroke: "currentColor", - "stroke-linecap": "round", - "stroke-linejoin": "round", - "stroke-width": "2", - d: "M6 4v16m4-16l10 8l-10 8z" -}, null, -1); -const _hoisted_3$9 = [ - _hoisted_2$9 -]; -function render$9(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$c, [..._hoisted_3$9]); -} -__name(render$9, "render$9"); -const __unplugin_components_3 = markRaw({ name: "lucide-step-forward", render: render$9 }); -const _hoisted_1$b = { - viewBox: "0 0 24 24", - width: "1.2em", - height: "1.2em" -}; -const _hoisted_2$8 = /* @__PURE__ */ createBaseVNode("path", { - fill: "none", - stroke: "currentColor", - "stroke-linecap": "round", - "stroke-linejoin": "round", - "stroke-width": "2", - d: "m13 19l9-7l-9-7zM2 19l9-7l-9-7z" -}, null, -1); -const _hoisted_3$8 = [ - _hoisted_2$8 -]; -function render$8(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$b, [..._hoisted_3$8]); -} -__name(render$8, "render$8"); -const __unplugin_components_2 = markRaw({ name: "lucide-fast-forward", render: render$8 }); -const _hoisted_1$a = { - viewBox: "0 0 24 24", - width: "1.2em", - height: "1.2em" -}; -const _hoisted_2$7 = /* @__PURE__ */ createBaseVNode("path", { - fill: "none", - stroke: "currentColor", - "stroke-linecap": "round", - "stroke-linejoin": "round", - "stroke-width": "2", - d: "m6 3l14 9l-14 9z" -}, null, -1); -const _hoisted_3$7 = [ - _hoisted_2$7 -]; -function render$7(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$a, [..._hoisted_3$7]); -} -__name(render$7, "render$7"); -const __unplugin_components_1$1 = markRaw({ name: "lucide-play", render: render$7 }); -const _hoisted_1$9 = { - viewBox: "0 0 24 24", - width: "1.2em", - height: "1.2em" -}; -const _hoisted_2$6 = /* @__PURE__ */ createBaseVNode("g", { - fill: "none", - stroke: "currentColor", - "stroke-linecap": "round", - "stroke-linejoin": "round", - "stroke-width": "2" -}, [ - /* @__PURE__ */ createBaseVNode("path", { d: "M16 12H3m13 6H3m7-12H3m18 12V8a2 2 0 0 0-2-2h-5" }), - /* @__PURE__ */ createBaseVNode("path", { d: "m16 8l-2-2l2-2" }) -], -1); -const _hoisted_3$6 = [ - _hoisted_2$6 -]; -function render$6(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$9, [..._hoisted_3$6]); -} -__name(render$6, "render$6"); -const __unplugin_components_0$1 = markRaw({ name: "lucide-list-start", render: render$6 }); +__name(render$4, "render$4"); +script$5.render = render$4; var theme$2 = /* @__PURE__ */ __name(function theme6(_ref) { var dt = _ref.dt; - return "\n.p-tieredmenu {\n background: ".concat(dt("tieredmenu.background"), ";\n color: ").concat(dt("tieredmenu.color"), ";\n border: 1px solid ").concat(dt("tieredmenu.border.color"), ";\n border-radius: ").concat(dt("tieredmenu.border.radius"), ";\n min-width: 12.5rem;\n}\n\n.p-tieredmenu-root-list,\n.p-tieredmenu-submenu {\n margin: 0;\n padding: ").concat(dt("tieredmenu.list.padding"), ";\n list-style: none;\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("tieredmenu.list.gap"), ";\n}\n\n.p-tieredmenu-submenu {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n background: ").concat(dt("tieredmenu.background"), ";\n color: ").concat(dt("tieredmenu.color"), ";\n border: 1px solid ").concat(dt("tieredmenu.border.color"), ";\n border-radius: ").concat(dt("tieredmenu.border.radius"), ";\n box-shadow: ").concat(dt("tieredmenu.shadow"), ";\n}\n\n.p-tieredmenu-item {\n position: relative;\n}\n\n.p-tieredmenu-item-content {\n transition: background ").concat(dt("tieredmenu.transition.duration"), ", color ").concat(dt("tieredmenu.transition.duration"), ";\n border-radius: ").concat(dt("tieredmenu.item.border.radius"), ";\n color: ").concat(dt("tieredmenu.item.color"), ";\n}\n\n.p-tieredmenu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("tieredmenu.item.padding"), ";\n gap: ").concat(dt("tieredmenu.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-tieredmenu-item-label {\n line-height: 1;\n}\n\n.p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.color"), ";\n}\n\n.p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.color"), ";\n margin-left: auto;\n font-size: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n width: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n height: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content {\n color: ").concat(dt("tieredmenu.item.focus.color"), ";\n background: ").concat(dt("tieredmenu.item.focus.background"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover {\n color: ").concat(dt("tieredmenu.item.focus.color"), ";\n background: ").concat(dt("tieredmenu.item.focus.background"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content {\n color: ").concat(dt("tieredmenu.item.active.color"), ";\n background: ").concat(dt("tieredmenu.item.active.background"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.active.color"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.active.color"), ";\n}\n\n.p-tieredmenu-separator {\n border-top: 1px solid ").concat(dt("tieredmenu.separator.border.color"), ";\n}\n\n.p-tieredmenu-overlay {\n box-shadow: ").concat(dt("tieredmenu.shadow"), ";\n}\n\n.p-tieredmenu-enter-from,\n.p-tieredmenu-leave-active {\n opacity: 0;\n}\n\n.p-tieredmenu-enter-active {\n transition: opacity 250ms;\n}\n"); + return "\n.p-tieredmenu {\n background: ".concat(dt("tieredmenu.background"), ";\n color: ").concat(dt("tieredmenu.color"), ";\n border: 1px solid ").concat(dt("tieredmenu.border.color"), ";\n border-radius: ").concat(dt("tieredmenu.border.radius"), ";\n min-width: 12.5rem;\n}\n\n.p-tieredmenu-root-list,\n.p-tieredmenu-submenu {\n margin: 0;\n padding: ").concat(dt("tieredmenu.list.padding"), ";\n list-style: none;\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("tieredmenu.list.gap"), ";\n}\n\n.p-tieredmenu-submenu {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n background: ").concat(dt("tieredmenu.background"), ";\n color: ").concat(dt("tieredmenu.color"), ";\n border: 1px solid ").concat(dt("tieredmenu.border.color"), ";\n border-radius: ").concat(dt("tieredmenu.border.radius"), ";\n box-shadow: ").concat(dt("tieredmenu.shadow"), ";\n}\n\n.p-tieredmenu-item {\n position: relative;\n}\n\n.p-tieredmenu-item-content {\n transition: background ").concat(dt("tieredmenu.transition.duration"), ", color ").concat(dt("tieredmenu.transition.duration"), ";\n border-radius: ").concat(dt("tieredmenu.item.border.radius"), ";\n color: ").concat(dt("tieredmenu.item.color"), ";\n}\n\n.p-tieredmenu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("tieredmenu.item.padding"), ";\n gap: ").concat(dt("tieredmenu.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-tieredmenu-item-label {\n line-height: 1;\n}\n\n.p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.color"), ";\n}\n\n.p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.color"), ";\n margin-left: auto;\n font-size: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n width: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n height: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n}\n\n.p-tieredmenu-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content {\n color: ").concat(dt("tieredmenu.item.focus.color"), ";\n background: ").concat(dt("tieredmenu.item.focus.background"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover {\n color: ").concat(dt("tieredmenu.item.focus.color"), ";\n background: ").concat(dt("tieredmenu.item.focus.background"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content {\n color: ").concat(dt("tieredmenu.item.active.color"), ";\n background: ").concat(dt("tieredmenu.item.active.background"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.active.color"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.active.color"), ";\n}\n\n.p-tieredmenu-separator {\n border-block-start: 1px solid ").concat(dt("tieredmenu.separator.border.color"), ";\n}\n\n.p-tieredmenu-overlay {\n box-shadow: ").concat(dt("tieredmenu.shadow"), ";\n}\n\n.p-tieredmenu-enter-from,\n.p-tieredmenu-leave-active {\n opacity: 0;\n}\n\n.p-tieredmenu-enter-active {\n transition: opacity 250ms;\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-submenu {\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-inline-start: ").concat(dt("tieredmenu.submenu.mobile.indent"), ";\n padding-inline-end: 0;\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-submenu:dir(rtl) {\n padding-inline-start: 0;\n padding-inline-end: ").concat(dt("tieredmenu.submenu.mobile.indent"), ";\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-submenu-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n transform: rotate(-90deg);\n}\n"); }, "theme"); var inlineStyles$1 = { submenu: /* @__PURE__ */ __name(function submenu(_ref2) { @@ -5902,10 +3146,10 @@ var inlineStyles$1 = { }; var classes$2 = { root: /* @__PURE__ */ __name(function root8(_ref3) { - _ref3.instance; - var props = _ref3.props; + var props = _ref3.props, instance = _ref3.instance; return ["p-tieredmenu p-component", { - "p-tieredmenu-overlay": props.popup + "p-tieredmenu-overlay": props.popup, + "p-tieredmenu-mobile": instance.queryMatches }]; }, "root"), start: "p-tieredmenu-start", @@ -5935,7 +3179,7 @@ var TieredMenuStyle = BaseStyle.extend({ }); var script$2$1 = { name: "BaseTieredMenu", - "extends": script$e, + "extends": script$f, props: { popup: { type: Boolean, @@ -5949,6 +3193,10 @@ var script$2$1 = { type: [String, Object], "default": "body" }, + breakpoint: { + type: String, + "default": "960px" + }, autoZIndex: { type: Boolean, "default": true @@ -5975,7 +3223,7 @@ var script$2$1 = { } }, style: TieredMenuStyle, - provide: /* @__PURE__ */ __name(function provide10() { + provide: /* @__PURE__ */ __name(function provide9() { return { $pcTieredMenu: this, $parentInstance: this @@ -5985,7 +3233,7 @@ var script$2$1 = { var script$1$2 = { name: "TieredMenuSub", hostName: "TieredMenu", - "extends": script$e, + "extends": script$f, emits: ["item-click", "item-mouseenter", "item-mousemove"], container: null, props: { @@ -6108,8 +3356,7 @@ var script$1$2 = { return { action: mergeProps({ "class": this.cx("itemLink"), - tabindex: -1, - "aria-hidden": true + tabindex: -1 }, this.getPTOptions(processedItem, index, "itemLink")), icon: mergeProps({ "class": [this.cx("itemIcon"), this.getItemProp(processedItem, "icon")] @@ -6127,16 +3374,16 @@ var script$1$2 = { }, "containerRef") }, components: { - AngleRightIcon: script$z + AngleRightIcon: script$u }, directives: { ripple: Ripple } }; -var _hoisted_1$1$2 = ["tabindex"]; -var _hoisted_2$5 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-level", "aria-setsize", "aria-posinset", "data-p-active", "data-p-focused", "data-p-disabled"]; -var _hoisted_3$5 = ["onClick", "onMouseenter", "onMousemove"]; -var _hoisted_4$2 = ["href", "target"]; +var _hoisted_1$1$1 = ["tabindex"]; +var _hoisted_2$1 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-level", "aria-setsize", "aria-posinset", "data-p-active", "data-p-focused", "data-p-disabled"]; +var _hoisted_3$1 = ["onClick", "onMouseenter", "onMousemove"]; +var _hoisted_4$1 = ["href", "target"]; var _hoisted_5$1 = ["id"]; var _hoisted_6 = ["id"]; function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { @@ -6148,12 +3395,11 @@ function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { onEnter: $options.onEnter }, _ctx.ptm("menu.transition")), { "default": withCtx(function() { - return [($props.level === 0 ? true : $props.visible) ? (openBlock(), createElementBlock("ul", mergeProps({ + return [($props.level === 0 ? true : $props.visible) ? (openBlock(), createElementBlock("ul", { key: 0, ref: $options.containerRef, - "class": $props.level === 0 ? _ctx.cx("rootList") : _ctx.cx("submenu"), tabindex: $props.tabindex - }, $props.level === 0 ? _ctx.ptm("rootList") : _ctx.ptm("submenu")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function(processedItem, index) { + }, [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function(processedItem, index) { return openBlock(), createElementBlock(Fragment, { key: $options.getItemKey(processedItem) }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ @@ -6218,18 +3464,19 @@ function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { key: 1, "class": _ctx.cx("submenuIcon"), ref_for: true - }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_4$2)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { + }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_4$1)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { key: 1, item: processedItem.item, hasSubmenu: $options.getItemProp(processedItem, "items"), label: $options.getItemLabel(processedItem), props: $options.getMenuItemProps(processedItem, index) - }, null, 8, ["item", "hasSubmenu", "label", "props"]))], 16, _hoisted_3$5), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_TieredMenuSub, { + }, null, 8, ["item", "hasSubmenu", "label", "props"]))], 16, _hoisted_3$1), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_TieredMenuSub, mergeProps({ key: 0, id: $options.getItemId(processedItem) + "_list", - style: normalizeStyle(_ctx.sx("submenu", true, { + "class": _ctx.cx("submenu"), + style: _ctx.sx("submenu", true, { processedItem - })), + }), "aria-labelledby": $options.getItemLabelId(processedItem), role: "menu", menuId: $props.menuId, @@ -6249,8 +3496,9 @@ function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { }), onItemMousemove: _cache[2] || (_cache[2] = function($event) { return _ctx.$emit("item-mousemove", $event); - }) - }, null, 8, ["id", "style", "aria-labelledby", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "level", "visible", "pt", "unstyled"])) : createCommentVNode("", true)], 16, _hoisted_2$5)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + }), + ref_for: true + }, _ctx.ptm("submenu")), null, 16, ["id", "class", "style", "aria-labelledby", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "level", "visible", "pt", "unstyled"])) : createCommentVNode("", true)], 16, _hoisted_2$1)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ key: 1, id: $options.getItemId(processedItem), style: $options.getItemProp(processedItem, "style"), @@ -6258,7 +3506,7 @@ function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { role: "separator", ref_for: true }, _ctx.ptm("separator")), null, 16, _hoisted_6)) : createCommentVNode("", true)], 64); - }), 128))], 16, _hoisted_1$1$2)) : createCommentVNode("", true)]; + }), 128))], 8, _hoisted_1$1$1)) : createCommentVNode("", true)]; }), _: 1 }, 16, ["onEnter"]); @@ -6271,6 +3519,7 @@ var script$4 = { inheritAttrs: false, emits: ["focus", "blur", "before-show", "before-hide", "hide", "show"], outsideClickListener: null, + matchMediaListener: null, scrollHandler: null, resizeListener: null, target: null, @@ -6290,7 +3539,9 @@ var script$4 = { activeItemPath: [], visible: !this.popup, submenuVisible: false, - dirty: false + dirty: false, + query: null, + queryMatches: false }; }, "data"), watch: { @@ -6311,10 +3562,12 @@ var script$4 = { }, mounted: /* @__PURE__ */ __name(function mounted6() { this.id = this.id || UniqueComponentId(); + this.bindMatchMediaListener(); }, "mounted"), beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount6() { this.unbindOutsideClickListener(); this.unbindResizeListener(); + this.unbindMatchMediaListener(); if (this.scrollHandler) { this.scrollHandler.destroy(); this.scrollHandler = null; @@ -6449,7 +3702,7 @@ var script$4 = { break; } }, "onKeyDown"), - onItemChange: /* @__PURE__ */ __name(function onItemChange(event) { + onItemChange: /* @__PURE__ */ __name(function onItemChange(event, type) { var processedItem = event.processedItem, isFocus = event.isFocus; if (isEmpty(processedItem)) return; var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey, items = processedItem.items; @@ -6466,9 +3719,12 @@ var script$4 = { level, parentKey }; - this.activeItemPath = activeItemPath3; grouped && (this.dirty = true); isFocus && focus(this.menubar); + if (type === "hover" && this.queryMatches) { + return; + } + this.activeItemPath = activeItemPath3; }, "onItemChange"), onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick2(event) { OverlayEventBus.emit("overlay-click", { @@ -6508,7 +3764,7 @@ var script$4 = { }, "onItemClick"), onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter2(event) { if (this.dirty) { - this.onItemChange(event); + this.onItemChange(event, "hover"); } }, "onItemMouseEnter"), onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove2(event) { @@ -6713,6 +3969,24 @@ var script$4 = { this.resizeListener = null; } }, "unbindResizeListener"), + bindMatchMediaListener: /* @__PURE__ */ __name(function bindMatchMediaListener() { + var _this5 = this; + if (!this.matchMediaListener) { + var query = matchMedia("(max-width: ".concat(this.breakpoint, ")")); + this.query = query; + this.queryMatches = query.matches; + this.matchMediaListener = function() { + _this5.queryMatches = query.matches; + }; + this.query.addEventListener("change", this.matchMediaListener); + } + }, "bindMatchMediaListener"), + unbindMatchMediaListener: /* @__PURE__ */ __name(function unbindMatchMediaListener() { + if (this.matchMediaListener) { + this.query.removeEventListener("change", this.matchMediaListener); + this.matchMediaListener = null; + } + }, "unbindMatchMediaListener"), isItemMatched: /* @__PURE__ */ __name(function isItemMatched(processedItem) { var _this$getProccessedIt; return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())); @@ -6729,35 +4003,35 @@ var script$4 = { }); }, "isSelected"), findFirstItemIndex: /* @__PURE__ */ __name(function findFirstItemIndex() { - var _this5 = this; + var _this6 = this; return this.visibleItems.findIndex(function(processedItem) { - return _this5.isValidItem(processedItem); + return _this6.isValidItem(processedItem); }); }, "findFirstItemIndex"), findLastItemIndex: /* @__PURE__ */ __name(function findLastItemIndex() { - var _this6 = this; + var _this7 = this; return findLastIndex(this.visibleItems, function(processedItem) { - return _this6.isValidItem(processedItem); + return _this7.isValidItem(processedItem); }); }, "findLastItemIndex"), findNextItemIndex: /* @__PURE__ */ __name(function findNextItemIndex(index) { - var _this7 = this; + var _this8 = this; var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function(processedItem) { - return _this7.isValidItem(processedItem); + return _this8.isValidItem(processedItem); }) : -1; return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index; }, "findNextItemIndex"), findPrevItemIndex: /* @__PURE__ */ __name(function findPrevItemIndex(index) { - var _this8 = this; + var _this9 = this; var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function(processedItem) { - return _this8.isValidItem(processedItem); + return _this9.isValidItem(processedItem); }) : -1; return matchedItemIndex > -1 ? matchedItemIndex : index; }, "findPrevItemIndex"), findSelectedItemIndex: /* @__PURE__ */ __name(function findSelectedItemIndex() { - var _this9 = this; + var _this10 = this; return this.visibleItems.findIndex(function(processedItem) { - return _this9.isValidSelectedItem(processedItem); + return _this10.isValidSelectedItem(processedItem); }); }, "findSelectedItemIndex"), findFirstFocusedItemIndex: /* @__PURE__ */ __name(function findFirstFocusedItemIndex() { @@ -6769,20 +4043,20 @@ var script$4 = { return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex; }, "findLastFocusedItemIndex"), searchItems: /* @__PURE__ */ __name(function searchItems(event, _char) { - var _this10 = this; + var _this11 = this; this.searchValue = (this.searchValue || "") + _char; var itemIndex = -1; var matched = false; if (this.focusedItemInfo.index !== -1) { itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function(processedItem) { - return _this10.isItemMatched(processedItem); + return _this11.isItemMatched(processedItem); }); itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function(processedItem) { - return _this10.isItemMatched(processedItem); + return _this11.isItemMatched(processedItem); }) : itemIndex + this.focusedItemInfo.index; } else { itemIndex = this.visibleItems.findIndex(function(processedItem) { - return _this10.isItemMatched(processedItem); + return _this11.isItemMatched(processedItem); }); } if (itemIndex !== -1) { @@ -6798,8 +4072,8 @@ var script$4 = { clearTimeout(this.searchTimeout); } this.searchTimeout = setTimeout(function() { - _this10.searchValue = ""; - _this10.searchTimeout = null; + _this11.searchValue = ""; + _this11.searchTimeout = null; }, 500); return matched; }, "searchItems"), @@ -6821,7 +4095,7 @@ var script$4 = { } }, "scrollInView"), createProcessedItems: /* @__PURE__ */ __name(function createProcessedItems(items) { - var _this11 = this; + var _this12 = this; var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; var parent = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; var parentKey = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ""; @@ -6836,7 +4110,7 @@ var script$4 = { parent, parentKey }; - newItem["items"] = _this11.createProcessedItems(item3.items, level + 1, newItem, key); + newItem["items"] = _this12.createProcessedItems(item3.items, level + 1, newItem, key); processedItems3.push(newItem); }); return processedItems3; @@ -6853,9 +4127,9 @@ var script$4 = { return this.createProcessedItems(this.model || []); }, "processedItems"), visibleItems: /* @__PURE__ */ __name(function visibleItems() { - var _this12 = this; + var _this13 = this; var processedItem = this.activeItemPath.find(function(p) { - return p.key === _this12.focusedItemInfo.parentKey; + return p.key === _this13.focusedItemInfo.parentKey; }); return processedItem ? processedItem.items : this.processedItems; }, "visibleItems"), @@ -6865,11 +4139,11 @@ var script$4 = { }, components: { TieredMenuSub: script$1$2, - Portal: script$k + Portal: script$l } }; -var _hoisted_1$8 = ["id"]; -function render$5(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$3 = ["id"]; +function render$3(_ctx, _cache, $props, $setup, $data, $options) { var _component_TieredMenuSub = resolveComponent("TieredMenuSub"); var _component_Portal = resolveComponent("Portal"); return openBlock(), createBlock(_component_Portal, { @@ -6896,9 +4170,10 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) { }, _ctx.ptmi("root")), [_ctx.$slots.start ? (openBlock(), createElementBlock("div", mergeProps({ key: 0, "class": _ctx.cx("start") - }, _ctx.ptm("start")), [renderSlot(_ctx.$slots, "start")], 16)) : createCommentVNode("", true), createVNode(_component_TieredMenuSub, { + }, _ctx.ptm("start")), [renderSlot(_ctx.$slots, "start")], 16)) : createCommentVNode("", true), createVNode(_component_TieredMenuSub, mergeProps({ ref: $options.menubarRef, id: $data.id + "_list", + "class": _ctx.cx("rootList"), tabindex: !_ctx.disabled ? _ctx.tabindex : -1, role: "menubar", "aria-label": _ctx.ariaLabel, @@ -6921,10 +4196,10 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) { onItemClick: $options.onItemClick, onItemMouseenter: $options.onItemMouseEnter, onItemMousemove: $options.onItemMouseMove - }, null, 8, ["id", "tabindex", "aria-label", "aria-labelledby", "aria-disabled", "aria-activedescendant", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "visible", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter", "onItemMousemove"]), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({ + }, _ctx.ptm("rootList")), null, 16, ["id", "class", "tabindex", "aria-label", "aria-labelledby", "aria-disabled", "aria-activedescendant", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "visible", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter", "onItemMousemove"]), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({ key: 1, "class": _ctx.cx("end") - }, _ctx.ptm("end")), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$8)) : createCommentVNode("", true)]; + }, _ctx.ptm("end")), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$3)) : createCommentVNode("", true)]; }), _: 3 }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; @@ -6932,11 +4207,11 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) { _: 3 }, 8, ["appendTo", "disabled"]); } -__name(render$5, "render$5"); -script$4.render = render$5; +__name(render$3, "render$3"); +script$4.render = render$3; var theme$1 = /* @__PURE__ */ __name(function theme7(_ref) { var dt = _ref.dt; - return "\n.p-splitbutton {\n display: inline-flex;\n position: relative;\n border-radius: ".concat(dt("splitbutton.border.radius"), ";\n}\n\n.p-splitbutton-button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: 0 none;\n}\n\n.p-splitbutton-button:focus-visible,\n.p-splitbutton-dropdown:focus-visible {\n z-index: 1;\n}\n\n.p-splitbutton-button:not(:disabled):hover,\n.p-splitbutton-button:not(:disabled):active {\n border-right: 0 none;\n}\n\n.p-splitbutton-dropdown {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.p-splitbutton .p-menu {\n min-width: 100%;\n}\n\n.p-splitbutton-fluid {\n display: flex;\n}\n\n.p-splitbutton-rounded .p-splitbutton-dropdown {\n border-top-right-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n border-bottom-right-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n}\n\n.p-splitbutton-rounded .p-splitbutton-button {\n border-top-left-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n border-bottom-left-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n}\n\n.p-splitbutton-raised {\n box-shadow: ").concat(dt("splitbutton.raised.shadow"), ";\n}\n"); + return "\n.p-splitbutton {\n display: inline-flex;\n position: relative;\n border-radius: ".concat(dt("splitbutton.border.radius"), ";\n}\n\n.p-splitbutton-button {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-inline-end: 0 none;\n}\n\n.p-splitbutton-button:focus-visible,\n.p-splitbutton-dropdown:focus-visible {\n z-index: 1;\n}\n\n.p-splitbutton-button:not(:disabled):hover,\n.p-splitbutton-button:not(:disabled):active {\n border-inline-end: 0 none;\n}\n\n.p-splitbutton-dropdown {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n\n.p-splitbutton .p-menu {\n min-width: 100%;\n}\n\n.p-splitbutton-fluid {\n display: flex;\n}\n\n.p-splitbutton-rounded .p-splitbutton-dropdown {\n border-start-end-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n border-end-end-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n}\n\n.p-splitbutton-rounded .p-splitbutton-button {\n border-start-start-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n border-end-start-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n}\n\n.p-splitbutton-raised {\n box-shadow: ").concat(dt("splitbutton.raised.shadow"), ";\n}\n"); }, "theme"); var classes$1 = { root: /* @__PURE__ */ __name(function root9(_ref2) { @@ -6957,7 +4232,7 @@ var SplitButtonStyle = BaseStyle.extend({ }); var script$1$1 = { name: "BaseSplitButton", - "extends": script$e, + "extends": script$f, props: { label: { type: String, @@ -7045,7 +4320,7 @@ var script$1$1 = { } }, style: SplitButtonStyle, - provide: /* @__PURE__ */ __name(function provide11() { + provide: /* @__PURE__ */ __name(function provide10() { return { $pcSplitButton: this, $parentInstance: this @@ -7108,18 +4383,18 @@ var script$3 = { containerClass: /* @__PURE__ */ __name(function containerClass() { return [this.cx("root"), this["class"]]; }, "containerClass"), - hasFluid: /* @__PURE__ */ __name(function hasFluid2() { + hasFluid: /* @__PURE__ */ __name(function hasFluid() { return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; }, "hasFluid") }, components: { - PVSButton: script$d, + PVSButton: script$v, PVSMenu: script$4, - ChevronDownIcon: script$l + ChevronDownIcon: script$m } }; -var _hoisted_1$7 = ["data-p-severity"]; -function render$4(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$2 = ["data-p-severity"]; +function render$2(_ctx, _cache, $props, $setup, $data, $options) { var _component_PVSButton = resolveComponent("PVSButton"); var _component_PVSMenu = resolveComponent("PVSMenu"); return openBlock(), createElementBlock("div", mergeProps({ @@ -7224,442 +4499,13 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) { })]; }), key: "1" - } : void 0]), 1032, ["id", "model", "autoZIndex", "baseZIndex", "appendTo", "unstyled", "pt"])], 16, _hoisted_1$7); -} -__name(render$4, "render$4"); -script$3.render = render$4; -const _withScopeId$3 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-26957f1f"), n = n(), popScopeId(), n), "_withScopeId$3"); -const _hoisted_1$6 = ["aria-label"]; -const minQueueCount = 1; -const _sfc_main$6 = /* @__PURE__ */ defineComponent({ - __name: "BatchCountEdit", - props: { - class: { default: "" } - }, - setup(__props) { - const props = __props; - const queueSettingsStore = useQueueSettingsStore(); - const { batchCount } = storeToRefs(queueSettingsStore); - const settingStore = useSettingStore(); - const maxQueueCount = computed( - () => settingStore.get("Comfy.QueueButton.BatchCountLimit") - ); - const handleClick = /* @__PURE__ */ __name((increment) => { - let newCount; - if (increment) { - const originalCount = batchCount.value - 1; - newCount = Math.min(originalCount * 2, maxQueueCount.value); - } else { - const originalCount = batchCount.value + 1; - newCount = Math.floor(originalCount / 2); - } - batchCount.value = newCount; - }, "handleClick"); - return (_ctx, _cache) => { - const _directive_tooltip = resolveDirective("tooltip"); - return withDirectives((openBlock(), createElementBlock("div", { - class: normalizeClass(["batch-count", props.class]), - "aria-label": _ctx.$t("menu.batchCount") - }, [ - createVNode(unref(script$A), { - class: "w-14", - modelValue: unref(batchCount), - "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(batchCount) ? batchCount.value = $event : null), - min: minQueueCount, - max: maxQueueCount.value, - fluid: "", - showButtons: "", - pt: { - incrementButton: { - class: "w-6", - onmousedown: /* @__PURE__ */ __name(() => { - handleClick(true); - }, "onmousedown") - }, - decrementButton: { - class: "w-6", - onmousedown: /* @__PURE__ */ __name(() => { - handleClick(false); - }, "onmousedown") - } - } - }, null, 8, ["modelValue", "max", "pt"]) - ], 10, _hoisted_1$6)), [ - [ - _directive_tooltip, - _ctx.$t("menu.batchCount"), - void 0, - { bottom: true } - ] - ]); - }; - } -}); -const BatchCountEdit = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-26957f1f"]]); -const _withScopeId$2 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-e9044686"), n = n(), popScopeId(), n), "_withScopeId$2"); -const _hoisted_1$5 = { class: "queue-button-group flex" }; -const _sfc_main$5 = /* @__PURE__ */ defineComponent({ - __name: "ComfyQueueButton", - setup(__props) { - const workspaceStore = useWorkspaceStore(); - const queueCountStore = storeToRefs(useQueuePendingTaskCountStore()); - const { mode: queueMode } = storeToRefs(useQueueSettingsStore()); - const { t } = useI18n(); - const queueModeMenuItemLookup = computed(() => ({ - disabled: { - key: "disabled", - label: t("menu.queue"), - tooltip: t("menu.disabledTooltip"), - command: /* @__PURE__ */ __name(() => { - queueMode.value = "disabled"; - }, "command") - }, - instant: { - key: "instant", - label: `${t("menu.queue")} (${t("menu.instant")})`, - tooltip: t("menu.instantTooltip"), - command: /* @__PURE__ */ __name(() => { - queueMode.value = "instant"; - }, "command") - }, - change: { - key: "change", - label: `${t("menu.queue")} (${t("menu.onChange")})`, - tooltip: t("menu.onChangeTooltip"), - command: /* @__PURE__ */ __name(() => { - queueMode.value = "change"; - }, "command") - } - })); - const activeQueueModeMenuItem = computed( - () => queueModeMenuItemLookup.value[queueMode.value] - ); - const queueModeMenuItems = computed( - () => Object.values(queueModeMenuItemLookup.value) - ); - const executingPrompt = computed(() => !!queueCountStore.count.value); - const hasPendingTasks = computed(() => queueCountStore.count.value > 1); - const commandStore = useCommandStore(); - const queuePrompt = /* @__PURE__ */ __name((e) => { - const commandId = e.shiftKey ? "Comfy.QueuePromptFront" : "Comfy.QueuePrompt"; - commandStore.execute(commandId); - }, "queuePrompt"); - return (_ctx, _cache) => { - const _component_i_lucide58list_start = __unplugin_components_0$1; - const _component_i_lucide58play = __unplugin_components_1$1; - const _component_i_lucide58fast_forward = __unplugin_components_2; - const _component_i_lucide58step_forward = __unplugin_components_3; - const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createElementBlock("div", _hoisted_1$5, [ - withDirectives((openBlock(), createBlock(unref(script$3), { - class: "comfyui-queue-button", - label: activeQueueModeMenuItem.value.label, - severity: "primary", - size: "small", - onClick: queuePrompt, - model: queueModeMenuItems.value, - "data-testid": "queue-button" - }, { - icon: withCtx(() => [ - unref(workspaceStore).shiftDown ? (openBlock(), createBlock(_component_i_lucide58list_start, { key: 0 })) : unref(queueMode) === "disabled" ? (openBlock(), createBlock(_component_i_lucide58play, { key: 1 })) : unref(queueMode) === "instant" ? (openBlock(), createBlock(_component_i_lucide58fast_forward, { key: 2 })) : unref(queueMode) === "change" ? (openBlock(), createBlock(_component_i_lucide58step_forward, { key: 3 })) : createCommentVNode("", true) - ]), - item: withCtx(({ item: item3 }) => [ - withDirectives(createVNode(unref(script$d), { - label: item3.label, - icon: item3.icon, - severity: item3.key === unref(queueMode) ? "primary" : "secondary", - size: "small", - text: "" - }, null, 8, ["label", "icon", "severity"]), [ - [_directive_tooltip, item3.tooltip] - ]) - ]), - _: 1 - }, 8, ["label", "model"])), [ - [ - _directive_tooltip, - unref(workspaceStore).shiftDown ? _ctx.$t("menu.queueWorkflowFront") : _ctx.$t("menu.queueWorkflow"), - void 0, - { bottom: true } - ] - ]), - createVNode(BatchCountEdit), - createVNode(unref(script$8), { class: "execution-actions flex flex-nowrap" }, { - default: withCtx(() => [ - withDirectives(createVNode(unref(script$d), { - icon: "pi pi-times", - severity: executingPrompt.value ? "danger" : "secondary", - disabled: !executingPrompt.value, - text: "", - "aria-label": _ctx.$t("menu.interrupt"), - onClick: _cache[0] || (_cache[0] = () => unref(commandStore).execute("Comfy.Interrupt")) - }, null, 8, ["severity", "disabled", "aria-label"]), [ - [ - _directive_tooltip, - _ctx.$t("menu.interrupt"), - void 0, - { bottom: true } - ] - ]), - withDirectives(createVNode(unref(script$d), { - icon: "pi pi-stop", - severity: hasPendingTasks.value ? "danger" : "secondary", - disabled: !hasPendingTasks.value, - text: "", - "aria-label": _ctx.$t("sideToolbar.queueTab.clearPendingTasks"), - onClick: _cache[1] || (_cache[1] = () => unref(commandStore).execute("Comfy.ClearPendingTasks")) - }, null, 8, ["severity", "disabled", "aria-label"]), [ - [ - _directive_tooltip, - _ctx.$t("sideToolbar.queueTab.clearPendingTasks"), - void 0, - { bottom: true } - ] - ]) - ]), - _: 1 - }) - ]); - }; - } -}); -const ComfyQueueButton = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-e9044686"]]); -const overlapThreshold = 20; -const _sfc_main$4 = /* @__PURE__ */ defineComponent({ - __name: "ComfyActionbar", - setup(__props) { - const settingsStore = useSettingStore(); - const visible = computed( - () => settingsStore.get("Comfy.UseNewMenu") !== "Disabled" - ); - const panelRef = ref(null); - const dragHandleRef = ref(null); - const isDocked = useLocalStorage("Comfy.MenuPosition.Docked", false); - const storedPosition = useLocalStorage("Comfy.MenuPosition.Floating", { - x: 0, - y: 0 - }); - const { - x, - y, - style, - isDragging - } = useDraggable(panelRef, { - initialValue: { x: 0, y: 0 }, - handle: dragHandleRef, - containerElement: document.body - }); - watchDebounced( - [x, y], - ([newX, newY]) => { - storedPosition.value = { x: newX, y: newY }; - }, - { debounce: 300 } - ); - const setInitialPosition = /* @__PURE__ */ __name(() => { - if (x.value !== 0 || y.value !== 0) { - return; - } - if (storedPosition.value.x !== 0 || storedPosition.value.y !== 0) { - x.value = storedPosition.value.x; - y.value = storedPosition.value.y; - captureLastDragState(); - return; - } - if (panelRef.value) { - const screenWidth = window.innerWidth; - const screenHeight = window.innerHeight; - const menuWidth = panelRef.value.offsetWidth; - const menuHeight = panelRef.value.offsetHeight; - if (menuWidth === 0 || menuHeight === 0) { - return; - } - x.value = (screenWidth - menuWidth) / 2; - y.value = screenHeight - menuHeight - 10; - captureLastDragState(); - } - }, "setInitialPosition"); - onMounted(setInitialPosition); - watch(visible, (newVisible) => { - if (newVisible) { - nextTick(setInitialPosition); - } - }); - const lastDragState = ref({ - x: x.value, - y: y.value, - windowWidth: window.innerWidth, - windowHeight: window.innerHeight - }); - const captureLastDragState = /* @__PURE__ */ __name(() => { - lastDragState.value = { - x: x.value, - y: y.value, - windowWidth: window.innerWidth, - windowHeight: window.innerHeight - }; - }, "captureLastDragState"); - watch( - isDragging, - (newIsDragging) => { - if (!newIsDragging) { - captureLastDragState(); - } - }, - { immediate: true } - ); - const adjustMenuPosition = /* @__PURE__ */ __name(() => { - if (panelRef.value) { - const screenWidth = window.innerWidth; - const screenHeight = window.innerHeight; - const menuWidth = panelRef.value.offsetWidth; - const menuHeight = panelRef.value.offsetHeight; - const distanceLeft = lastDragState.value.x; - const distanceRight = lastDragState.value.windowWidth - (lastDragState.value.x + menuWidth); - const distanceTop = lastDragState.value.y; - const distanceBottom = lastDragState.value.windowHeight - (lastDragState.value.y + menuHeight); - const distances = [ - { edge: "left", distance: distanceLeft }, - { edge: "right", distance: distanceRight }, - { edge: "top", distance: distanceTop }, - { edge: "bottom", distance: distanceBottom } - ]; - const closestEdge = distances.reduce( - (min, curr) => curr.distance < min.distance ? curr : min - ); - const verticalRatio = lastDragState.value.y / lastDragState.value.windowHeight; - const horizontalRatio = lastDragState.value.x / lastDragState.value.windowWidth; - if (closestEdge.edge === "left") { - x.value = closestEdge.distance; - y.value = verticalRatio * screenHeight; - } else if (closestEdge.edge === "right") { - x.value = screenWidth - menuWidth - closestEdge.distance; - y.value = verticalRatio * screenHeight; - } else if (closestEdge.edge === "top") { - x.value = horizontalRatio * screenWidth; - y.value = closestEdge.distance; - } else { - x.value = horizontalRatio * screenWidth; - y.value = screenHeight - menuHeight - closestEdge.distance; - } - x.value = lodashExports.clamp(x.value, 0, screenWidth - menuWidth); - y.value = lodashExports.clamp(y.value, 0, screenHeight - menuHeight); - } - }, "adjustMenuPosition"); - useEventListener(window, "resize", adjustMenuPosition); - const topMenuRef = inject("topMenuRef"); - const topMenuBounds = useElementBounding(topMenuRef); - const isOverlappingWithTopMenu = computed(() => { - if (!panelRef.value) { - return false; - } - const { height } = panelRef.value.getBoundingClientRect(); - const actionbarBottom = y.value + height; - const topMenuBottom = topMenuBounds.bottom.value; - const overlapPixels = Math.min(actionbarBottom, topMenuBottom) - Math.max(y.value, topMenuBounds.top.value); - return overlapPixels > overlapThreshold; - }); - watch(isDragging, (newIsDragging) => { - if (!newIsDragging) { - isDocked.value = isOverlappingWithTopMenu.value; - } else { - isDocked.value = false; - } - }); - const eventBus = useEventBus("topMenu"); - watch([isDragging, isOverlappingWithTopMenu], ([dragging, overlapping]) => { - eventBus.emit("updateHighlight", { - isDragging: dragging, - isOverlapping: overlapping - }); - }); - return (_ctx, _cache) => { - return openBlock(), createBlock(unref(script$B), { - class: normalizeClass(["actionbar w-fit", { "is-dragging": unref(isDragging), "is-docked": unref(isDocked) }]), - style: normalizeStyle(unref(style)) - }, { - default: withCtx(() => [ - createBaseVNode("div", { - class: "actionbar-content flex items-center", - ref_key: "panelRef", - ref: panelRef - }, [ - createBaseVNode("span", { - class: "drag-handle cursor-move mr-2 p-0!", - ref_key: "dragHandleRef", - ref: dragHandleRef - }, null, 512), - createVNode(ComfyQueueButton) - ], 512) - ]), - _: 1 - }, 8, ["style", "class"]); - }; - } -}); -const Actionbar = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-915e5456"]]); -const _hoisted_1$4 = { - viewBox: "0 0 24 24", - width: "1.2em", - height: "1.2em" -}; -const _hoisted_2$4 = /* @__PURE__ */ createBaseVNode("path", { - fill: "currentColor", - d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-5v3h14v-3zm0-2h14V5H5zm0 2v3z" -}, null, -1); -const _hoisted_3$4 = [ - _hoisted_2$4 -]; -function render$3(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$4, [..._hoisted_3$4]); -} -__name(render$3, "render$3"); -const __unplugin_components_1 = markRaw({ name: "material-symbols-dock-to-bottom-outline", render: render$3 }); -const _hoisted_1$3 = { - viewBox: "0 0 24 24", - width: "1.2em", - height: "1.2em" -}; -const _hoisted_2$3 = /* @__PURE__ */ createBaseVNode("path", { - fill: "currentColor", - d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-7h14V5H5z" -}, null, -1); -const _hoisted_3$3 = [ - _hoisted_2$3 -]; -function render$2(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$3, [..._hoisted_3$3]); + } : void 0]), 1032, ["id", "model", "autoZIndex", "baseZIndex", "appendTo", "unstyled", "pt"])], 16, _hoisted_1$2); } __name(render$2, "render$2"); -const __unplugin_components_0 = markRaw({ name: "material-symbols-dock-to-bottom", render: render$2 }); -const _sfc_main$3 = /* @__PURE__ */ defineComponent({ - __name: "BottomPanelToggleButton", - setup(__props) { - const bottomPanelStore = useBottomPanelStore(); - return (_ctx, _cache) => { - const _component_i_material_symbols58dock_to_bottom = __unplugin_components_0; - const _component_i_material_symbols58dock_to_bottom_outline = __unplugin_components_1; - const _directive_tooltip = resolveDirective("tooltip"); - return withDirectives((openBlock(), createBlock(unref(script$d), { - severity: "secondary", - text: "", - "aria-label": _ctx.$t("menu.toggleBottomPanel"), - onClick: unref(bottomPanelStore).toggleBottomPanel - }, { - icon: withCtx(() => [ - unref(bottomPanelStore).bottomPanelVisible ? (openBlock(), createBlock(_component_i_material_symbols58dock_to_bottom, { key: 0 })) : (openBlock(), createBlock(_component_i_material_symbols58dock_to_bottom_outline, { key: 1 })) - ]), - _: 1 - }, 8, ["aria-label", "onClick"])), [ - [vShow, unref(bottomPanelStore).bottomPanelTabs.length > 0], - [_directive_tooltip, { value: _ctx.$t("menu.toggleBottomPanel"), showDelay: 300 }] - ]); - }; - } -}); +script$3.render = render$2; var theme8 = /* @__PURE__ */ __name(function theme9(_ref) { var dt = _ref.dt; - return "\n.p-menubar {\n display: flex;\n align-items: center;\n background: ".concat(dt("menubar.background"), ";\n border: 1px solid ").concat(dt("menubar.border.color"), ";\n border-radius: ").concat(dt("menubar.border.radius"), ";\n color: ").concat(dt("menubar.color"), ";\n padding: ").concat(dt("menubar.padding"), ";\n gap: ").concat(dt("menubar.gap"), ";\n}\n\n.p-menubar-start,\n.p-megamenu-end {\n display: flex;\n align-items: center;\n}\n\n.p-menubar-root-list,\n.p-menubar-submenu {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n outline: 0 none;\n}\n\n.p-menubar-root-list {\n align-items: center;\n flex-wrap: wrap;\n gap: ").concat(dt("menubar.gap"), ";\n}\n\n.p-menubar-root-list > .p-menubar-item > .p-menubar-item-content {\n border-radius: ").concat(dt("menubar.base.item.border.radius"), ";\n}\n\n.p-menubar-root-list > .p-menubar-item > .p-menubar-item-content > .p-menubar-item-link {\n padding: ").concat(dt("menubar.base.item.padding"), ";\n}\n\n.p-menubar-item-content {\n transition: background ").concat(dt("menubar.transition.duration"), ", color ").concat(dt("menubar.transition.duration"), ";\n border-radius: ").concat(dt("menubar.item.border.radius"), ";\n color: ").concat(dt("menubar.item.color"), ";\n}\n\n.p-menubar-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("menubar.item.padding"), ";\n gap: ").concat(dt("menubar.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-menubar-item-label {\n line-height: 1;\n}\n\n.p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.color"), ";\n}\n\n.p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.color"), ";\n margin-left: auto;\n font-size: ").concat(dt("menubar.submenu.icon.size"), ";\n width: ").concat(dt("menubar.submenu.icon.size"), ";\n height: ").concat(dt("menubar.submenu.icon.size"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content {\n color: ").concat(dt("menubar.item.focus.color"), ";\n background: ").concat(dt("menubar.item.focus.background"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.focus.color"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.focus.color"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover {\n color: ").concat(dt("menubar.item.focus.color"), ";\n background: ").concat(dt("menubar.item.focus.background"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.focus.color"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.focus.color"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content {\n color: ").concat(dt("menubar.item.active.color"), ";\n background: ").concat(dt("menubar.item.active.background"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.active.color"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.active.color"), ";\n}\n\n.p-menubar-submenu {\n display: none;\n position: absolute;\n min-width: 12.5rem;\n z-index: 1;\n background: ").concat(dt("menubar.submenu.background"), ";\n border: 1px solid ").concat(dt("menubar.submenu.border.color"), ";\n border-radius: ").concat(dt("menubar.border.radius"), ";\n box-shadow: ").concat(dt("menubar.submenu.shadow"), ";\n color: ").concat(dt("menubar.submenu.color"), ";\n flex-direction: column;\n padding: ").concat(dt("menubar.submenu.padding"), ";\n gap: ").concat(dt("menubar.submenu.gap"), ";\n}\n\n.p-menubar-submenu .p-menubar-separator {\n border-top: 1px solid ").concat(dt("menubar.separator.border.color"), ";\n}\n\n.p-menubar-submenu .p-menubar-item {\n position: relative;\n}\n\n .p-menubar-submenu > .p-menubar-item-active > .p-menubar-submenu {\n display: block;\n left: 100%;\n top: 0;\n}\n\n.p-menubar-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-menubar-button {\n display: none;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n width: ").concat(dt("menubar.mobile.button.size"), ";\n height: ").concat(dt("menubar.mobile.button.size"), ";\n position: relative;\n color: ").concat(dt("menubar.mobile.button.color"), ";\n border: 0 none;\n background: transparent;\n border-radius: ").concat(dt("menubar.mobile.button.border.radius"), ";\n transition: background ").concat(dt("menubar.transition.duration"), ", color ").concat(dt("menubar.transition.duration"), ", outline-color ").concat(dt("menubar.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-menubar-button:hover {\n color: ").concat(dt("menubar.mobile.button.hover.color"), ";\n background: ").concat(dt("menubar.mobile.button.hover.background"), ";\n}\n\n.p-menubar-button:focus-visible {\n box-shadow: ").concat(dt("menubar.mobile.button.focus.ring.shadow"), ";\n outline: ").concat(dt("menubar.mobile.button.focus.ring.width"), " ").concat(dt("menubar.mobile.button.focus.ring.style"), " ").concat(dt("menubar.mobile.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("menubar.mobile.button.focus.ring.offset"), ";\n}\n\n.p-menubar-mobile {\n position: relative;\n}\n\n.p-menubar-mobile .p-menubar-button {\n display: flex;\n}\n\n.p-menubar-mobile .p-menubar-root-list {\n position: absolute;\n display: none;\n width: 100%;\n padding: ").concat(dt("menubar.submenu.padding"), ";\n background: ").concat(dt("menubar.submenu.background"), ";\n border: 1px solid ").concat(dt("menubar.submenu.border.color"), ";\n box-shadow: ").concat(dt("menubar.submenu.shadow"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content {\n border-radius: ").concat(dt("menubar.item.border.radius"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content > .p-menubar-item-link {\n padding: ").concat(dt("menubar.item.padding"), ";\n}\n\n.p-menubar-mobile-active .p-menubar-root-list {\n display: flex;\n flex-direction: column;\n top: 100%;\n left: 0;\n z-index: 1;\n}\n\n.p-menubar-mobile .p-menubar-root-list .p-menubar-item {\n width: 100%;\n position: static;\n}\n\n.p-menubar-mobile .p-menubar-root-list .p-menubar-separator {\n border-top: 1px solid ").concat(dt("menubar.separator.border.color"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content .p-menubar-submenu-icon {\n margin-left: auto;\n transition: transform 0.2s;\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n transform: rotate(-180deg);\n}\n\n.p-menubar-mobile .p-menubar-submenu .p-menubar-submenu-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-menubar-mobile .p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n transform: rotate(-90deg);\n}\n\n.p-menubar-mobile .p-menubar-submenu {\n width: 100%;\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-left: ").concat(dt("menubar.submenu.mobile.indent"), ";\n}\n"); + return "\n.p-menubar {\n display: flex;\n align-items: center;\n background: ".concat(dt("menubar.background"), ";\n border: 1px solid ").concat(dt("menubar.border.color"), ";\n border-radius: ").concat(dt("menubar.border.radius"), ";\n color: ").concat(dt("menubar.color"), ";\n padding: ").concat(dt("menubar.padding"), ";\n gap: ").concat(dt("menubar.gap"), ";\n}\n\n.p-menubar-start,\n.p-megamenu-end {\n display: flex;\n align-items: center;\n}\n\n.p-menubar-root-list,\n.p-menubar-submenu {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n outline: 0 none;\n}\n\n.p-menubar-root-list {\n align-items: center;\n flex-wrap: wrap;\n gap: ").concat(dt("menubar.gap"), ";\n}\n\n.p-menubar-root-list > .p-menubar-item > .p-menubar-item-content {\n border-radius: ").concat(dt("menubar.base.item.border.radius"), ";\n}\n\n.p-menubar-root-list > .p-menubar-item > .p-menubar-item-content > .p-menubar-item-link {\n padding: ").concat(dt("menubar.base.item.padding"), ";\n}\n\n.p-menubar-item-content {\n transition: background ").concat(dt("menubar.transition.duration"), ", color ").concat(dt("menubar.transition.duration"), ";\n border-radius: ").concat(dt("menubar.item.border.radius"), ";\n color: ").concat(dt("menubar.item.color"), ";\n}\n\n.p-menubar-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("menubar.item.padding"), ";\n gap: ").concat(dt("menubar.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-menubar-item-label {\n line-height: 1;\n}\n\n.p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.color"), ";\n}\n\n.p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.color"), ";\n margin-left: auto;\n font-size: ").concat(dt("menubar.submenu.icon.size"), ";\n width: ").concat(dt("menubar.submenu.icon.size"), ";\n height: ").concat(dt("menubar.submenu.icon.size"), ";\n}\n\n.p-menubar-submenu .p-menubar-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content {\n color: ").concat(dt("menubar.item.focus.color"), ";\n background: ").concat(dt("menubar.item.focus.background"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.focus.color"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.focus.color"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover {\n color: ").concat(dt("menubar.item.focus.color"), ";\n background: ").concat(dt("menubar.item.focus.background"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.focus.color"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.focus.color"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content {\n color: ").concat(dt("menubar.item.active.color"), ";\n background: ").concat(dt("menubar.item.active.background"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.active.color"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.active.color"), ";\n}\n\n.p-menubar-submenu {\n display: none;\n position: absolute;\n min-width: 12.5rem;\n z-index: 1;\n background: ").concat(dt("menubar.submenu.background"), ";\n border: 1px solid ").concat(dt("menubar.submenu.border.color"), ";\n border-radius: ").concat(dt("menubar.submenu.border.radius"), ";\n box-shadow: ").concat(dt("menubar.submenu.shadow"), ";\n color: ").concat(dt("menubar.submenu.color"), ";\n flex-direction: column;\n padding: ").concat(dt("menubar.submenu.padding"), ";\n gap: ").concat(dt("menubar.submenu.gap"), ";\n}\n\n.p-menubar-submenu .p-menubar-separator {\n border-block-start: 1px solid ").concat(dt("menubar.separator.border.color"), ";\n}\n\n.p-menubar-submenu .p-menubar-item {\n position: relative;\n}\n\n.p-menubar-submenu > .p-menubar-item-active > .p-menubar-submenu {\n display: block;\n left: 100%;\n top: 0;\n}\n\n.p-menubar-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-menubar-end:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-menubar-button {\n display: none;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n width: ").concat(dt("menubar.mobile.button.size"), ";\n height: ").concat(dt("menubar.mobile.button.size"), ";\n position: relative;\n color: ").concat(dt("menubar.mobile.button.color"), ";\n border: 0 none;\n background: transparent;\n border-radius: ").concat(dt("menubar.mobile.button.border.radius"), ";\n transition: background ").concat(dt("menubar.transition.duration"), ", color ").concat(dt("menubar.transition.duration"), ", outline-color ").concat(dt("menubar.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-menubar-button:hover {\n color: ").concat(dt("menubar.mobile.button.hover.color"), ";\n background: ").concat(dt("menubar.mobile.button.hover.background"), ";\n}\n\n.p-menubar-button:focus-visible {\n box-shadow: ").concat(dt("menubar.mobile.button.focus.ring.shadow"), ";\n outline: ").concat(dt("menubar.mobile.button.focus.ring.width"), " ").concat(dt("menubar.mobile.button.focus.ring.style"), " ").concat(dt("menubar.mobile.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("menubar.mobile.button.focus.ring.offset"), ";\n}\n\n.p-menubar-mobile {\n position: relative;\n}\n\n.p-menubar-mobile .p-menubar-button {\n display: flex;\n}\n\n.p-menubar-mobile .p-menubar-root-list {\n position: absolute;\n display: none;\n width: 100%;\n flex-direction: column;\n top: 100%;\n left: 0;\n z-index: 1;\n padding: ").concat(dt("menubar.submenu.padding"), ";\n background: ").concat(dt("menubar.submenu.background"), ";\n border: 1px solid ").concat(dt("menubar.submenu.border.color"), ";\n box-shadow: ").concat(dt("menubar.submenu.shadow"), ";\n border-radius: ").concat(dt("menubar.submenu.border.radius"), ";\n gap: ").concat(dt("menubar.submenu.gap"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list:dir(rtl) {\n left: auto;\n right: 0;\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content > .p-menubar-item-link {\n padding: ").concat(dt("menubar.item.padding"), ";\n}\n\n.p-menubar-mobile-active .p-menubar-root-list {\n display: flex;\n}\n\n.p-menubar-mobile .p-menubar-root-list .p-menubar-item {\n width: 100%;\n position: static;\n}\n\n.p-menubar-mobile .p-menubar-root-list .p-menubar-separator {\n border-block-start: 1px solid ").concat(dt("menubar.separator.border.color"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content .p-menubar-submenu-icon {\n margin-left: auto;\n transition: transform 0.2s;\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content .p-menubar-submenu-icon:dir(rtl),\n.p-menubar-mobile .p-menubar-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n transform: rotate(-180deg);\n}\n\n.p-menubar-mobile .p-menubar-submenu .p-menubar-submenu-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-menubar-mobile .p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n transform: rotate(-90deg);\n}\n\n.p-menubar-mobile .p-menubar-submenu {\n width: 100%;\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-inline-start: ").concat(dt("menubar.submenu.mobile.indent"), ";\n padding-inline-end: 0;\n}\n"); }, "theme"); var inlineStyles = { submenu: /* @__PURE__ */ __name(function submenu2(_ref2) { @@ -7705,7 +4551,7 @@ var MenubarStyle = BaseStyle.extend({ }); var script$2 = { name: "BaseMenubar", - "extends": script$e, + "extends": script$f, props: { model: { type: Array, @@ -7729,7 +4575,7 @@ var script$2 = { } }, style: MenubarStyle, - provide: /* @__PURE__ */ __name(function provide12() { + provide: /* @__PURE__ */ __name(function provide11() { return { $pcMenubar: this, $parentInstance: this @@ -7739,7 +4585,7 @@ var script$2 = { var script$1 = { name: "MenubarSub", hostName: "Menubar", - "extends": script$e, + "extends": script$f, emits: ["item-mouseenter", "item-click", "item-mousemove"], props: { items: { @@ -7855,8 +4701,7 @@ var script$1 = { return { action: mergeProps({ "class": this.cx("itemLink"), - tabindex: -1, - "aria-hidden": true + tabindex: -1 }, this.getPTOptions(processedItem, index, "itemLink")), icon: mergeProps({ "class": [this.cx("itemIcon"), this.getItemProp(processedItem, "icon")] @@ -7885,17 +4730,17 @@ var script$1 = { }, "getAriaSetSize") }, components: { - AngleRightIcon: script$z, - AngleDownIcon: script$C + AngleRightIcon: script$u, + AngleDownIcon: script$w }, directives: { ripple: Ripple } }; -var _hoisted_1$1$1 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-level", "aria-setsize", "aria-posinset", "data-p-active", "data-p-focused", "data-p-disabled"]; -var _hoisted_2$2 = ["onClick", "onMouseenter", "onMousemove"]; -var _hoisted_3$2 = ["href", "target"]; -var _hoisted_4$1 = ["id"]; +var _hoisted_1$1 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-level", "aria-setsize", "aria-posinset", "data-p-active", "data-p-focused", "data-p-disabled"]; +var _hoisted_2 = ["onClick", "onMouseenter", "onMousemove"]; +var _hoisted_3 = ["href", "target"]; +var _hoisted_4 = ["id"]; var _hoisted_5 = ["id"]; function render$1(_ctx, _cache, $props, $setup, $data, $options) { var _component_MenubarSub = resolveComponent("MenubarSub", true); @@ -7956,7 +4801,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) { id: $options.getItemLabelId(processedItem), "class": _ctx.cx("itemLabel"), ref_for: true - }, $options.getPTOptions(processedItem, index, "itemLabel")), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_4$1), $options.getItemProp(processedItem, "items") ? (openBlock(), createElementBlock(Fragment, { + }, $options.getPTOptions(processedItem, index, "itemLabel")), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_4), $options.getItemProp(processedItem, "items") ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), { key: 0, @@ -7967,14 +4812,14 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) { key: 1, "class": _ctx.cx("submenuIcon"), ref_for: true - }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_3$2)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { + }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_3)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { key: 1, item: processedItem.item, root: $props.root, hasSubmenu: $options.getItemProp(processedItem, "items"), label: $options.getItemLabel(processedItem), props: $options.getMenuItemProps(processedItem, index) - }, null, 8, ["item", "root", "hasSubmenu", "label", "props"]))], 16, _hoisted_2$2), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_MenubarSub, { + }, null, 8, ["item", "root", "hasSubmenu", "label", "props"]))], 16, _hoisted_2), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_MenubarSub, { key: 0, id: $options.getItemId(processedItem) + "_list", menuId: $props.menuId, @@ -8000,7 +4845,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) { onItemMousemove: _cache[2] || (_cache[2] = function($event) { return _ctx.$emit("item-mousemove", $event); }) - }, null, 8, ["id", "menuId", "style", "focusedItemId", "items", "mobileActive", "activeItemPath", "templates", "level", "aria-labelledby", "pt", "unstyled"])) : createCommentVNode("", true)], 16, _hoisted_1$1$1)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + }, null, 8, ["id", "menuId", "style", "focusedItemId", "items", "mobileActive", "activeItemPath", "templates", "level", "aria-labelledby", "pt", "unstyled"])) : createCommentVNode("", true)], 16, _hoisted_1$1)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ key: 1, id: $options.getItemId(processedItem), "class": [_ctx.cx("separator"), $options.getItemProp(processedItem, "class")], @@ -8193,7 +5038,7 @@ var script = { break; } }, "onKeyDown"), - onItemChange: /* @__PURE__ */ __name(function onItemChange2(event) { + onItemChange: /* @__PURE__ */ __name(function onItemChange2(event, type) { var processedItem = event.processedItem, isFocus = event.isFocus; if (isEmpty(processedItem)) return; var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey, items = processedItem.items; @@ -8207,9 +5052,12 @@ var script = { level, parentKey }; - this.activeItemPath = activeItemPath3; grouped && (this.dirty = true); isFocus && focus(this.menubar); + if (type === "hover" && this.queryMatches) { + return; + } + this.activeItemPath = activeItemPath3; }, "onItemChange"), onItemClick: /* @__PURE__ */ __name(function onItemClick4(event) { var originalEvent = event.originalEvent, processedItem = event.processedItem; @@ -8244,7 +5092,7 @@ var script = { }, "onItemClick"), onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter4(event) { if (this.dirty) { - this.onItemChange(event); + this.onItemChange(event, "hover"); } }, "onItemMouseEnter"), onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove4(event) { @@ -8446,7 +5294,7 @@ var script = { this.resizeListener = null; } }, "unbindResizeListener"), - bindMatchMediaListener: /* @__PURE__ */ __name(function bindMatchMediaListener() { + bindMatchMediaListener: /* @__PURE__ */ __name(function bindMatchMediaListener2() { var _this7 = this; if (!this.matchMediaListener) { var query = matchMedia("(max-width: ".concat(this.breakpoint, ")")); @@ -8459,7 +5307,7 @@ var script = { this.query.addEventListener("change", this.matchMediaListener); } }, "bindMatchMediaListener"), - unbindMatchMediaListener: /* @__PURE__ */ __name(function unbindMatchMediaListener() { + unbindMatchMediaListener: /* @__PURE__ */ __name(function unbindMatchMediaListener2() { if (this.matchMediaListener) { this.query.removeEventListener("change", this.matchMediaListener); this.matchMediaListener = null; @@ -8617,7 +5465,7 @@ var script = { }, components: { MenubarSub: script$1, - BarsIcon: script$D + BarsIcon: script$x } }; function _typeof(o) { @@ -8672,7 +5520,7 @@ function _toPrimitive(t, r) { return ("string" === r ? String : Number)(t); } __name(_toPrimitive, "_toPrimitive"); -var _hoisted_1$2 = ["aria-haspopup", "aria-expanded", "aria-controls", "aria-label"]; +var _hoisted_1 = ["aria-haspopup", "aria-expanded", "aria-controls", "aria-label"]; function render(_ctx, _cache, $props, $setup, $data, $options) { var _component_BarsIcon = resolveComponent("BarsIcon"); var _component_MenubarSub = resolveComponent("MenubarSub"); @@ -8708,7 +5556,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { }) }, _objectSpread(_objectSpread({}, _ctx.buttonProps), _ctx.ptm("button"))), [renderSlot(_ctx.$slots, _ctx.$slots.buttonicon ? "buttonicon" : "menubuttonicon", {}, function() { return [createVNode(_component_BarsIcon, normalizeProps(guardReactiveProps(_ctx.ptm("buttonicon"))), null, 16)]; - })], 16, _hoisted_1$2)) : createCommentVNode("", true)]; + })], 16, _hoisted_1)) : createCommentVNode("", true)]; }), createVNode(_component_MenubarSub, { ref: $options.menubarRef, id: $data.id + "_list", @@ -8740,1324 +5588,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { } __name(render, "render"); script.render = render; -const _withScopeId$1 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-56df69d2"), n = n(), popScopeId(), n), "_withScopeId$1"); -const _hoisted_1$1 = ["href"]; -const _hoisted_2$1 = { class: "p-menubar-item-label" }; -const _hoisted_3$1 = { - key: 1, - class: "ml-auto border border-surface rounded text-muted text-xs text-nowrap p-1 keybinding-tag" -}; -const _sfc_main$2 = /* @__PURE__ */ defineComponent({ - __name: "CommandMenubar", - setup(__props) { - const settingStore = useSettingStore(); - const dropdownDirection = computed( - () => settingStore.get("Comfy.UseNewMenu") === "Top" ? "down" : "up" - ); - const menuItemsStore = useMenuItemStore(); - const { t } = useI18n(); - const translateMenuItem = /* @__PURE__ */ __name((item3) => { - const label = typeof item3.label === "function" ? item3.label() : item3.label; - const translatedLabel = label ? t(`menuLabels.${normalizeI18nKey(label)}`, label) : void 0; - return { - ...item3, - label: translatedLabel, - items: item3.items?.map(translateMenuItem) - }; - }, "translateMenuItem"); - const translatedItems = computed( - () => menuItemsStore.menuItems.map(translateMenuItem) - ); - return (_ctx, _cache) => { - return openBlock(), createBlock(unref(script), { - model: translatedItems.value, - class: "top-menubar border-none p-0 bg-transparent", - pt: { - rootList: "gap-0 flex-nowrap w-auto", - submenu: `dropdown-direction-${dropdownDirection.value}`, - item: "relative" - } - }, { - item: withCtx(({ item: item3, props }) => [ - createBaseVNode("a", mergeProps({ class: "p-menubar-item-link" }, props.action, { - href: item3.url, - target: "_blank" - }), [ - item3.icon ? (openBlock(), createElementBlock("span", { - key: 0, - class: normalizeClass(["p-menubar-item-icon", item3.icon]) - }, null, 2)) : createCommentVNode("", true), - createBaseVNode("span", _hoisted_2$1, toDisplayString(item3.label), 1), - item3?.comfyCommand?.keybinding ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(item3.comfyCommand.keybinding.combo.toString()), 1)) : createCommentVNode("", true) - ], 16, _hoisted_1$1) - ]), - _: 1 - }, 8, ["model", "pt"]); - }; - } -}); -const CommandMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-56df69d2"]]); -const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-6e35440f"), n = n(), popScopeId(), n), "_withScopeId"); -const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("h1", { class: "comfyui-logo mx-2 app-drag" }, "ComfyUI", -1)); -const _hoisted_2 = { class: "flex-grow min-w-0 app-drag h-full" }; -const _hoisted_3 = { class: "window-actions-spacer flex-shrink-0" }; -const _hoisted_4 = { class: "fixed top-0 left-0 app-drag w-full h-[var(--comfy-topbar-height)]" }; -const _sfc_main$1 = /* @__PURE__ */ defineComponent({ - __name: "TopMenubar", - setup(__props) { - const workspaceState = useWorkspaceStore(); - const settingStore = useSettingStore(); - const workflowTabsPosition = computed( - () => settingStore.get("Comfy.Workflow.WorkflowTabsPosition") - ); - const menuSetting = computed(() => settingStore.get("Comfy.UseNewMenu")); - const betaMenuEnabled = computed(() => menuSetting.value !== "Disabled"); - const teleportTarget = computed( - () => settingStore.get("Comfy.UseNewMenu") === "Top" ? ".comfyui-body-top" : ".comfyui-body-bottom" - ); - const isNativeWindow = computed( - () => isElectron() && settingStore.get("Comfy-Desktop.WindowStyle") === "custom" - ); - const showTopMenu = computed( - () => betaMenuEnabled.value && !workspaceState.focusMode - ); - const menuRight = ref(null); - onMounted(() => { - if (menuRight.value) { - menuRight.value.appendChild(app.menu.element); - } - }); - const topMenuRef = ref(null); - provide("topMenuRef", topMenuRef); - const eventBus = useEventBus("topMenu"); - const isDropZone = ref(false); - const isDroppable = ref(false); - eventBus.on((event, payload) => { - if (event === "updateHighlight") { - isDropZone.value = payload.isDragging; - isDroppable.value = payload.isOverlapping && payload.isDragging; - } - }); - onMounted(() => { - if (isElectron()) { - electronAPI().changeTheme({ - height: topMenuRef.value.getBoundingClientRect().height - }); - } - }); - return (_ctx, _cache) => { - const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createElementBlock(Fragment, null, [ - (openBlock(), createBlock(Teleport, { to: teleportTarget.value }, [ - withDirectives(createBaseVNode("div", { - ref_key: "topMenuRef", - ref: topMenuRef, - class: normalizeClass(["comfyui-menu flex items-center", { dropzone: isDropZone.value, "dropzone-active": isDroppable.value }]) - }, [ - _hoisted_1, - createVNode(CommandMenubar), - createBaseVNode("div", _hoisted_2, [ - workflowTabsPosition.value === "Topbar" ? (openBlock(), createBlock(WorkflowTabs, { key: 0 })) : createCommentVNode("", true) - ]), - createBaseVNode("div", { - class: "comfyui-menu-right", - ref_key: "menuRight", - ref: menuRight - }, null, 512), - createVNode(Actionbar), - createVNode(_sfc_main$3, { class: "flex-shrink-0" }), - withDirectives(createVNode(unref(script$d), { - class: "flex-shrink-0", - icon: "pi pi-bars", - severity: "secondary", - text: "", - "aria-label": _ctx.$t("menu.hideMenu"), - onClick: _cache[0] || (_cache[0] = ($event) => unref(workspaceState).focusMode = true), - onContextmenu: unref(showNativeMenu) - }, null, 8, ["aria-label", "onContextmenu"]), [ - [_directive_tooltip, { value: _ctx.$t("menu.hideMenu"), showDelay: 300 }] - ]), - withDirectives(createBaseVNode("div", _hoisted_3, null, 512), [ - [vShow, menuSetting.value !== "Bottom"] - ]) - ], 2), [ - [vShow, showTopMenu.value] - ]) - ], 8, ["to"])), - withDirectives(createBaseVNode("div", _hoisted_4, null, 512), [ - [vShow, isNativeWindow.value && !showTopMenu.value] - ]) - ], 64); - }; - } -}); -const TopMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-6e35440f"]]); -var LatentPreviewMethod = /* @__PURE__ */ ((LatentPreviewMethod2) => { - LatentPreviewMethod2["NoPreviews"] = "none"; - LatentPreviewMethod2["Auto"] = "auto"; - LatentPreviewMethod2["Latent2RGB"] = "latent2rgb"; - LatentPreviewMethod2["TAESD"] = "taesd"; - return LatentPreviewMethod2; -})(LatentPreviewMethod || {}); -var LogLevel = /* @__PURE__ */ ((LogLevel2) => { - LogLevel2["DEBUG"] = "DEBUG"; - LogLevel2["INFO"] = "INFO"; - LogLevel2["WARNING"] = "WARNING"; - LogLevel2["ERROR"] = "ERROR"; - LogLevel2["CRITICAL"] = "CRITICAL"; - return LogLevel2; -})(LogLevel || {}); -var HashFunction = /* @__PURE__ */ ((HashFunction2) => { - HashFunction2["MD5"] = "md5"; - HashFunction2["SHA1"] = "sha1"; - HashFunction2["SHA256"] = "sha256"; - HashFunction2["SHA512"] = "sha512"; - return HashFunction2; -})(HashFunction || {}); -var AutoLaunch = /* @__PURE__ */ ((AutoLaunch2) => { - AutoLaunch2["Auto"] = "auto"; - AutoLaunch2["Disable"] = "disable"; - AutoLaunch2["Enable"] = "enable"; - return AutoLaunch2; -})(AutoLaunch || {}); -var CudaMalloc = /* @__PURE__ */ ((CudaMalloc2) => { - CudaMalloc2["Auto"] = "auto"; - CudaMalloc2["Disable"] = "disable"; - CudaMalloc2["Enable"] = "enable"; - return CudaMalloc2; -})(CudaMalloc || {}); -var FloatingPointPrecision = /* @__PURE__ */ ((FloatingPointPrecision2) => { - FloatingPointPrecision2["AUTO"] = "auto"; - FloatingPointPrecision2["FP64"] = "fp64"; - FloatingPointPrecision2["FP32"] = "fp32"; - FloatingPointPrecision2["FP16"] = "fp16"; - FloatingPointPrecision2["BF16"] = "bf16"; - FloatingPointPrecision2["FP8E4M3FN"] = "fp8_e4m3fn"; - FloatingPointPrecision2["FP8E5M2"] = "fp8_e5m2"; - return FloatingPointPrecision2; -})(FloatingPointPrecision || {}); -var CrossAttentionMethod = /* @__PURE__ */ ((CrossAttentionMethod2) => { - CrossAttentionMethod2["Auto"] = "auto"; - CrossAttentionMethod2["Split"] = "split"; - CrossAttentionMethod2["Quad"] = "quad"; - CrossAttentionMethod2["Pytorch"] = "pytorch"; - return CrossAttentionMethod2; -})(CrossAttentionMethod || {}); -var VramManagement = /* @__PURE__ */ ((VramManagement2) => { - VramManagement2["Auto"] = "auto"; - VramManagement2["GPUOnly"] = "gpu-only"; - VramManagement2["HighVram"] = "highvram"; - VramManagement2["NormalVram"] = "normalvram"; - VramManagement2["LowVram"] = "lowvram"; - VramManagement2["NoVram"] = "novram"; - VramManagement2["CPU"] = "cpu"; - return VramManagement2; -})(VramManagement || {}); -const WEB_ONLY_CONFIG_ITEMS = [ - // Launch behavior - { - id: "auto-launch", - name: "Automatically opens in the browser on startup", - category: ["Launch"], - type: "combo", - options: Object.values(AutoLaunch), - defaultValue: AutoLaunch.Auto, - getValue: /* @__PURE__ */ __name((value) => { - switch (value) { - case AutoLaunch.Auto: - return {}; - case AutoLaunch.Enable: - return { - ["auto-launch"]: true - }; - case AutoLaunch.Disable: - return { - ["disable-auto-launch"]: true - }; - } - }, "getValue") - } -]; -const SERVER_CONFIG_ITEMS = [ - // Network settings - { - id: "listen", - name: "Host: The IP address to listen on", - category: ["Network"], - type: "text", - defaultValue: "127.0.0.1" - }, - { - id: "port", - name: "Port: The port to listen on", - category: ["Network"], - type: "number", - // The default launch port for desktop app is 8000 instead of 8188. - defaultValue: 8e3 - }, - { - id: "tls-keyfile", - name: "TLS Key File: Path to TLS key file for HTTPS", - category: ["Network"], - type: "text", - defaultValue: "" - }, - { - id: "tls-certfile", - name: "TLS Certificate File: Path to TLS certificate file for HTTPS", - category: ["Network"], - type: "text", - defaultValue: "" - }, - { - id: "enable-cors-header", - name: 'Enable CORS header: Use "*" for all origins or specify domain', - category: ["Network"], - type: "text", - defaultValue: "" - }, - { - id: "max-upload-size", - name: "Maximum upload size (MB)", - category: ["Network"], - type: "number", - defaultValue: 100 - }, - // CUDA settings - { - id: "cuda-device", - name: "CUDA device index to use", - category: ["CUDA"], - type: "number", - defaultValue: null - }, - { - id: "cuda-malloc", - name: "Use CUDA malloc for memory allocation", - category: ["CUDA"], - type: "combo", - options: Object.values(CudaMalloc), - defaultValue: CudaMalloc.Auto, - getValue: /* @__PURE__ */ __name((value) => { - switch (value) { - case CudaMalloc.Auto: - return {}; - case CudaMalloc.Enable: - return { - ["cuda-malloc"]: true - }; - case CudaMalloc.Disable: - return { - ["disable-cuda-malloc"]: true - }; - } - }, "getValue") - }, - // Precision settings - { - id: "global-precision", - name: "Global floating point precision", - category: ["Inference"], - type: "combo", - options: [ - FloatingPointPrecision.AUTO, - FloatingPointPrecision.FP32, - FloatingPointPrecision.FP16 - ], - defaultValue: FloatingPointPrecision.AUTO, - tooltip: "Global floating point precision", - getValue: /* @__PURE__ */ __name((value) => { - switch (value) { - case FloatingPointPrecision.AUTO: - return {}; - case FloatingPointPrecision.FP32: - return { - ["force-fp32"]: true - }; - case FloatingPointPrecision.FP16: - return { - ["force-fp16"]: true - }; - default: - return {}; - } - }, "getValue") - }, - // UNET precision - { - id: "unet-precision", - name: "UNET precision", - category: ["Inference"], - type: "combo", - options: [ - FloatingPointPrecision.AUTO, - FloatingPointPrecision.FP64, - FloatingPointPrecision.FP32, - FloatingPointPrecision.FP16, - FloatingPointPrecision.BF16, - FloatingPointPrecision.FP8E4M3FN, - FloatingPointPrecision.FP8E5M2 - ], - defaultValue: FloatingPointPrecision.AUTO, - tooltip: "UNET precision", - getValue: /* @__PURE__ */ __name((value) => { - switch (value) { - case FloatingPointPrecision.AUTO: - return {}; - default: - return { - [`${value.toLowerCase()}-unet`]: true - }; - } - }, "getValue") - }, - // VAE settings - { - id: "vae-precision", - name: "VAE precision", - category: ["Inference"], - type: "combo", - options: [ - FloatingPointPrecision.AUTO, - FloatingPointPrecision.FP16, - FloatingPointPrecision.FP32, - FloatingPointPrecision.BF16 - ], - defaultValue: FloatingPointPrecision.AUTO, - tooltip: "VAE precision", - getValue: /* @__PURE__ */ __name((value) => { - switch (value) { - case FloatingPointPrecision.AUTO: - return {}; - default: - return { - [`${value.toLowerCase()}-vae`]: true - }; - } - }, "getValue") - }, - { - id: "cpu-vae", - name: "Run VAE on CPU", - category: ["Inference"], - type: "boolean", - defaultValue: false - }, - // Text Encoder settings - { - id: "text-encoder-precision", - name: "Text Encoder precision", - category: ["Inference"], - type: "combo", - options: [ - FloatingPointPrecision.AUTO, - FloatingPointPrecision.FP8E4M3FN, - FloatingPointPrecision.FP8E5M2, - FloatingPointPrecision.FP16, - FloatingPointPrecision.FP32 - ], - defaultValue: FloatingPointPrecision.AUTO, - tooltip: "Text Encoder precision", - getValue: /* @__PURE__ */ __name((value) => { - switch (value) { - case FloatingPointPrecision.AUTO: - return {}; - default: - return { - [`${value.toLowerCase()}-text-enc`]: true - }; - } - }, "getValue") - }, - // Memory and performance settings - { - id: "force-channels-last", - name: "Force channels-last memory format", - category: ["Memory"], - type: "boolean", - defaultValue: false - }, - { - id: "directml", - name: "DirectML device index", - category: ["Memory"], - type: "number", - defaultValue: null - }, - { - id: "disable-ipex-optimize", - name: "Disable IPEX optimization", - category: ["Memory"], - type: "boolean", - defaultValue: false - }, - // Preview settings - { - id: "preview-method", - name: "Method used for latent previews", - category: ["Preview"], - type: "combo", - options: Object.values(LatentPreviewMethod), - defaultValue: LatentPreviewMethod.NoPreviews - }, - { - id: "preview-size", - name: "Size of preview images", - category: ["Preview"], - type: "slider", - defaultValue: 512, - attrs: { - min: 128, - max: 2048, - step: 128 - } - }, - // Cache settings - { - id: "cache-classic", - name: "Use classic cache system", - category: ["Cache"], - type: "boolean", - defaultValue: false - }, - { - id: "cache-lru", - name: "Use LRU caching with a maximum of N node results cached.", - category: ["Cache"], - type: "number", - defaultValue: null, - tooltip: "May use more RAM/VRAM." - }, - // Attention settings - { - id: "cross-attention-method", - name: "Cross attention method", - category: ["Attention"], - type: "combo", - options: Object.values(CrossAttentionMethod), - defaultValue: CrossAttentionMethod.Auto, - getValue: /* @__PURE__ */ __name((value) => { - switch (value) { - case CrossAttentionMethod.Auto: - return {}; - default: - return { - [`use-${value.toLowerCase()}-cross-attention`]: true - }; - } - }, "getValue") - }, - { - id: "disable-xformers", - name: "Disable xFormers optimization", - type: "boolean", - defaultValue: false - }, - { - id: "force-upcast-attention", - name: "Force attention upcast", - category: ["Attention"], - type: "boolean", - defaultValue: false - }, - { - id: "dont-upcast-attention", - name: "Prevent attention upcast", - category: ["Attention"], - type: "boolean", - defaultValue: false - }, - // VRAM management - { - id: "vram-management", - name: "VRAM management mode", - category: ["Memory"], - type: "combo", - options: Object.values(VramManagement), - defaultValue: VramManagement.Auto, - getValue: /* @__PURE__ */ __name((value) => { - switch (value) { - case VramManagement.Auto: - return {}; - default: - return { - [value]: true - }; - } - }, "getValue") - }, - { - id: "reserve-vram", - name: "Reserved VRAM (GB)", - category: ["Memory"], - type: "number", - defaultValue: null, - tooltip: "Set the amount of vram in GB you want to reserve for use by your OS/other software. By default some amount is reverved depending on your OS." - }, - // Misc settings - { - id: "default-hashing-function", - name: "Default hashing function for model files", - type: "combo", - options: Object.values(HashFunction), - defaultValue: HashFunction.SHA256 - }, - { - id: "disable-smart-memory", - name: "Disable smart memory management", - tooltip: "Force ComfyUI to aggressively offload to regular ram instead of keeping models in vram when it can.", - category: ["Memory"], - type: "boolean", - defaultValue: false - }, - { - id: "deterministic", - name: "Make pytorch use slower deterministic algorithms when it can.", - type: "boolean", - defaultValue: false, - tooltip: "Note that this might not make images deterministic in all cases." - }, - { - id: "fast", - name: "Enable some untested and potentially quality deteriorating optimizations.", - type: "boolean", - defaultValue: false - }, - { - id: "dont-print-server", - name: "Don't print server output to console.", - type: "boolean", - defaultValue: false - }, - { - id: "disable-metadata", - name: "Disable saving prompt metadata in files.", - type: "boolean", - defaultValue: false - }, - { - id: "disable-all-custom-nodes", - name: "Disable loading all custom nodes.", - type: "boolean", - defaultValue: false - }, - { - id: "log-level", - name: "Logging verbosity level", - type: "combo", - options: Object.values(LogLevel), - defaultValue: LogLevel.INFO, - getValue: /* @__PURE__ */ __name((value) => { - return { - verbose: value - }; - }, "getValue") - }, - // Directories - { - id: "input-directory", - name: "Input directory", - category: ["Directories"], - type: "text", - defaultValue: "" - }, - { - id: "output-directory", - name: "Output directory", - category: ["Directories"], - type: "text", - defaultValue: "" - } -]; -function useCoreCommands() { - const workflowService = useWorkflowService(); - const workflowStore = useWorkflowStore(); - const dialogService = useDialogService(); - const colorPaletteStore = useColorPaletteStore(); - const getTracker = /* @__PURE__ */ __name(() => workflowStore.activeWorkflow?.changeTracker, "getTracker"); - const getSelectedNodes = /* @__PURE__ */ __name(() => { - const selectedNodes = app.canvas.selected_nodes; - const result = []; - if (selectedNodes) { - for (const i in selectedNodes) { - const node = selectedNodes[i]; - result.push(node); - } - } - return result; - }, "getSelectedNodes"); - const toggleSelectedNodesMode = /* @__PURE__ */ __name((mode) => { - getSelectedNodes().forEach((node) => { - if (node.mode === mode) { - node.mode = LGraphEventMode.ALWAYS; - } else { - node.mode = mode; - } - }); - }, "toggleSelectedNodesMode"); - return [ - { - id: "Comfy.NewBlankWorkflow", - icon: "pi pi-plus", - label: "New Blank Workflow", - menubarLabel: "New", - function: /* @__PURE__ */ __name(() => workflowService.loadBlankWorkflow(), "function") - }, - { - id: "Comfy.OpenWorkflow", - icon: "pi pi-folder-open", - label: "Open Workflow", - menubarLabel: "Open", - function: /* @__PURE__ */ __name(() => { - app.ui.loadFile(); - }, "function") - }, - { - id: "Comfy.LoadDefaultWorkflow", - icon: "pi pi-code", - label: "Load Default Workflow", - function: /* @__PURE__ */ __name(() => workflowService.loadDefaultWorkflow(), "function") - }, - { - id: "Comfy.SaveWorkflow", - icon: "pi pi-save", - label: "Save Workflow", - menubarLabel: "Save", - function: /* @__PURE__ */ __name(async () => { - const workflow = useWorkflowStore().activeWorkflow; - if (!workflow) return; - await workflowService.saveWorkflow(workflow); - }, "function") - }, - { - id: "Comfy.SaveWorkflowAs", - icon: "pi pi-save", - label: "Save Workflow As", - menubarLabel: "Save As", - function: /* @__PURE__ */ __name(async () => { - const workflow = useWorkflowStore().activeWorkflow; - if (!workflow) return; - await workflowService.saveWorkflowAs(workflow); - }, "function") - }, - { - id: "Comfy.ExportWorkflow", - icon: "pi pi-download", - label: "Export Workflow", - menubarLabel: "Export", - function: /* @__PURE__ */ __name(() => { - workflowService.exportWorkflow("workflow", "workflow"); - }, "function") - }, - { - id: "Comfy.ExportWorkflowAPI", - icon: "pi pi-download", - label: "Export Workflow (API Format)", - menubarLabel: "Export (API)", - function: /* @__PURE__ */ __name(() => { - workflowService.exportWorkflow("workflow_api", "output"); - }, "function") - }, - { - id: "Comfy.Undo", - icon: "pi pi-undo", - label: "Undo", - function: /* @__PURE__ */ __name(async () => { - await getTracker()?.undo?.(); - }, "function") - }, - { - id: "Comfy.Redo", - icon: "pi pi-refresh", - label: "Redo", - function: /* @__PURE__ */ __name(async () => { - await getTracker()?.redo?.(); - }, "function") - }, - { - id: "Comfy.ClearWorkflow", - icon: "pi pi-trash", - label: "Clear Workflow", - function: /* @__PURE__ */ __name(() => { - const settingStore = useSettingStore(); - if (!settingStore.get("Comfy.ComfirmClear") || confirm("Clear workflow?")) { - app.clean(); - app.graph.clear(); - api.dispatchCustomEvent("graphCleared"); - } - }, "function") - }, - { - id: "Comfy.Canvas.ResetView", - icon: "pi pi-expand", - label: "Reset View", - function: /* @__PURE__ */ __name(() => { - app.resetView(); - }, "function") - }, - { - id: "Comfy.OpenClipspace", - icon: "pi pi-clipboard", - label: "Clipspace", - function: /* @__PURE__ */ __name(() => { - app.openClipspace(); - }, "function") - }, - { - id: "Comfy.RefreshNodeDefinitions", - icon: "pi pi-refresh", - label: "Refresh Node Definitions", - function: /* @__PURE__ */ __name(async () => { - await app.refreshComboInNodes(); - }, "function") - }, - { - id: "Comfy.Interrupt", - icon: "pi pi-stop", - label: "Interrupt", - function: /* @__PURE__ */ __name(async () => { - await api.interrupt(); - useToastStore().add({ - severity: "info", - summary: "Interrupted", - detail: "Execution has been interrupted", - life: 1e3 - }); - }, "function") - }, - { - id: "Comfy.ClearPendingTasks", - icon: "pi pi-stop", - label: "Clear Pending Tasks", - function: /* @__PURE__ */ __name(async () => { - await useQueueStore().clear(["queue"]); - useToastStore().add({ - severity: "info", - summary: "Confirmed", - detail: "Pending tasks deleted", - life: 3e3 - }); - }, "function") - }, - { - id: "Comfy.BrowseTemplates", - icon: "pi pi-folder-open", - label: "Browse Templates", - function: /* @__PURE__ */ __name(() => { - dialogService.showTemplateWorkflowsDialog(); - }, "function") - }, - { - id: "Comfy.Canvas.ZoomIn", - icon: "pi pi-plus", - label: "Zoom In", - function: /* @__PURE__ */ __name(() => { - const ds = app.canvas.ds; - ds.changeScale( - ds.scale * 1.1, - ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 - ); - app.canvas.setDirty(true, true); - }, "function") - }, - { - id: "Comfy.Canvas.ZoomOut", - icon: "pi pi-minus", - label: "Zoom Out", - function: /* @__PURE__ */ __name(() => { - const ds = app.canvas.ds; - ds.changeScale( - ds.scale / 1.1, - ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 - ); - app.canvas.setDirty(true, true); - }, "function") - }, - { - id: "Comfy.Canvas.FitView", - icon: "pi pi-expand", - label: "Fit view to selected nodes", - function: /* @__PURE__ */ __name(() => { - if (app.canvas.empty) { - useToastStore().add({ - severity: "error", - summary: "Empty canvas", - life: 3e3 - }); - return; - } - app.canvas.fitViewToSelectionAnimated(); - }, "function") - }, - { - id: "Comfy.Canvas.ToggleLock", - icon: "pi pi-lock", - label: "Canvas Toggle Lock", - function: /* @__PURE__ */ __name(() => { - app.canvas["read_only"] = !app.canvas["read_only"]; - }, "function") - }, - { - id: "Comfy.Canvas.ToggleLinkVisibility", - icon: "pi pi-eye", - label: "Canvas Toggle Link Visibility", - versionAdded: "1.3.6", - function: (() => { - const settingStore = useSettingStore(); - let lastLinksRenderMode = LiteGraph.SPLINE_LINK; - return () => { - const currentMode = settingStore.get("Comfy.LinkRenderMode"); - if (currentMode === LiteGraph.HIDDEN_LINK) { - settingStore.set("Comfy.LinkRenderMode", lastLinksRenderMode); - } else { - lastLinksRenderMode = currentMode; - settingStore.set("Comfy.LinkRenderMode", LiteGraph.HIDDEN_LINK); - } - }; - })() - }, - { - id: "Comfy.QueuePrompt", - icon: "pi pi-play", - label: "Queue Prompt", - versionAdded: "1.3.7", - function: /* @__PURE__ */ __name(() => { - const batchCount = useQueueSettingsStore().batchCount; - app.queuePrompt(0, batchCount); - }, "function") - }, - { - id: "Comfy.QueuePromptFront", - icon: "pi pi-play", - label: "Queue Prompt (Front)", - versionAdded: "1.3.7", - function: /* @__PURE__ */ __name(() => { - const batchCount = useQueueSettingsStore().batchCount; - app.queuePrompt(-1, batchCount); - }, "function") - }, - { - id: "Comfy.ShowSettingsDialog", - icon: "pi pi-cog", - label: "Show Settings Dialog", - versionAdded: "1.3.7", - function: /* @__PURE__ */ __name(() => { - dialogService.showSettingsDialog(); - }, "function") - }, - { - id: "Comfy.Graph.GroupSelectedNodes", - icon: "pi pi-sitemap", - label: "Group Selected Nodes", - versionAdded: "1.3.7", - function: /* @__PURE__ */ __name(() => { - const { canvas } = app; - if (!canvas.selectedItems?.size) { - useToastStore().add({ - severity: "error", - summary: "Nothing to group", - detail: "Please select the nodes (or other groups) to create a group for", - life: 3e3 - }); - return; - } - const group = new LGraphGroup(); - const padding = useSettingStore().get( - "Comfy.GroupSelectedNodes.Padding" - ); - group.resizeTo(canvas.selectedItems, padding); - canvas.graph.add(group); - useTitleEditorStore().titleEditorTarget = group; - }, "function") - }, - { - id: "Workspace.NextOpenedWorkflow", - icon: "pi pi-step-forward", - label: "Next Opened Workflow", - versionAdded: "1.3.9", - function: /* @__PURE__ */ __name(() => { - workflowService.loadNextOpenedWorkflow(); - }, "function") - }, - { - id: "Workspace.PreviousOpenedWorkflow", - icon: "pi pi-step-backward", - label: "Previous Opened Workflow", - versionAdded: "1.3.9", - function: /* @__PURE__ */ __name(() => { - workflowService.loadPreviousOpenedWorkflow(); - }, "function") - }, - { - id: "Comfy.Canvas.ToggleSelectedNodes.Mute", - icon: "pi pi-volume-off", - label: "Mute/Unmute Selected Nodes", - versionAdded: "1.3.11", - function: /* @__PURE__ */ __name(() => { - toggleSelectedNodesMode(LGraphEventMode.NEVER); - }, "function") - }, - { - id: "Comfy.Canvas.ToggleSelectedNodes.Bypass", - icon: "pi pi-shield", - label: "Bypass/Unbypass Selected Nodes", - versionAdded: "1.3.11", - function: /* @__PURE__ */ __name(() => { - toggleSelectedNodesMode(LGraphEventMode.BYPASS); - }, "function") - }, - { - id: "Comfy.Canvas.ToggleSelectedNodes.Pin", - icon: "pi pi-pin", - label: "Pin/Unpin Selected Nodes", - versionAdded: "1.3.11", - function: /* @__PURE__ */ __name(() => { - getSelectedNodes().forEach((node) => { - node.pin(!node.pinned); - }); - }, "function") - }, - { - id: "Comfy.Canvas.ToggleSelected.Pin", - icon: "pi pi-pin", - label: "Pin/Unpin Selected Items", - versionAdded: "1.3.33", - function: /* @__PURE__ */ __name(() => { - for (const item3 of app.canvas.selectedItems) { - if (item3 instanceof LGraphNode || item3 instanceof LGraphGroup) { - item3.pin(!item3.pinned); - } - } - }, "function") - }, - { - id: "Comfy.Canvas.ToggleSelectedNodes.Collapse", - icon: "pi pi-minus", - label: "Collapse/Expand Selected Nodes", - versionAdded: "1.3.11", - function: /* @__PURE__ */ __name(() => { - getSelectedNodes().forEach((node) => { - node.collapse(); - }); - }, "function") - }, - { - id: "Comfy.ToggleTheme", - icon: "pi pi-moon", - label: "Toggle Theme (Dark/Light)", - versionAdded: "1.3.12", - function: (() => { - let previousDarkTheme = DEFAULT_DARK_COLOR_PALETTE.id; - let previousLightTheme = DEFAULT_LIGHT_COLOR_PALETTE.id; - return () => { - const settingStore = useSettingStore(); - const theme10 = colorPaletteStore.completedActivePalette; - if (theme10.light_theme) { - previousLightTheme = theme10.id; - settingStore.set("Comfy.ColorPalette", previousDarkTheme); - } else { - previousDarkTheme = theme10.id; - settingStore.set("Comfy.ColorPalette", previousLightTheme); - } - }; - })() - }, - { - id: "Workspace.ToggleBottomPanel", - icon: "pi pi-list", - label: "Toggle Bottom Panel", - versionAdded: "1.3.22", - function: /* @__PURE__ */ __name(() => { - useBottomPanelStore().toggleBottomPanel(); - }, "function") - }, - { - id: "Workspace.ToggleFocusMode", - icon: "pi pi-eye", - label: "Toggle Focus Mode", - versionAdded: "1.3.27", - function: /* @__PURE__ */ __name(() => { - useWorkspaceStore().toggleFocusMode(); - }, "function") - }, - { - id: "Comfy.Graph.FitGroupToContents", - icon: "pi pi-expand", - label: "Fit Group To Contents", - versionAdded: "1.4.9", - function: /* @__PURE__ */ __name(() => { - for (const group of app.canvas.selectedItems) { - if (group instanceof LGraphGroup) { - group.recomputeInsideNodes(); - const padding = useSettingStore().get( - "Comfy.GroupSelectedNodes.Padding" - ); - group.resizeTo(group.children, padding); - app.graph.change(); - } - } - }, "function") - }, - { - id: "Comfy.Help.OpenComfyUIIssues", - icon: "pi pi-github", - label: "Open ComfyUI Issues", - menubarLabel: "ComfyUI Issues", - versionAdded: "1.5.5", - function: /* @__PURE__ */ __name(() => { - window.open( - "https://github.com/comfyanonymous/ComfyUI/issues", - "_blank" - ); - }, "function") - }, - { - id: "Comfy.Help.OpenComfyUIDocs", - icon: "pi pi-info-circle", - label: "Open ComfyUI Docs", - menubarLabel: "ComfyUI Docs", - versionAdded: "1.5.5", - function: /* @__PURE__ */ __name(() => { - window.open("https://docs.comfy.org/", "_blank"); - }, "function") - }, - { - id: "Comfy.Help.OpenComfyOrgDiscord", - icon: "pi pi-discord", - label: "Open Comfy-Org Discord", - menubarLabel: "Comfy-Org Discord", - versionAdded: "1.5.5", - function: /* @__PURE__ */ __name(() => { - window.open("https://www.comfy.org/discord", "_blank"); - }, "function") - }, - { - id: "Workspace.SearchBox.Toggle", - icon: "pi pi-search", - label: "Toggle Search Box", - versionAdded: "1.5.7", - function: /* @__PURE__ */ __name(() => { - useSearchBoxStore().toggleVisible(); - }, "function") - }, - { - id: "Comfy.Help.AboutComfyUI", - icon: "pi pi-info-circle", - label: "Open About ComfyUI", - menubarLabel: "About ComfyUI", - versionAdded: "1.6.4", - function: /* @__PURE__ */ __name(() => { - dialogService.showSettingsDialog("about"); - }, "function") - }, - { - id: "Comfy.DuplicateWorkflow", - icon: "pi pi-clone", - label: "Duplicate Current Workflow", - versionAdded: "1.6.15", - function: /* @__PURE__ */ __name(() => { - workflowService.duplicateWorkflow(workflowStore.activeWorkflow); - }, "function") - }, - { - id: "Workspace.CloseWorkflow", - icon: "pi pi-times", - label: "Close Current Workflow", - versionAdded: "1.7.3", - function: /* @__PURE__ */ __name(() => { - if (workflowStore.activeWorkflow) - workflowService.closeWorkflow(workflowStore.activeWorkflow); - }, "function") - } - ]; -} -__name(useCoreCommands, "useCoreCommands"); -function setupAutoQueueHandler() { - const queueCountStore = useQueuePendingTaskCountStore(); - const queueSettingsStore = useQueueSettingsStore(); - let graphHasChanged = false; - let internalCount = 0; - api.addEventListener("graphChanged", () => { - if (queueSettingsStore.mode === "change") { - if (internalCount) { - graphHasChanged = true; - } else { - graphHasChanged = false; - app.queuePrompt(0, queueSettingsStore.batchCount); - internalCount++; - } - } - }); - queueCountStore.$subscribe( - () => { - internalCount = queueCountStore.count; - if (!internalCount && !app.lastExecutionError) { - if (queueSettingsStore.mode === "instant" || queueSettingsStore.mode === "change" && graphHasChanged) { - graphHasChanged = false; - app.queuePrompt(0, queueSettingsStore.batchCount); - } - } - }, - { detached: true } - ); -} -__name(setupAutoQueueHandler, "setupAutoQueueHandler"); -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "GraphView", - setup(__props) { - setupAutoQueueHandler(); - const { t } = useI18n(); - const toast = useToast(); - const settingStore = useSettingStore(); - const executionStore = useExecutionStore(); - const colorPaletteStore = useColorPaletteStore(); - const queueStore = useQueueStore(); - watch( - () => colorPaletteStore.completedActivePalette, - (newTheme) => { - const DARK_THEME_CLASS = "dark-theme"; - if (newTheme.light_theme) { - document.body.classList.remove(DARK_THEME_CLASS); - } else { - document.body.classList.add(DARK_THEME_CLASS); - } - if (isElectron()) { - electronAPI().changeTheme({ - color: "rgba(0, 0, 0, 0)", - symbolColor: newTheme.colors.comfy_base["input-text"] - }); - } - }, - { immediate: true } - ); - if (isElectron()) { - watch( - () => queueStore.tasks, - (newTasks, oldTasks) => { - const oldRunningTaskIds = new Set( - oldTasks.filter((task) => task.isRunning).map((task) => task.promptId) - ); - newTasks.filter( - (task) => oldRunningTaskIds.has(task.promptId) && task.isHistory - ).forEach((task) => { - electronAPI().Events.incrementUserProperty( - `execution:${task.displayStatus.toLowerCase()}`, - 1 - ); - }); - }, - { deep: true } - ); - } - watchEffect(() => { - const fontSize = settingStore.get("Comfy.TextareaWidget.FontSize"); - document.documentElement.style.setProperty( - "--comfy-textarea-font-size", - `${fontSize}px` - ); - }); - watchEffect(() => { - const padding = settingStore.get("Comfy.TreeExplorer.ItemPadding"); - document.documentElement.style.setProperty( - "--comfy-tree-explorer-item-padding", - `${padding}px` - ); - }); - watchEffect(() => { - const locale = settingStore.get("Comfy.Locale"); - if (locale) { - i18n.global.locale.value = locale; - } - }); - watchEffect(() => { - const useNewMenu = settingStore.get("Comfy.UseNewMenu"); - if (useNewMenu === "Disabled") { - app.ui.menuContainer.style.setProperty("display", "block"); - app.ui.restoreMenuPosition(); - } else { - app.ui.menuContainer.style.setProperty("display", "none"); - } - }); - watchEffect(() => { - queueStore.maxHistoryItems = settingStore.get("Comfy.Queue.MaxHistoryItems"); - }); - const init = /* @__PURE__ */ __name(() => { - const coreCommands = useCoreCommands(); - useCommandStore().registerCommands(coreCommands); - useMenuItemStore().registerCoreMenuCommands(); - useKeybindingService().registerCoreKeybindings(); - useSidebarTabStore().registerCoreSidebarTabs(); - useBottomPanelStore().registerCoreBottomPanelTabs(); - app.extensionManager = useWorkspaceStore(); - }, "init"); - const queuePendingTaskCountStore = useQueuePendingTaskCountStore(); - const onStatus = /* @__PURE__ */ __name(async (e) => { - queuePendingTaskCountStore.update(e); - await queueStore.update(); - }, "onStatus"); - const reconnectingMessage = { - severity: "error", - summary: t("g.reconnecting") - }; - const onReconnecting = /* @__PURE__ */ __name(() => { - toast.remove(reconnectingMessage); - toast.add(reconnectingMessage); - }, "onReconnecting"); - const onReconnected = /* @__PURE__ */ __name(() => { - toast.remove(reconnectingMessage); - toast.add({ - severity: "success", - summary: t("g.reconnected"), - life: 2e3 - }); - }, "onReconnected"); - onMounted(() => { - api.addEventListener("status", onStatus); - api.addEventListener("reconnecting", onReconnecting); - api.addEventListener("reconnected", onReconnected); - executionStore.bindExecutionEvents(); - try { - init(); - } catch (e) { - console.error("Failed to init ComfyUI frontend", e); - } - }); - onBeforeUnmount(() => { - api.removeEventListener("status", onStatus); - api.removeEventListener("reconnecting", onReconnecting); - api.removeEventListener("reconnected", onReconnected); - executionStore.unbindExecutionEvents(); - }); - useEventListener(window, "keydown", useKeybindingService().keybindHandler); - const { wrapWithErrorHandling, wrapWithErrorHandlingAsync } = useErrorHandling(); - const onGraphReady = /* @__PURE__ */ __name(() => { - requestIdleCallback( - () => { - wrapWithErrorHandling(useKeybindingService().registerUserKeybindings)(); - wrapWithErrorHandling(useServerConfigStore().loadServerConfig)( - SERVER_CONFIG_ITEMS, - settingStore.get("Comfy.Server.ServerConfigValues") - ); - wrapWithErrorHandlingAsync(useModelStore().loadModelFolders)(); - wrapWithErrorHandlingAsync(useNodeFrequencyStore().loadNodeFrequencies)(); - useNodeDefStore().nodeSearchService.endsWithFilterStartSequence(""); - }, - { timeout: 1e3 } - ); - }, "onGraphReady"); - return (_ctx, _cache) => { - return openBlock(), createElementBlock(Fragment, null, [ - createVNode(TopMenubar), - createVNode(_sfc_main$8, { onReady: onGraphReady }), - createVNode(_sfc_main$7), - createVNode(_sfc_main$s), - createVNode(_sfc_main$u), - createVNode(MenuHamburger) - ], 64); - }; - } -}); export { - _sfc_main as default + script$e as a, + script$b as b, + script$c as c, + script$a as d, + script$9 as e, + script$8 as f, + script$5 as g, + script$3 as h, + script as i, + script$6 as j, + script$7 as k, + script$d as s }; -//# sourceMappingURL=GraphView-CDDCHVO0.js.map +//# sourceMappingURL=index-BWow9lpT.js.map diff --git a/web/assets/index-Bm1HvJhs.js b/web/assets/index-Bm1HvJhs.js new file mode 100644 index 000000000..1c1a50760 --- /dev/null +++ b/web/assets/index-Bm1HvJhs.js @@ -0,0 +1,539 @@ +var __defProp = Object.defineProperty; +var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); +import { bA as BaseStyle, bB as script$6, o as openBlock, f as createElementBlock, as as mergeProps, cJ as findIndexInList, c5 as find, bK 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, bO as findSingle, F as Fragment, bL as Transition, i as withDirectives, v as vShow, bT as UniqueComponentId } from "./index-CmVtQCAR.js"; +var classes$4 = { + root: /* @__PURE__ */ __name(function root(_ref) { + var instance = _ref.instance; + return ["p-step", { + "p-step-active": instance.active, + "p-disabled": instance.isStepDisabled + }]; + }, "root"), + header: "p-step-header", + number: "p-step-number", + title: "p-step-title" +}; +var StepStyle = BaseStyle.extend({ + name: "step", + classes: classes$4 +}); +var script$2$2 = { + name: "StepperSeparator", + hostName: "Stepper", + "extends": script$6 +}; +function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("separator") + }, _ctx.ptm("separator")), null, 16); +} +__name(render$1$2, "render$1$2"); +script$2$2.render = render$1$2; +var script$1$4 = { + name: "BaseStep", + "extends": script$6, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + disabled: { + type: Boolean, + "default": false + }, + asChild: { + type: Boolean, + "default": false + }, + as: { + type: [String, Object], + "default": "DIV" + } + }, + style: StepStyle, + provide: /* @__PURE__ */ __name(function provide() { + return { + $pcStep: this, + $parentInstance: this + }; + }, "provide") +}; +var script$5 = { + name: "Step", + "extends": script$1$4, + inheritAttrs: false, + inject: { + $pcStepper: { + "default": null + }, + $pcStepList: { + "default": null + }, + $pcStepItem: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data() { + return { + isSeparatorVisible: false + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted() { + if (this.$el && this.$pcStepList) { + var index = findIndexInList(this.$el, find(this.$pcStepper.$el, '[data-pc-name="step"]')); + var stepLen = find(this.$pcStepper.$el, '[data-pc-name="step"]').length; + this.isSeparatorVisible = index !== stepLen - 1; + } + }, "mounted"), + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + active: this.active, + disabled: this.isStepDisabled + } + }); + }, "getPTOptions"), + onStepClick: /* @__PURE__ */ __name(function onStepClick() { + this.$pcStepper.updateValue(this.activeValue); + }, "onStepClick") + }, + computed: { + active: /* @__PURE__ */ __name(function active() { + return this.$pcStepper.isStepActive(this.activeValue); + }, "active"), + activeValue: /* @__PURE__ */ __name(function activeValue() { + var _this$$pcStepItem; + return !!this.$pcStepItem ? (_this$$pcStepItem = this.$pcStepItem) === null || _this$$pcStepItem === void 0 ? void 0 : _this$$pcStepItem.value : this.value; + }, "activeValue"), + isStepDisabled: /* @__PURE__ */ __name(function isStepDisabled() { + return !this.active && (this.$pcStepper.isStepDisabled() || this.disabled); + }, "isStepDisabled"), + id: /* @__PURE__ */ __name(function id() { + var _this$$pcStepper; + return "".concat((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.id, "_step_").concat(this.activeValue); + }, "id"), + ariaControls: /* @__PURE__ */ __name(function ariaControls() { + var _this$$pcStepper2; + return "".concat((_this$$pcStepper2 = this.$pcStepper) === null || _this$$pcStepper2 === void 0 ? void 0 : _this$$pcStepper2.id, "_steppanel_").concat(this.activeValue); + }, "ariaControls"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs() { + return { + root: { + role: "presentation", + "aria-current": this.active ? "step" : void 0, + "data-pc-name": "step", + "data-pc-section": "root", + "data-p-disabled": this.isStepDisabled, + "data-p-active": this.active + }, + header: { + id: this.id, + role: "tab", + taindex: this.disabled ? -1 : void 0, + "aria-controls": this.ariaControls, + "data-pc-section": "header", + disabled: this.isStepDisabled, + onClick: this.onStepClick + } + }; + }, "a11yAttrs") + }, + components: { + StepperSeparator: script$2$2 + } +}; +var _hoisted_1 = ["id", "tabindex", "aria-controls", "disabled"]; +function render$4(_ctx, _cache, $props, $setup, $data, $options) { + var _component_StepperSeparator = resolveComponent("StepperSeparator"); + return !_ctx.asChild ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + "class": _ctx.cx("root"), + "aria-current": $options.active ? "step" : void 0, + role: "presentation", + "data-p-active": $options.active, + "data-p-disabled": $options.isStepDisabled + }, $options.getPTOptions("root")), { + "default": withCtx(function() { + return [createBaseVNode("button", mergeProps({ + id: $options.id, + "class": _ctx.cx("header"), + role: "tab", + type: "button", + tabindex: $options.isStepDisabled ? -1 : void 0, + "aria-controls": $options.ariaControls, + disabled: $options.isStepDisabled, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onStepClick && $options.onStepClick.apply($options, arguments); + }) + }, $options.getPTOptions("header")), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("number") + }, $options.getPTOptions("number")), toDisplayString($options.activeValue), 17), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("title") + }, $options.getPTOptions("title")), [renderSlot(_ctx.$slots, "default")], 16)], 16, _hoisted_1), $data.isSeparatorVisible ? (openBlock(), createBlock(_component_StepperSeparator, { + key: 0 + })) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["class", "aria-current", "data-p-active", "data-p-disabled"])) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + active: $options.active, + value: _ctx.value, + a11yAttrs: $options.a11yAttrs, + activateCallback: $options.onStepClick + }); +} +__name(render$4, "render$4"); +script$5.render = render$4; +var classes$3 = { + root: "p-steplist" +}; +var StepListStyle = BaseStyle.extend({ + name: "steplist", + classes: classes$3 +}); +var script$1$3 = { + name: "BaseStepList", + "extends": script$6, + style: StepListStyle, + provide: /* @__PURE__ */ __name(function provide2() { + return { + $pcStepList: this, + $parentInstance: this + }; + }, "provide") +}; +var script$4 = { + name: "StepList", + "extends": script$1$3, + inheritAttrs: false +}; +function render$3(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$3, "render$3"); +script$4.render = render$3; +var classes$2 = { + root: /* @__PURE__ */ __name(function root2(_ref) { + var instance = _ref.instance; + return ["p-steppanel", { + "p-steppanel-active": instance.isVertical && instance.active + }]; + }, "root"), + content: "p-steppanel-content" +}; +var StepPanelStyle = BaseStyle.extend({ + name: "steppanel", + classes: classes$2 +}); +var script$2$1 = { + name: "StepperSeparator", + hostName: "Stepper", + "extends": script$6 +}; +function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("separator") + }, _ctx.ptm("separator")), null, 16); +} +__name(render$1$1, "render$1$1"); +script$2$1.render = render$1$1; +var script$1$2 = { + name: "BaseStepPanel", + "extends": script$6, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + asChild: { + type: Boolean, + "default": false + }, + as: { + type: [String, Object], + "default": "DIV" + } + }, + style: StepPanelStyle, + provide: /* @__PURE__ */ __name(function provide3() { + return { + $pcStepPanel: this, + $parentInstance: this + }; + }, "provide") +}; +var script$3 = { + name: "StepPanel", + "extends": script$1$2, + inheritAttrs: false, + inject: { + $pcStepper: { + "default": null + }, + $pcStepItem: { + "default": null + }, + $pcStepList: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data2() { + return { + isSeparatorVisible: false + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted2() { + if (this.$el) { + var _this$$pcStepItem, _this$$pcStepList; + var stepElements = find(this.$pcStepper.$el, '[data-pc-name="step"]'); + var stepPanelEl = findSingle(this.isVertical ? (_this$$pcStepItem = this.$pcStepItem) === null || _this$$pcStepItem === void 0 ? void 0 : _this$$pcStepItem.$el : (_this$$pcStepList = this.$pcStepList) === null || _this$$pcStepList === void 0 ? void 0 : _this$$pcStepList.$el, '[data-pc-name="step"]'); + var stepPanelIndex = findIndexInList(stepPanelEl, stepElements); + this.isSeparatorVisible = this.isVertical && stepPanelIndex !== stepElements.length - 1; + } + }, "mounted"), + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions2(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + active: this.active + } + }); + }, "getPTOptions"), + updateValue: /* @__PURE__ */ __name(function updateValue(val) { + this.$pcStepper.updateValue(val); + }, "updateValue") + }, + computed: { + active: /* @__PURE__ */ __name(function active2() { + var _this$$pcStepItem2, _this$$pcStepper; + var activeValue3 = !!this.$pcStepItem ? (_this$$pcStepItem2 = this.$pcStepItem) === null || _this$$pcStepItem2 === void 0 ? void 0 : _this$$pcStepItem2.value : this.value; + return activeValue3 === ((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.d_value); + }, "active"), + isVertical: /* @__PURE__ */ __name(function isVertical() { + return !!this.$pcStepItem; + }, "isVertical"), + activeValue: /* @__PURE__ */ __name(function activeValue2() { + var _this$$pcStepItem3; + return this.isVertical ? (_this$$pcStepItem3 = this.$pcStepItem) === null || _this$$pcStepItem3 === void 0 ? void 0 : _this$$pcStepItem3.value : this.value; + }, "activeValue"), + id: /* @__PURE__ */ __name(function id2() { + var _this$$pcStepper2; + return "".concat((_this$$pcStepper2 = this.$pcStepper) === null || _this$$pcStepper2 === void 0 ? void 0 : _this$$pcStepper2.id, "_steppanel_").concat(this.activeValue); + }, "id"), + ariaControls: /* @__PURE__ */ __name(function ariaControls2() { + var _this$$pcStepper3; + return "".concat((_this$$pcStepper3 = this.$pcStepper) === null || _this$$pcStepper3 === void 0 ? void 0 : _this$$pcStepper3.id, "_step_").concat(this.activeValue); + }, "ariaControls"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs2() { + return { + id: this.id, + role: "tabpanel", + "aria-controls": this.ariaControls, + "data-pc-name": "steppanel", + "data-p-active": this.active + }; + }, "a11yAttrs") + }, + components: { + StepperSeparator: script$2$1 + } +}; +function render$2(_ctx, _cache, $props, $setup, $data, $options) { + var _component_StepperSeparator = resolveComponent("StepperSeparator"); + return $options.isVertical ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [!_ctx.asChild ? (openBlock(), createBlock(Transition, mergeProps({ + key: 0, + name: "p-toggleable-content" + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + id: $options.id, + "class": _ctx.cx("root"), + role: "tabpanel", + "aria-controls": $options.ariaControls + }, $options.getPTOptions("root")), { + "default": withCtx(function() { + return [$data.isSeparatorVisible ? (openBlock(), createBlock(_component_StepperSeparator, { + key: 0 + })) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("content") + }, $options.getPTOptions("content")), [renderSlot(_ctx.$slots, "default", { + active: $options.active, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + })], 16)]; + }), + _: 3 + }, 16, ["id", "class", "aria-controls"])), [[vShow, $options.active]])]; + }), + _: 3 + }, 16)) : renderSlot(_ctx.$slots, "default", { + key: 1, + active: $options.active, + a11yAttrs: $options.a11yAttrs, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + })], 64)) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [!_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + id: $options.id, + "class": _ctx.cx("root"), + role: "tabpanel", + "aria-controls": $options.ariaControls + }, $options.getPTOptions("root")), { + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default", { + active: $options.active, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + })]; + }), + _: 3 + }, 16, ["id", "class", "aria-controls"])), [[vShow, $options.active]]) : _ctx.asChild && $options.active ? renderSlot(_ctx.$slots, "default", { + key: 1, + active: $options.active, + a11yAttrs: $options.a11yAttrs, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + }) : createCommentVNode("", true)], 64)); +} +__name(render$2, "render$2"); +script$3.render = render$2; +var classes$1 = { + root: "p-steppanels" +}; +var StepPanelsStyle = BaseStyle.extend({ + name: "steppanels", + classes: classes$1 +}); +var script$1$1 = { + name: "BaseStepPanels", + "extends": script$6, + style: StepPanelsStyle, + provide: /* @__PURE__ */ __name(function provide4() { + return { + $pcStepPanels: this, + $parentInstance: this + }; + }, "provide") +}; +var script$2 = { + name: "StepPanels", + "extends": script$1$1, + inheritAttrs: false +}; +function render$1(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$1, "render$1"); +script$2.render = render$1; +var theme = /* @__PURE__ */ __name(function theme2(_ref) { + var dt = _ref.dt; + return "\n.p-steplist {\n position: relative;\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow-x: auto;\n}\n\n.p-step {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n gap: ".concat(dt("stepper.step.gap"), ";\n padding: ").concat(dt("stepper.step.padding"), ";\n}\n\n.p-step:last-of-type {\n flex: initial;\n}\n\n.p-step-header {\n border: 0 none;\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n cursor: pointer;\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ";\n border-radius: ").concat(dt("stepper.step.header.border.radius"), ";\n outline-color: transparent;\n background: transparent;\n padding: ").concat(dt("stepper.step.header.padding"), ";\n gap: ").concat(dt("stepper.step.header.gap"), ";\n}\n\n.p-step-header:focus-visible {\n box-shadow: ").concat(dt("stepper.step.header.focus.ring.shadow"), ";\n outline: ").concat(dt("stepper.step.header.focus.ring.width"), " ").concat(dt("stepper.step.header.focus.ring.style"), " ").concat(dt("stepper.step.header.focus.ring.color"), ";\n outline-offset: ").concat(dt("stepper.step.header.focus.ring.offset"), ";\n}\n\n.p-stepper.p-stepper-readonly .p-step {\n cursor: auto;\n}\n\n.p-step-title {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n color: ").concat(dt("stepper.step.title.color"), ";\n font-weight: ").concat(dt("stepper.step.title.font.weight"), ";\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ";\n}\n\n.p-step-number {\n display: flex;\n align-items: center;\n justify-content: center;\n color: ").concat(dt("stepper.step.number.color"), ";\n border: 2px solid ").concat(dt("stepper.step.number.border.color"), ";\n background: ").concat(dt("stepper.step.number.background"), ";\n min-width: ").concat(dt("stepper.step.number.size"), ";\n height: ").concat(dt("stepper.step.number.size"), ";\n line-height: ").concat(dt("stepper.step.number.size"), ";\n font-size: ").concat(dt("stepper.step.number.font.size"), ";\n z-index: 1;\n border-radius: ").concat(dt("stepper.step.number.border.radius"), ";\n position: relative;\n font-weight: ").concat(dt("stepper.step.number.font.weight"), ';\n}\n\n.p-step-number::after {\n content: " ";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ').concat(dt("stepper.step.number.border.radius"), ";\n box-shadow: ").concat(dt("stepper.step.number.shadow"), ";\n}\n\n.p-step-active .p-step-header {\n cursor: default;\n}\n\n.p-step-active .p-step-number {\n background: ").concat(dt("stepper.step.number.active.background"), ";\n border-color: ").concat(dt("stepper.step.number.active.border.color"), ";\n color: ").concat(dt("stepper.step.number.active.color"), ";\n}\n\n.p-step-active .p-step-title {\n color: ").concat(dt("stepper.step.title.active.color"), ";\n}\n\n.p-step:not(.p-disabled):focus-visible {\n outline: ").concat(dt("focus.ring.width"), " ").concat(dt("focus.ring.style"), " ").concat(dt("focus.ring.color"), ";\n outline-offset: ").concat(dt("focus.ring.offset"), ";\n}\n\n.p-step:has(~ .p-step-active) .p-stepper-separator {\n background: ").concat(dt("stepper.separator.active.background"), ";\n}\n\n.p-stepper-separator {\n flex: 1 1 0;\n background: ").concat(dt("stepper.separator.background"), ";\n width: 100%;\n height: ").concat(dt("stepper.separator.size"), ";\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ";\n}\n\n.p-steppanels {\n padding: ").concat(dt("stepper.steppanels.padding"), ";\n}\n\n.p-steppanel {\n background: ").concat(dt("stepper.steppanel.background"), ";\n color: ").concat(dt("stepper.steppanel.color"), ";\n}\n\n.p-stepper:has(.p-stepitem) {\n display: flex;\n flex-direction: column;\n}\n\n.p-stepitem {\n display: flex;\n flex-direction: column;\n flex: initial;\n}\n\n.p-stepitem.p-stepitem-active {\n flex: 1 1 auto;\n}\n\n.p-stepitem .p-step {\n flex: initial;\n}\n\n.p-stepitem .p-steppanel-content {\n width: 100%;\n padding: ").concat(dt("stepper.steppanel.padding"), ";\n margin-inline-start: 1rem;\n}\n\n.p-stepitem .p-steppanel {\n display: flex;\n flex: 1 1 auto;\n}\n\n.p-stepitem .p-stepper-separator {\n flex: 0 0 auto;\n width: ").concat(dt("stepper.separator.size"), ";\n height: auto;\n margin: ").concat(dt("stepper.separator.margin"), ";\n position: relative;\n left: calc(-1 * ").concat(dt("stepper.separator.size"), ");\n}\n\n.p-stepitem .p-stepper-separator:dir(rtl) {\n left: calc(-9 * ").concat(dt("stepper.separator.size"), ");\n}\n\n.p-stepitem:has(~ .p-stepitem-active) .p-stepper-separator {\n background: ").concat(dt("stepper.separator.active.background"), ";\n}\n\n.p-stepitem:last-of-type .p-steppanel {\n padding-inline-start: ").concat(dt("stepper.step.number.size"), ";\n}\n"); +}, "theme"); +var classes = { + root: /* @__PURE__ */ __name(function root3(_ref2) { + var props = _ref2.props; + return ["p-stepper p-component", { + "p-readonly": props.linear + }]; + }, "root"), + separator: "p-stepper-separator" +}; +var StepperStyle = BaseStyle.extend({ + name: "stepper", + theme, + classes +}); +var script$1 = { + name: "BaseStepper", + "extends": script$6, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + linear: { + type: Boolean, + "default": false + } + }, + style: StepperStyle, + provide: /* @__PURE__ */ __name(function provide5() { + return { + $pcStepper: this, + $parentInstance: this + }; + }, "provide") +}; +var script = { + name: "Stepper", + "extends": script$1, + inheritAttrs: false, + emits: ["update:value"], + data: /* @__PURE__ */ __name(function data3() { + return { + id: this.$attrs.id, + d_value: this.value + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + value: /* @__PURE__ */ __name(function value(newValue) { + this.d_value = newValue; + }, "value") + }, + mounted: /* @__PURE__ */ __name(function mounted3() { + this.id = this.id || UniqueComponentId(); + }, "mounted"), + methods: { + updateValue: /* @__PURE__ */ __name(function updateValue2(newValue) { + if (this.d_value !== newValue) { + this.d_value = newValue; + this.$emit("update:value", newValue); + } + }, "updateValue"), + isStepActive: /* @__PURE__ */ __name(function isStepActive(value2) { + return this.d_value === value2; + }, "isStepActive"), + isStepDisabled: /* @__PURE__ */ __name(function isStepDisabled2() { + return this.linear; + }, "isStepDisabled") + } +}; +function render(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + role: "tablist" + }, _ctx.ptmi("root")), [_ctx.$slots.start ? renderSlot(_ctx.$slots, "start", { + key: 0 + }) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default"), _ctx.$slots.end ? renderSlot(_ctx.$slots, "end", { + key: 1 + }) : createCommentVNode("", true)], 16); +} +__name(render, "render"); +script.render = render; +export { + script$5 as a, + script$2 as b, + script$3 as c, + script as d, + script$4 as s +}; +//# sourceMappingURL=index-Bm1HvJhs.js.map diff --git a/web/assets/index-Cf-n7v0V.css b/web/assets/index-C1Hb_Yo9.css similarity index 95% rename from web/assets/index-Cf-n7v0V.css rename to web/assets/index-C1Hb_Yo9.css index b8e6a53ad..5e62328cf 100644 --- a/web/assets/index-Cf-n7v0V.css +++ b/web/assets/index-C1Hb_Yo9.css @@ -2101,6 +2101,15 @@ .inset-0{ inset: 0px; } + .-bottom-4{ + bottom: -1rem; + } + .-right-14{ + right: -3.5rem; + } + .-right-4{ + right: -1rem; + } .bottom-\[10px\]{ bottom: 10px; } @@ -2134,6 +2143,12 @@ .z-\[9999\]{ z-index: 9999; } + .col-span-full{ + grid-column: 1 / -1; + } + .row-span-full{ + grid-row: 1 / -1; + } .m-0{ margin: 0px; } @@ -2146,6 +2161,9 @@ .m-2{ margin: 0.5rem; } + .m-8{ + margin: 2rem; + } .mx-1{ margin-left: 0.25rem; margin-right: 0.25rem; @@ -2226,6 +2244,9 @@ .mt-5{ margin-top: 1.25rem; } + .mt-6{ + margin-top: 1.5rem; + } .block{ display: block; } @@ -2259,6 +2280,9 @@ .h-1{ height: 0.25rem; } + .h-1\/2{ + height: 50%; + } .h-16{ height: 4rem; } @@ -2268,6 +2292,9 @@ .h-64{ height: 16rem; } + .h-8{ + height: 2rem; + } .h-96{ height: 26rem; } @@ -2292,9 +2319,15 @@ .max-h-full{ max-height: 100%; } + .min-h-52{ + min-height: 13rem; + } .min-h-8{ min-height: 2rem; } + .min-h-full{ + min-height: 100%; + } .min-h-screen{ min-height: 100vh; } @@ -2356,15 +2389,24 @@ .min-w-110{ min-width: 32rem; } + .min-w-32{ + min-width: 8rem; + } .min-w-84{ min-width: 22rem; } .min-w-96{ min-width: 26rem; } + .min-w-full{ + min-width: 100%; + } .max-w-110{ max-width: 32rem; } + .max-w-48{ + max-width: 12rem; + } .max-w-64{ max-width: 16rem; } @@ -2395,6 +2437,9 @@ .grow{ flex-grow: 1; } + .border-collapse{ + border-collapse: collapse; + } .-translate-y-40{ --tw-translate-y: -10rem; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); @@ -2463,9 +2508,15 @@ .justify-around{ justify-content: space-around; } + .justify-evenly{ + justify-content: space-evenly; + } .gap-0{ gap: 0px; } + .gap-1{ + gap: 0.25rem; + } .gap-2{ gap: 0.5rem; } @@ -2481,6 +2532,11 @@ .gap-8{ gap: 2rem; } + .space-x-1 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.25rem * var(--tw-space-x-reverse)); + margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))); + } .space-y-1 > :not([hidden]) ~ :not([hidden]){ --tw-space-y-reverse: 0; margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); @@ -2528,9 +2584,6 @@ .whitespace-pre-line{ white-space: pre-line; } - .whitespace-pre-wrap{ - white-space: pre-wrap; - } .text-wrap{ text-wrap: wrap; } @@ -2560,6 +2613,10 @@ border-left-width: 0px; border-right-width: 0px; } + .border-y{ + border-top-width: 1px; + border-bottom-width: 1px; + } .border-b{ border-bottom-width: 1px; } @@ -2575,9 +2632,16 @@ .border-solid{ border-style: solid; } + .border-hidden{ + border-style: hidden; + } .border-none{ border-style: none; } + .border-neutral-700{ + --tw-border-opacity: 1; + border-color: rgb(64 64 64 / var(--tw-border-opacity)); + } .bg-\[var\(--comfy-menu-bg\)\]{ background-color: var(--comfy-menu-bg); } @@ -2732,6 +2796,9 @@ .text-center{ text-align: center; } + .text-right{ + text-align: right; + } .font-mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } @@ -2832,18 +2899,34 @@ .no-underline{ text-decoration-line: none; } + .antialiased{ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } .opacity-0{ opacity: 0; } .opacity-100{ opacity: 1; } + .opacity-15{ + opacity: 0.15; + } + .opacity-25{ + opacity: 0.25; + } .opacity-40{ opacity: 0.4; } .opacity-50{ opacity: 0.5; } + .opacity-65{ + opacity: 0.65; + } + .opacity-75{ + opacity: 0.75; + } .shadow-lg{ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); @@ -2891,6 +2974,9 @@ .duration-100{ transition-duration: 100ms; } + .duration-200{ + transition-duration: 200ms; + } .duration-300{ transition-duration: 300ms; } @@ -3672,6 +3758,30 @@ audio.comfy-audio.empty-audio-widget { padding: var(--comfy-tree-explorer-item-padding) !important; } +/* Load3d styles */ +.comfy-load-3d, +.comfy-load-3d-animation, +.comfy-preview-3d, +.comfy-preview-3d-animation{ + display: flex; + flex-direction: column; + background: transparent; + flex: 1; + position: relative; + overflow: hidden; +} + +.comfy-load-3d canvas, +.comfy-load-3d-animation canvas, +.comfy-preview-3d canvas, +.comfy-preview-3d-animation canvas{ + display: flex; + width: 100% !important; + height: 100% !important; +} + +/* End of Load3d styles */ + /* [Desktop] Electron window specific styles */ .app-drag { app-region: drag; @@ -3699,6 +3809,42 @@ audio.comfy-audio.empty-audio-widget { .hover\:opacity-100:hover{ opacity: 1; } +@media (prefers-reduced-motion: no-preference){ + + .motion-safe\:w-0{ + width: 0px; + } + + .motion-safe\:opacity-0{ + opacity: 0; + } + + .group\/sidebar-tab:focus-within .motion-safe\:group-focus-within\/sidebar-tab\:w-auto{ + width: auto; + } + + .group\/sidebar-tab:focus-within .motion-safe\:group-focus-within\/sidebar-tab\:opacity-100{ + opacity: 1; + } + + .group\/sidebar-tab:hover .motion-safe\:group-hover\/sidebar-tab\:w-auto{ + width: auto; + } + + .group\/sidebar-tab:hover .motion-safe\:group-hover\/sidebar-tab\:opacity-100{ + opacity: 1; + } + + .group\/tree-node:hover .motion-safe\:group-hover\/tree-node\:opacity-100{ + opacity: 1; + } +} +@media not all and (min-width: 640px){ + + .max-sm\:hidden{ + display: none; + } +} @media (min-width: 768px){ .md\:flex{ @@ -3798,17 +3944,17 @@ audio.comfy-audio.empty-audio-widget { margin-bottom: 1rem; } -.comfy-error-report[data-v-09b72a20] { +.comfy-error-report[data-v-3faf7785] { display: flex; flex-direction: column; gap: 1rem; } -.action-container[data-v-09b72a20] { +.action-container[data-v-3faf7785] { display: flex; gap: 1rem; justify-content: flex-end; } -.wrapper-pre[data-v-09b72a20] { +.wrapper-pre[data-v-3faf7785] { white-space: pre-wrap; word-wrap: break-word; } @@ -3826,7 +3972,7 @@ audio.comfy-audio.empty-audio-widget { margin-left: auto; } -.comfy-missing-models[data-v-ebf9fccc] { +.comfy-missing-models[data-v-f8d63775] { max-height: 300px; overflow-y: auto; } @@ -3868,22 +4014,22 @@ audio.comfy-audio.empty-audio-widget { background-color: rgb(234 179 8 / var(--tw-bg-opacity)) } -[data-v-ba13476b] .p-inputtext { +[data-v-b3ab067d] .p-inputtext { --p-form-field-padding-x: 0.625rem; } -.p-button.p-inputicon[data-v-ba13476b] { +.p-button.p-inputicon[data-v-b3ab067d] { width: auto; border-style: none; padding: 0px; } -.form-input[data-v-e4e3022d] .input-slider .p-inputnumber input, -.form-input[data-v-e4e3022d] .input-slider .slider-part { +.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-e4e3022d] .p-inputtext, -.form-input[data-v-e4e3022d] .p-select { +.form-input[data-v-1451da7b] .p-inputtext, +.form-input[data-v-1451da7b] .p-select { width: 11rem } @@ -4504,28 +4650,28 @@ audio.comfy-audio.empty-audio-widget { box-sizing: border-box; } -.tree-node[data-v-a6457774] { +.tree-node[data-v-654109c7] { width: 100%; display: flex; align-items: center; justify-content: space-between; } -.leaf-count-badge[data-v-a6457774] { +.leaf-count-badge[data-v-654109c7] { margin-left: 0.5rem; } -.node-content[data-v-a6457774] { +.node-content[data-v-654109c7] { display: flex; align-items: center; flex-grow: 1; } -.leaf-label[data-v-a6457774] { +.leaf-label[data-v-654109c7] { margin-left: 0.5rem; } -[data-v-a6457774] .editable-text span { +[data-v-654109c7] .editable-text span { word-break: break-all; } -[data-v-31d518da] .tree-explorer-node-label { +[data-v-976a6d58] .tree-explorer-node-label { width: 100%; display: flex; align-items: center; @@ -4538,10 +4684,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. */ -[data-v-31d518da] .p-tree-node-content:has(.tree-folder) { +[data-v-976a6d58] .p-tree-node-content:has(.tree-folder) { position: relative; } -[data-v-31d518da] .p-tree-node-content:has(.tree-folder.can-drop)::after { +[data-v-976a6d58] .p-tree-node-content:has(.tree-folder.can-drop)::after { content: ''; position: absolute; top: 0; @@ -4552,21 +4698,21 @@ audio.comfy-audio.empty-audio-widget { pointer-events: none; } -[data-v-5e759e25] .p-toolbar-end .p-button { +[data-v-0061c432] .p-toolbar-end .p-button { padding-top: 0.25rem; padding-bottom: 0.25rem } @media (min-width: 1536px) { -[data-v-5e759e25] .p-toolbar-end .p-button { +[data-v-0061c432] .p-toolbar-end .p-button { padding-top: 0.5rem; padding-bottom: 0.5rem } } -[data-v-5e759e25] .p-toolbar-start { +[data-v-0061c432] .p-toolbar-start { min-width: 0px; @@ -4649,31 +4795,6 @@ audio.comfy-audio.empty-audio-widget { width: 16px; } -._content[data-v-c4279e6b] { - - display: flex; - - flex-direction: column -} -._content[data-v-c4279e6b] > :not([hidden]) ~ :not([hidden]) { - - --tw-space-y-reverse: 0; - - margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); - - margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)) -} -._footer[data-v-c4279e6b] { - - display: flex; - - flex-direction: column; - - align-items: flex-end; - - padding-top: 1rem -} - .slot_row[data-v-d9792337] { padding: 2px; } @@ -4801,34 +4922,61 @@ audio.comfy-audio.empty-audio-widget { color: var(--error-text); } +._content[data-v-c4279e6b] { + + display: flex; + + flex-direction: column +} +._content[data-v-c4279e6b] > :not([hidden]) ~ :not([hidden]) { + + --tw-space-y-reverse: 0; + + margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); + + margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)) +} +._footer[data-v-c4279e6b] { + + display: flex; + + flex-direction: column; + + align-items: flex-end; + + padding-top: 1rem +} + .node-lib-node-container[data-v-da9a8962] { height: 100%; width: 100% } -.p-selectbutton .p-button[data-v-05364174] { +.p-selectbutton .p-button[data-v-bd06e12b] { padding: 0.5rem; } -.p-selectbutton .p-button .pi[data-v-05364174] { +.p-selectbutton .p-button .pi[data-v-bd06e12b] { font-size: 1.5rem; } -.field[data-v-05364174] { +.field[data-v-bd06e12b] { display: flex; flex-direction: column; gap: 0.5rem; } -.color-picker-container[data-v-05364174] { +.color-picker-container[data-v-bd06e12b] { display: flex; align-items: center; gap: 0.5rem; } -.scroll-container[data-v-ad33a347] { +.scroll-container { +&[data-v-ad33a347] { height: 100%; overflow-y: auto; /* Firefox */ scrollbar-width: none; +} &[data-v-ad33a347]::-webkit-scrollbar { width: 1px; } diff --git a/web/assets/index-DpF-ptbJ.js b/web/assets/index-CdHVC5qq.js similarity index 86% rename from web/assets/index-DpF-ptbJ.js rename to web/assets/index-CdHVC5qq.js index 792856c66..f7678aece 100644 --- a/web/assets/index-DpF-ptbJ.js +++ b/web/assets/index-CdHVC5qq.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { B as BaseStyle, y as script$s, cA as script$t, m as createBaseVNode, o as openBlock, f as createElementBlock, G as mergeProps, Z as toDisplayString, U as Ripple, r as resolveDirective, i as withDirectives, J as createBlock, K as resolveDynamicComponent, c5 as script$u, aD as resolveComponent, V as normalizeClass, aF as createSlots, P as withCtx, bG as script$v, bD as script$w, H as Fragment, I as renderList, aG as createTextVNode, bx as setAttribute, am as UniqueComponentId, bv as normalizeProps, M as renderSlot, L as createCommentVNode, T as equals, br as script$x, cg as script$y, cB as getFirstFocusableElement, ap as OverlayEventBus, E as getVNodeProp, ao as resolveFieldData, cC as invokeElementMethod, Q as getAttribute, cD as getNextElementSibling, C as getOuterWidth, cE as getPreviousElementSibling, l as script$z, aA as script$A, Y as script$B, bu as script$D, al as isNotEmpty, b3 as withModifiers, D as getOuterHeight, cF as _default, an as ZIndex, S as focus, ar as addStyle, at as absolutePosition, au as ConnectedOverlayScrollHandler, av as isTouchDevice, cG as FilterOperator, az as script$E, cH as script$F, cI as FocusTrap, k as createVNode, aE as Transition, c3 as withKeys, cJ as getIndex, aW as script$G, cK as isClickable, cL as clearSelection, cM as localeComparator, cN as sort, cO as FilterService, cu as FilterMatchMode, R as findSingle, c9 as findIndexInList, ca as find, cP as exportCSV, W as getOffset, cQ as getHiddenElementOuterWidth, cR as getHiddenElementOuterHeight, cS as reorderArray, cT as getWindowScrollTop, cU as removeClass, cV as addClass, aq as isEmpty, ay as script$H, aB as script$I } from "./index-QvfM__ze.js"; -import { s as script$C } from "./index-Q1cQr26V.js"; +import { bA as BaseStyle, bB as script$s, bZ as script$t, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode, E as toDisplayString, bS as Ripple, r as resolveDirective, i as withDirectives, y as createBlock, C as resolveDynamicComponent, bi as script$u, bK as resolveComponent, ai as normalizeClass, co as createSlots, z as withCtx, aU as script$v, cf as script$w, F as Fragment, D as renderList, a7 as createTextVNode, c9 as setAttribute, cv as normalizeProps, A as renderSlot, B as createCommentVNode, b_ as script$x, ce as equals, cA as script$y, br as script$z, cE as getFirstFocusableElement, c8 as OverlayEventBus, cU as getVNodeProp, cc as resolveFieldData, ds as invokeElementMethod, bP as getAttribute, cV as getNextElementSibling, c3 as getOuterWidth, cW as getPreviousElementSibling, l as script$A, bR as script$B, bU as script$C, bJ as script$E, cd as isNotEmpty, ar as withModifiers, d5 as getOuterHeight, bT as UniqueComponentId, cY as _default, bC as ZIndex, bE as focus, b$ as addStyle, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, dt as FilterOperator, bI as script$F, cs as script$G, bH as FocusTrap, k as createVNode, bL as Transition, bf as withKeys, c6 as getIndex, cu as script$H, cX as isClickable, cZ as clearSelection, ca as localeComparator, cn as sort, cG as FilterService, dl as FilterMatchMode, bO as findSingle, cJ as findIndexInList, c5 as find, du as exportCSV, cR as getOffset, c_ as isRTL, dv as getHiddenElementOuterWidth, dw as getHiddenElementOuterHeight, dx as reorderArray, bW as removeClass, bD as addClass, ci as isEmpty, cH as script$I, ck as script$J } from "./index-CmVtQCAR.js"; +import { s as script$D } from "./index-I0brO37W.js"; var ColumnStyle = BaseStyle.extend({ name: "column" }); @@ -215,13 +215,6 @@ var script$q = { name: "ArrowDownIcon", "extends": script$t }; -var _hoisted_1$i = /* @__PURE__ */ createBaseVNode("path", { - "fill-rule": "evenodd", - "clip-rule": "evenodd", - d: "M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$f = [_hoisted_1$i]; function render$p(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -229,7 +222,12 @@ function render$p(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$f, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$p, "render$p"); script$q.render = render$p; @@ -237,13 +235,6 @@ var script$p = { name: "ArrowUpIcon", "extends": script$t }; -var _hoisted_1$h = /* @__PURE__ */ createBaseVNode("path", { - "fill-rule": "evenodd", - "clip-rule": "evenodd", - d: "M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$e = [_hoisted_1$h]; function render$o(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -251,7 +242,12 @@ function render$o(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$e, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$o, "render$o"); script$p.render = render$o; @@ -286,7 +282,7 @@ function _toPrimitive$b(t, r) { __name(_toPrimitive$b, "_toPrimitive$b"); var theme$2 = /* @__PURE__ */ __name(function theme(_ref) { var dt = _ref.dt; - return "\n.p-paginator {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n background: ".concat(dt("paginator.background"), ";\n color: ").concat(dt("paginator.color"), ";\n padding: ").concat(dt("paginator.padding"), ";\n border-radius: ").concat(dt("paginator.border.radius"), ";\n gap: ").concat(dt("paginator.gap"), ";\n}\n\n.p-paginator-content {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: ").concat(dt("paginator.gap"), ";\n}\n\n.p-paginator-content-start {\n margin-right: auto;\n}\n\n.p-paginator-content-end {\n margin-left: auto;\n}\n\n.p-paginator-page,\n.p-paginator-next,\n.p-paginator-last,\n.p-paginator-first,\n.p-paginator-prev {\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n user-select: none;\n overflow: hidden;\n position: relative;\n background: ").concat(dt("paginator.nav.button.background"), ";\n border: 0 none;\n color: ").concat(dt("paginator.nav.button.color"), ";\n min-width: ").concat(dt("paginator.nav.button.width"), ";\n height: ").concat(dt("paginator.nav.button.height"), ";\n transition: background ").concat(dt("paginator.transition.duration"), ", color ").concat(dt("paginator.transition.duration"), ", outline-color ").concat(dt("paginator.transition.duration"), ", box-shadow ").concat(dt("paginator.transition.duration"), ";\n border-radius: ").concat(dt("paginator.nav.button.border.radius"), ";\n padding: 0;\n margin: 0;\n}\n\n.p-paginator-page:focus-visible,\n.p-paginator-next:focus-visible,\n.p-paginator-last:focus-visible,\n.p-paginator-first:focus-visible,\n.p-paginator-prev:focus-visible {\n box-shadow: ").concat(dt("paginator.nav.button.focus.ring.shadow"), ";\n outline: ").concat(dt("paginator.nav.button.focus.ring.width"), " ").concat(dt("paginator.nav.button.focus.ring.style"), " ").concat(dt("paginator.nav.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("paginator.nav.button.focus.ring.offset"), ";\n}\n\n.p-paginator-page:not(.p-disabled):not(.p-paginator-page-selected):hover,\n.p-paginator-first:not(.p-disabled):hover,\n.p-paginator-prev:not(.p-disabled):hover,\n.p-paginator-next:not(.p-disabled):hover,\n.p-paginator-last:not(.p-disabled):hover {\n background: ").concat(dt("paginator.nav.button.hover.background"), ";\n color: ").concat(dt("paginator.nav.button.hover.color"), ";\n}\n\n.p-paginator-page.p-paginator-page-selected {\n background: ").concat(dt("paginator.nav.button.selected.background"), ";\n color: ").concat(dt("paginator.nav.button.selected.color"), ";\n}\n\n.p-paginator-current {\n color: ").concat(dt("paginator.current.page.report.color"), ";\n}\n\n.p-paginator-pages {\n display: flex;\n align-items: center;\n gap: ").concat(dt("paginator.gap"), ";\n}\n\n.p-paginator-jtp-input .p-inputtext {\n max-width: ").concat(dt("paginator.jump.to.page.input.max.width"), ";\n}\n"); + return "\n.p-paginator {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n background: ".concat(dt("paginator.background"), ";\n color: ").concat(dt("paginator.color"), ";\n padding: ").concat(dt("paginator.padding"), ";\n border-radius: ").concat(dt("paginator.border.radius"), ";\n gap: ").concat(dt("paginator.gap"), ";\n}\n\n.p-paginator-content {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: ").concat(dt("paginator.gap"), ";\n}\n\n.p-paginator-content-start {\n margin-inline-end: auto;\n}\n\n.p-paginator-content-end {\n margin-inline-start: auto;\n}\n\n.p-paginator-page,\n.p-paginator-next,\n.p-paginator-last,\n.p-paginator-first,\n.p-paginator-prev {\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n user-select: none;\n overflow: hidden;\n position: relative;\n background: ").concat(dt("paginator.nav.button.background"), ";\n border: 0 none;\n color: ").concat(dt("paginator.nav.button.color"), ";\n min-width: ").concat(dt("paginator.nav.button.width"), ";\n height: ").concat(dt("paginator.nav.button.height"), ";\n transition: background ").concat(dt("paginator.transition.duration"), ", color ").concat(dt("paginator.transition.duration"), ", outline-color ").concat(dt("paginator.transition.duration"), ", box-shadow ").concat(dt("paginator.transition.duration"), ";\n border-radius: ").concat(dt("paginator.nav.button.border.radius"), ";\n padding: 0;\n margin: 0;\n}\n\n.p-paginator-page:focus-visible,\n.p-paginator-next:focus-visible,\n.p-paginator-last:focus-visible,\n.p-paginator-first:focus-visible,\n.p-paginator-prev:focus-visible {\n box-shadow: ").concat(dt("paginator.nav.button.focus.ring.shadow"), ";\n outline: ").concat(dt("paginator.nav.button.focus.ring.width"), " ").concat(dt("paginator.nav.button.focus.ring.style"), " ").concat(dt("paginator.nav.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("paginator.nav.button.focus.ring.offset"), ";\n}\n\n.p-paginator-page:not(.p-disabled):not(.p-paginator-page-selected):hover,\n.p-paginator-first:not(.p-disabled):hover,\n.p-paginator-prev:not(.p-disabled):hover,\n.p-paginator-next:not(.p-disabled):hover,\n.p-paginator-last:not(.p-disabled):hover {\n background: ").concat(dt("paginator.nav.button.hover.background"), ";\n color: ").concat(dt("paginator.nav.button.hover.color"), ";\n}\n\n.p-paginator-page.p-paginator-page-selected {\n background: ").concat(dt("paginator.nav.button.selected.background"), ";\n color: ").concat(dt("paginator.nav.button.selected.color"), ";\n}\n\n.p-paginator-current {\n color: ").concat(dt("paginator.current.page.report.color"), ";\n}\n\n.p-paginator-pages {\n display: flex;\n align-items: center;\n gap: ").concat(dt("paginator.gap"), ";\n}\n\n.p-paginator-jtp-input .p-inputtext {\n max-width: ").concat(dt("paginator.jump.to.page.input.max.width"), ";\n}\n\n.p-paginator-first:dir(rtl),\n.p-paginator-prev:dir(rtl),\n.p-paginator-next:dir(rtl),\n.p-paginator-last:dir(rtl) {\n transform: rotate(180deg);\n}\n"); }, "theme"); var classes$2 = { paginator: /* @__PURE__ */ __name(function paginator(_ref2) { @@ -336,7 +332,7 @@ var classes$2 = { current: "p-paginator-current", pcRowPerPageDropdown: "p-paginator-rpp-dropdown", pcJumpToPageDropdown: "p-paginator-jtp-dropdown", - pcJumpToPageInput: "p-paginator-jtp-input" + pcJumpToPageInputText: "p-paginator-jtp-input" }; var PaginatorStyle = BaseStyle.extend({ name: "paginator", @@ -347,13 +343,6 @@ var script$o = { name: "AngleDoubleLeftIcon", "extends": script$t }; -var _hoisted_1$g = /* @__PURE__ */ createBaseVNode("path", { - "fill-rule": "evenodd", - "clip-rule": "evenodd", - d: "M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$d = [_hoisted_1$g]; function render$n(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -361,7 +350,12 @@ function render$n(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$d, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$n, "render$n"); script$o.render = render$n; @@ -369,13 +363,6 @@ var script$n = { name: "AngleDoubleRightIcon", "extends": script$t }; -var _hoisted_1$f = /* @__PURE__ */ createBaseVNode("path", { - "fill-rule": "evenodd", - "clip-rule": "evenodd", - d: "M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$c = [_hoisted_1$f]; function render$m(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -383,7 +370,12 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$c, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$m, "render$m"); script$n.render = render$m; @@ -391,11 +383,6 @@ var script$m = { name: "AngleLeftIcon", "extends": script$t }; -var _hoisted_1$e = /* @__PURE__ */ createBaseVNode("path", { - d: "M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$b = [_hoisted_1$e]; function render$l(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -403,7 +390,10 @@ function render$l(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$b, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + d: "M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$l, "render$l"); script$m.render = render$l; @@ -643,12 +633,12 @@ function render$6$1(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createBlock(_component_JTPInput, { ref: "jtpInput", modelValue: $data.d_page, - "class": normalizeClass(_ctx.cx("pcJumpToPageInput")), + "class": normalizeClass(_ctx.cx("pcJumpToPageInputText")), "aria-label": $options.inputArialabel, disabled: $props.disabled, "onUpdate:modelValue": $options.onChange, unstyled: _ctx.unstyled, - pt: _ctx.ptm("pcJumpToPageInput") + pt: _ctx.ptm("pcJumpToPageInputText") }, null, 8, ["modelValue", "class", "aria-label", "disabled", "onUpdate:modelValue", "unstyled", "pt"]); } __name(render$6$1, "render$6$1"); @@ -763,7 +753,7 @@ var script$3$1 = { ripple: Ripple } }; -var _hoisted_1$d = ["aria-label", "aria-current", "onClick", "data-p-active"]; +var _hoisted_1$6 = ["aria-label", "aria-current", "onClick", "data-p-active"]; function render$3$1(_ctx, _cache, $props, $setup, $data, $options) { var _directive_ripple = resolveDirective("ripple"); return openBlock(), createElementBlock("span", mergeProps({ @@ -783,7 +773,7 @@ function render$3$1(_ctx, _cache, $props, $setup, $data, $options) { ref_for: true }, $options.getPTOptions(pageLink - 1, "page"), { "data-p-active": pageLink - 1 === $props.page - }), [createTextVNode(toDisplayString(pageLink), 1)], 16, _hoisted_1$d)), [[_directive_ripple]]); + }), [createTextVNode(toDisplayString(pageLink), 1)], 16, _hoisted_1$6)), [[_directive_ripple]]); }), 128))], 16); } __name(render$3$1, "render$3$1"); @@ -890,22 +880,6 @@ function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$1$1, "render$1$1"); script$1$2.render = render$1$1; -function _toConsumableArray$1(r) { - return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$3(r) || _nonIterableSpread$1(); -} -__name(_toConsumableArray$1, "_toConsumableArray$1"); -function _nonIterableSpread$1() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} -__name(_nonIterableSpread$1, "_nonIterableSpread$1"); -function _iterableToArray$1(r) { - if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); -} -__name(_iterableToArray$1, "_iterableToArray$1"); -function _arrayWithoutHoles$1(r) { - if (Array.isArray(r)) return _arrayLikeToArray$3(r); -} -__name(_arrayWithoutHoles$1, "_arrayWithoutHoles$1"); function _typeof$b(o) { "@babel/helpers - typeof"; return _typeof$b = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { @@ -988,7 +962,6 @@ var script$l = { }, "totalRecords") }, mounted: /* @__PURE__ */ __name(function mounted2() { - this.setPaginatorAttribute(); this.createStyle(); }, "mounted"), methods: { @@ -1042,7 +1015,7 @@ var script$l = { this.styleElement = document.createElement("style"); this.styleElement.type = "text/css"; setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); - document.head.appendChild(this.styleElement); + document.body.appendChild(this.styleElement); var innerHTML = ""; var keys = Object.keys(this.template); var sortedBreakpoints = {}; @@ -1061,9 +1034,9 @@ var script$l = { } minValue = Object.entries(sortedBreakpoints)[index - 1] ? "and (min-width:".concat(calculatedMinValue, ")") : ""; if (key === "default") { - innerHTML += "\n @media screen ".concat(minValue, " {\n .paginator[").concat(this.attributeSelector, "],\n display: flex;\n }\n }\n "); + innerHTML += "\n @media screen ".concat(minValue, " {\n .p-paginator[").concat(this.$attrSelector, "],\n display: flex;\n }\n }\n "); } else { - innerHTML += "\n.paginator[".concat(this.attributeSelector, "], .p-paginator-").concat(key, " {\n display: none;\n}\n@media screen ").concat(minValue, " and (max-width: ").concat(key, ") {\n .paginator[").concat(this.attributeSelector, "], .p-paginator-").concat(key, " {\n display: flex;\n }\n .paginator[").concat(this.attributeSelector, "],\n .p-paginator-default{\n display: none;\n }\n}\n "); + innerHTML += "\n.p-paginator-".concat(key, " {\n display: none;\n}\n@media screen ").concat(minValue, " and (max-width: ").concat(key, ") {\n .p-paginator-").concat(key, " {\n display: flex;\n }\n\n .p-paginator-default{\n display: none;\n }\n}\n "); } } this.styleElement.innerHTML = innerHTML; @@ -1072,14 +1045,6 @@ var script$l = { hasBreakpoints: /* @__PURE__ */ __name(function hasBreakpoints() { return _typeof$b(this.template) === "object"; }, "hasBreakpoints"), - setPaginatorAttribute: /* @__PURE__ */ __name(function setPaginatorAttribute() { - var _this2 = this; - if (this.$refs.paginator && this.$refs.paginator.length >= 0) { - _toConsumableArray$1(this.$refs.paginator).forEach(function(el) { - el.setAttribute(_this2.attributeSelector, ""); - }); - } - }, "setPaginatorAttribute"), getAriaLabel: /* @__PURE__ */ __name(function getAriaLabel(labelType) { return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria[labelType] : void 0; }, "getAriaLabel") @@ -1148,9 +1113,9 @@ var script$l = { currentPage: /* @__PURE__ */ __name(function currentPage() { return this.pageCount > 0 ? this.page + 1 : 0; }, "currentPage"), - attributeSelector: /* @__PURE__ */ __name(function attributeSelector() { - return UniqueComponentId(); - }, "attributeSelector") + last: /* @__PURE__ */ __name(function last2() { + return Math.min(this.d_first + this.rows, this.totalRecords); + }, "last") }, components: { CurrentPageReport: script$9$1, @@ -1184,7 +1149,22 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) { "class": _ctx.cx("paginator", { key }) - }, _ctx.ptm("root")), [_ctx.$slots.start ? (openBlock(), createElementBlock("div", mergeProps({ + }, _ctx.ptm("root")), [_ctx.$slots.container ? renderSlot(_ctx.$slots, "container", { + key: 0, + first: $data.d_first + 1, + last: $options.last, + rows: $data.d_rows, + page: $options.page, + pageCount: $options.pageCount, + totalRecords: _ctx.totalRecords, + firstPageCallback: $options.changePageToFirst, + lastPageCallback: $options.changePageToLast, + prevPageCallback: $options.changePageToPrev, + nextPageCallback: $options.changePageToNext, + rowChangeCallback: $options.onRowChange + }) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [_ctx.$slots.start ? (openBlock(), createElementBlock("div", mergeProps({ key: 0, "class": _ctx.cx("contentStart"), ref_for: true @@ -1298,14 +1278,14 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) { ref_for: true }, _ctx.ptm("contentEnd")), [renderSlot(_ctx.$slots, "end", { state: $options.currentState - })], 16)) : createCommentVNode("", true)], 16); + })], 16)) : createCommentVNode("", true)], 64))], 16); }), 128))], 16)) : createCommentVNode("", true); } __name(render$k, "render$k"); script$l.render = render$k; var theme$1 = /* @__PURE__ */ __name(function theme2(_ref) { var dt = _ref.dt; - return "\n.p-datatable {\n position: relative;\n}\n\n.p-datatable-table {\n border-spacing: 0;\n width: 100%;\n}\n\n.p-datatable-scrollable > .p-datatable-table-container {\n position: relative;\n}\n\n.p-datatable-scrollable-table > .p-datatable-thead {\n top: 0;\n z-index: 1;\n}\n\n.p-datatable-scrollable-table > .p-datatable-frozen-tbody {\n position: sticky;\n z-index: 1;\n}\n\n.p-datatable-scrollable-table>.p-datatable-tfoot {\n bottom: 0;\n z-index: 1;\n}\n\n.p-datatable-scrollable .p-datatable-frozen-column {\n position: sticky;\n background: ".concat(dt("datatable.header.cell.background"), ";\n}\n\n.p-datatable-scrollable th.p-datatable-frozen-column {\n z-index: 1;\n}\n\n.p-datatable-scrollable > .p-datatable-table-container > .p-datatable-table > .p-datatable-thead,\n.p-datatable-scrollable > .p-datatable-table-container > .p-virtualscroller > .p-datatable-table > .p-datatable-thead {\n background: ").concat(dt("datatable.header.cell.background"), ";\n}\n\n.p-datatable-scrollable > .p-datatable-table-container > .p-datatable-table > .p-datatable-tfoot,\n.p-datatable-scrollable > .p-datatable-table-container > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot {\n background: ").concat(dt("datatable.footer.cell.background"), ";\n}\n\n.p-datatable-flex-scrollable {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.p-datatable-flex-scrollable > .p-datatable-table-container {\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n}\n\n.p-datatable-scrollable-table > .p-datatable-tbody > .p-datatable-row-group-header {\n position: sticky;\n z-index: 1;\n}\n\n.p-datatable-resizable-table > .p-datatable-thead > tr > th,\n.p-datatable-resizable-table > .p-datatable-tfoot > tr > td,\n.p-datatable-resizable-table > .p-datatable-tbody > tr > td {\n overflow: hidden;\n white-space: nowrap;\n}\n\n.p-datatable-resizable-table > .p-datatable-thead > tr > th.p-datatable-resizable-column:not(.p-datatable-frozen-column) {\n background-clip: padding-box;\n position: relative;\n}\n\n.p-datatable-resizable-table-fit > .p-datatable-thead > tr > th.p-datatable-resizable-column:last-child .p-datatable-column-resizer {\n display: none;\n}\n\n.p-datatable-column-resizer {\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n margin: 0;\n width: ").concat(dt("datatable.column.resizer.width"), ";\n height: 100%;\n padding: 0px;\n cursor: col-resize;\n border: 1px solid transparent;\n}\n\n.p-datatable-column-header-content {\n display: flex;\n align-items: center;\n gap: ").concat(dt("datatable.header.cell.gap"), ";\n}\n\n.p-datatable-column-resize-indicator {\n width: ").concat(dt("datatable.resize.indicator.width"), ";\n position: absolute;\n z-index: 10;\n display: none;\n background: ").concat(dt("datatable.resize.indicator.color"), ";\n}\n\n.p-datatable-row-reorder-indicator-up,\n.p-datatable-row-reorder-indicator-down {\n position: absolute;\n display: none;\n}\n\n.p-datatable-reorderable-column,\n.p-datatable-reorderable-row-handle {\n cursor: move;\n}\n\n.p-datatable-mask {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n}\n\n.p-datatable-inline-filter {\n display: flex;\n align-items: center;\n width: 100%;\n gap: ").concat(dt("datatable.filter.inline.gap"), ";\n}\n\n.p-datatable-inline-filter .p-datatable-filter-element-container {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-datatable-filter-overlay {\n background: ").concat(dt("datatable.filter.overlay.select.background"), ";\n color: ").concat(dt("datatable.filter.overlay.select.color"), ";\n border: 1px solid ").concat(dt("datatable.filter.overlay.select.border.color"), ";\n border-radius: ").concat(dt("datatable.filter.overlay.select.border.radius"), ";\n box-shadow: ").concat(dt("datatable.filter.overlay.select.shadow"), ";\n min-width: 12.5rem;\n}\n\n.p-datatable-filter-constraint-list {\n margin: 0;\n list-style: none;\n display: flex;\n flex-direction: column;\n padding: ").concat(dt("datatable.filter.constraint.list.padding"), ";\n gap: ").concat(dt("datatable.filter.constraint.list.gap"), ";\n}\n\n.p-datatable-filter-constraint {\n padding: ").concat(dt("datatable.filter.constraint.padding"), ";\n color: ").concat(dt("datatable.filter.constraint.color"), ";\n border-radius: ").concat(dt("datatable.filter.constraint.border.radius"), ";\n cursor: pointer;\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n box-shadow ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-filter-constraint-selected {\n background: ").concat(dt("datatable.filter.constraint.selected.background"), ";\n color: ").concat(dt("datatable.filter.constraint.selected.color"), ";\n}\n\n.p-datatable-filter-constraint:not(.p-datatable-filter-constraint-selected):not(.p-disabled):hover {\n background: ").concat(dt("datatable.filter.constraint.focus.background"), ";\n color: ").concat(dt("datatable.filter.constraint.focus.color"), ";\n}\n\n.p-datatable-filter-constraint:focus-visible {\n outline: 0 none;\n background: ").concat(dt("datatable.filter.constraint.focus.background"), ";\n color: ").concat(dt("datatable.filter.constraint.focus.color"), ";\n}\n\n.p-datatable-filter-constraint-selected:focus-visible {\n outline: 0 none;\n background: ").concat(dt("datatable.filter.constraint.selected.focus.background"), ";\n color: ").concat(dt("datatable.filter.constraint.selected.focus.color"), ";\n}\n\n.p-datatable-filter-constraint-separator {\n border-top: 1px solid ").concat(dt("datatable.filter.constraint.separator.border.color"), ";\n}\n\n.p-datatable-popover-filter {\n display: inline-flex;\n margin-left: auto;\n}\n\n.p-datatable-filter-overlay-popover {\n background: ").concat(dt("datatable.filter.overlay.popover.background"), ";\n color: ").concat(dt("datatable.filter.overlay.popover.color"), ";\n border: 1px solid ").concat(dt("datatable.filter.overlay.popover.border.color"), ";\n border-radius: ").concat(dt("datatable.filter.overlay.popover.border.radius"), ";\n box-shadow: ").concat(dt("datatable.filter.overlay.popover.shadow"), ";\n min-width: 12.5rem;\n padding: ").concat(dt("datatable.filter.overlay.popover.padding"), ";\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("datatable.filter.overlay.popover.gap"), ";\n}\n\n.p-datatable-filter-operator-dropdown {\n width: 100%;\n}\n\n.p-datatable-filter-rule-list,\n.p-datatable-filter-rule {\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("datatable.filter.overlay.popover.gap"), ";\n}\n\n.p-datatable-filter-rule {\n border-bottom: 1px solid ").concat(dt("datatable.filter.rule.border.color"), ";\n}\n\n.p-datatable-filter-rule:last-child {\n border-bottom: 0 none;\n}\n\n.p-datatable-filter-add-rule-button {\n width: 100%;\n}\n\n.p-datatable-filter-remove-button {\n width: 100%;\n}\n\n.p-datatable-filter-buttonbar {\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.p-datatable-virtualscroller-spacer {\n display: flex;\n}\n\n.p-datatable .p-virtualscroller .p-virtualscroller-loading {\n transform: none !important;\n min-height: 0;\n position: sticky;\n top: 0;\n left: 0;\n}\n\n.p-datatable-paginator-top {\n border-color: ").concat(dt("datatable.paginator.top.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.paginator.top.border.width"), ";\n}\n\n.p-datatable-paginator-bottom {\n border-color: ").concat(dt("datatable.paginator.bottom.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.paginator.bottom.border.width"), ";\n}\n\n.p-datatable-header {\n background: ").concat(dt("datatable.header.background"), ";\n color: ").concat(dt("datatable.header.color"), ";\n border-color: ").concat(dt("datatable.header.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.header.border.width"), ";\n padding: ").concat(dt("datatable.header.padding"), ";\n}\n\n.p-datatable-footer {\n background: ").concat(dt("datatable.footer.background"), ";\n color: ").concat(dt("datatable.footer.color"), ";\n border-color: ").concat(dt("datatable.footer.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.footer.border.width"), ";\n padding: ").concat(dt("datatable.footer.padding"), ";\n}\n\n.p-datatable-header-cell {\n padding: ").concat(dt("datatable.header.cell.padding"), ";\n background: ").concat(dt("datatable.header.cell.background"), ";\n border-color: ").concat(dt("datatable.header.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ").concat(dt("datatable.header.cell.color"), ";\n font-weight: normal;\n text-align: left;\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n outline-color ").concat(dt("datatable.transition.duration"), ", box-shadow ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-column-title {\n font-weight: ").concat(dt("datatable.column.title.font.weight"), ";\n}\n\n.p-datatable-tbody > tr {\n outline-color: transparent;\n background: ").concat(dt("datatable.row.background"), ";\n color: ").concat(dt("datatable.row.color"), ";\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n outline-color ").concat(dt("datatable.transition.duration"), ", box-shadow ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-tbody > tr > td {\n text-align: left;\n border-color: ").concat(dt("datatable.body.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n padding: ").concat(dt("datatable.body.cell.padding"), ";\n}\n\n.p-datatable-hoverable .p-datatable-tbody > tr:not(.p-datatable-row-selected):hover {\n background: ").concat(dt("datatable.row.hover.background"), ";\n color: ").concat(dt("datatable.row.hover.color"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-row-selected {\n background: ").concat(dt("datatable.row.selected.background"), ";\n color: ").concat(dt("datatable.row.selected.color"), ";\n}\n\n.p-datatable-tbody > tr:has(+ .p-datatable-row-selected) > td {\n border-bottom-color: ").concat(dt("datatable.body.cell.selected.border.color"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-row-selected > td {\n border-bottom-color: ").concat(dt("datatable.body.cell.selected.border.color"), ";\n}\n\n.p-datatable-tbody > tr:focus-visible,\n.p-datatable-tbody > tr.p-datatable-contextmenu-row-selected {\n box-shadow: ").concat(dt("datatable.body.cell.focus.ring.shadow"), ";\n outline: ").concat(dt("datatable.body.cell.focus.ring.width"), " ").concat(dt("datatable.body.cell.focus.ring.style"), " ").concat(dt("datatable.body.cell.focus.ring.color"), ";\n outline-offset: ").concat(dt("datatable.body.cell.focus.ring.offset"), ";\n}\n\n.p-datatable-tfoot > tr > td {\n text-align: left;\n padding: ").concat(dt("datatable.footer.cell.padding"), ";\n border-color: ").concat(dt("datatable.footer.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ").concat(dt("datatable.footer.cell.color"), ";\n background: ").concat(dt("datatable.footer.cell.background"), ";\n}\n\n.p-datatable-column-footer {\n font-weight: ").concat(dt("datatable.column.footer.font.weight"), ";\n}\n\n.p-datatable-sortable-column {\n cursor: pointer;\n user-select: none;\n outline-color: transparent;\n}\n\n.p-datatable-column-title,\n.p-datatable-sort-icon,\n.p-datatable-sort-badge {\n vertical-align: middle;\n}\n\n.p-datatable-sort-icon {\n color: ").concat(dt("datatable.sort.icon.color"), ";\n transition: color ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-sortable-column:not(.p-datatable-column-sorted):hover {\n background: ").concat(dt("datatable.header.cell.hover.background"), ";\n color: ").concat(dt("datatable.header.cell.hover.color"), ";\n}\n\n.p-datatable-sortable-column:not(.p-datatable-column-sorted):hover .p-datatable-sort-icon {\n color: ").concat(dt("datatable.sort.icon.hover.color"), ";\n}\n\n.p-datatable-column-sorted {\n background: ").concat(dt("datatable.header.cell.selected.background"), ";\n color: ").concat(dt("datatable.header.cell.selected.color"), ";\n}\n\n.p-datatable-column-sorted .p-datatable-sort-icon {\n color: ").concat(dt("datatable.header.cell.selected.color"), ";\n}\n\n.p-datatable-sortable-column:focus-visible {\n box-shadow: ").concat(dt("datatable.header.cell.focus.ring.shadow"), ";\n outline: ").concat(dt("datatable.header.cell.focus.ring.width"), " ").concat(dt("datatable.header.cell.focus.ring.style"), " ").concat(dt("datatable.header.cell.focus.ring.color"), ";\n outline-offset: ").concat(dt("datatable.header.cell.focus.ring.offset"), ";\n}\n\n.p-datatable-hoverable .p-datatable-selectable-row {\n cursor: pointer;\n}\n\n.p-datatable-tbody > tr.p-datatable-dragpoint-top > td {\n box-shadow: inset 0 2px 0 0 ").concat(dt("datatable.drop.point.color"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {\n box-shadow: inset 0 -2px 0 0 ").concat(dt("datatable.drop.point.color"), ";\n}\n\n.p-datatable-loading-icon {\n font-size: ").concat(dt("datatable.loading.icon.size"), ";\n width: ").concat(dt("datatable.loading.icon.size"), ";\n height: ").concat(dt("datatable.loading.icon.size"), ";\n}\n\n.p-datatable-gridlines .p-datatable-header {\n border-width: 1px 1px 0 1px;\n}\n\n.p-datatable-gridlines .p-datatable-footer {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-paginator-top {\n border-width: 1px 1px 0 1px;\n}\n\n.p-datatable-gridlines .p-datatable-paginator-bottom {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-thead > tr > th {\n border-width: 1px 0 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-thead > tr > th:last-child {\n border-width: 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tbody > tr > td {\n border-width: 1px 0 0 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {\n border-width: 1px 1px 0 1px;\n}\n\np-datatable-gridlines .p-datatable-tbody > tr:last-child > td {\n border-width: 1px 0 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child {\n border-width: 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tfoot > tr > td {\n border-width: 1px 0 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child {\n border-width: 1px 1px 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td {\n border-width: 0 0 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td {\n border-width: 0 0 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td {\n border-width: 0 0 0 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child {\n border-width: 0 1px 0 1px;\n}\n\n.p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd {\n background: ").concat(dt("datatable.row.striped.background"), ";\n}\n\n.p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-datatable-row-selected {\n background: ").concat(dt("datatable.row.selected.background"), ";\n color: ").concat(dt("datatable.row.selected.color"), ";\n}\n\n.p-datatable.p-datatable-sm .p-datatable-header {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-thead > tr > th {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-tbody > tr > td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-footer {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-header {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-thead > tr > th {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-tbody>tr>td {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-tfoot>tr>td {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-footer {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-datatable-row-toggle-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("datatable.row.toggle.button.size"), ";\n height: ").concat(dt("datatable.row.toggle.button.size"), ";\n color: ").concat(dt("datatable.row.toggle.button.color"), ";\n border: 0 none;\n background: transparent;\n cursor: pointer;\n border-radius: ").concat(dt("datatable.row.toggle.button.border.radius"), ";\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n outline-color ").concat(dt("datatable.transition.duration"), ", box-shadow ").concat(dt("datatable.transition.duration"), ";\n outline-color: transparent;\n user-select: none;\n}\n\n.p-datatable-row-toggle-button:enabled:hover {\n color: ").concat(dt("datatable.row.toggle.button.hover.color"), ";\n background: ").concat(dt("datatable.row.toggle.button.hover.background"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-row-selected .p-datatable-row-toggle-button:hover {\n background: ").concat(dt("datatable.row.toggle.button.selected.hover.background"), ";\n ").concat(dt("datatable.row.toggle.button.selected.hover.color"), ";\n}\n\n.p-datatable-row-toggle-button:focus-visible {\n box-shadow: ").concat(dt("datatable.row.toggle.button.focus.ring.shadow"), ";\n outline: ").concat(dt("datatable.row.toggle.button.focus.ring.width"), " ").concat(dt("datatable.row.toggle.button.focus.ring.style"), " ").concat(dt("datatable.row.toggle.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("datatable.row.toggle.button.focus.ring.offset"), ";\n}\n"); + return "\n.p-datatable {\n position: relative;\n}\n\n.p-datatable-table {\n border-spacing: 0;\n border-collapse: separate;\n width: 100%;\n}\n\n.p-datatable-scrollable > .p-datatable-table-container {\n position: relative;\n}\n\n.p-datatable-scrollable-table > .p-datatable-thead {\n inset-block-start: 0;\n z-index: 1;\n}\n\n.p-datatable-scrollable-table > .p-datatable-frozen-tbody {\n position: sticky;\n z-index: 1;\n}\n\n.p-datatable-scrollable-table > .p-datatable-tfoot {\n inset-block-end: 0;\n z-index: 1;\n}\n\n.p-datatable-scrollable .p-datatable-frozen-column {\n position: sticky;\n background: ".concat(dt("datatable.header.cell.background"), ";\n}\n\n.p-datatable-scrollable th.p-datatable-frozen-column {\n z-index: 1;\n}\n\n.p-datatable-scrollable > .p-datatable-table-container > .p-datatable-table > .p-datatable-thead,\n.p-datatable-scrollable > .p-datatable-table-container > .p-virtualscroller > .p-datatable-table > .p-datatable-thead {\n background: ").concat(dt("datatable.header.cell.background"), ";\n}\n\n.p-datatable-scrollable > .p-datatable-table-container > .p-datatable-table > .p-datatable-tfoot,\n.p-datatable-scrollable > .p-datatable-table-container > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot {\n background: ").concat(dt("datatable.footer.cell.background"), ";\n}\n\n.p-datatable-flex-scrollable {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.p-datatable-flex-scrollable > .p-datatable-table-container {\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n}\n\n.p-datatable-scrollable-table > .p-datatable-tbody > .p-datatable-row-group-header {\n position: sticky;\n z-index: 1;\n}\n\n.p-datatable-resizable-table > .p-datatable-thead > tr > th,\n.p-datatable-resizable-table > .p-datatable-tfoot > tr > td,\n.p-datatable-resizable-table > .p-datatable-tbody > tr > td {\n overflow: hidden;\n white-space: nowrap;\n}\n\n.p-datatable-resizable-table > .p-datatable-thead > tr > th.p-datatable-resizable-column:not(.p-datatable-frozen-column) {\n background-clip: padding-box;\n position: relative;\n}\n\n.p-datatable-resizable-table-fit > .p-datatable-thead > tr > th.p-datatable-resizable-column:last-child .p-datatable-column-resizer {\n display: none;\n}\n\n.p-datatable-column-resizer {\n display: block;\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n margin: 0;\n width: ").concat(dt("datatable.column.resizer.width"), ";\n height: 100%;\n padding: 0;\n cursor: col-resize;\n border: 1px solid transparent;\n}\n\n.p-datatable-column-header-content {\n display: flex;\n align-items: center;\n gap: ").concat(dt("datatable.header.cell.gap"), ";\n}\n\n.p-datatable-column-resize-indicator {\n width: ").concat(dt("datatable.resize.indicator.width"), ";\n position: absolute;\n z-index: 10;\n display: none;\n background: ").concat(dt("datatable.resize.indicator.color"), ";\n}\n\n.p-datatable-row-reorder-indicator-up,\n.p-datatable-row-reorder-indicator-down {\n position: absolute;\n display: none;\n}\n\n.p-datatable-reorderable-column,\n.p-datatable-reorderable-row-handle {\n cursor: move;\n}\n\n.p-datatable-mask {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n}\n\n.p-datatable-inline-filter {\n display: flex;\n align-items: center;\n width: 100%;\n gap: ").concat(dt("datatable.filter.inline.gap"), ";\n}\n\n.p-datatable-inline-filter .p-datatable-filter-element-container {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-datatable-filter-overlay {\n background: ").concat(dt("datatable.filter.overlay.select.background"), ";\n color: ").concat(dt("datatable.filter.overlay.select.color"), ";\n border: 1px solid ").concat(dt("datatable.filter.overlay.select.border.color"), ";\n border-radius: ").concat(dt("datatable.filter.overlay.select.border.radius"), ";\n box-shadow: ").concat(dt("datatable.filter.overlay.select.shadow"), ";\n min-width: 12.5rem;\n}\n\n.p-datatable-filter-constraint-list {\n margin: 0;\n list-style: none;\n display: flex;\n flex-direction: column;\n padding: ").concat(dt("datatable.filter.constraint.list.padding"), ";\n gap: ").concat(dt("datatable.filter.constraint.list.gap"), ";\n}\n\n.p-datatable-filter-constraint {\n padding: ").concat(dt("datatable.filter.constraint.padding"), ";\n color: ").concat(dt("datatable.filter.constraint.color"), ";\n border-radius: ").concat(dt("datatable.filter.constraint.border.radius"), ";\n cursor: pointer;\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n box-shadow ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-filter-constraint-selected {\n background: ").concat(dt("datatable.filter.constraint.selected.background"), ";\n color: ").concat(dt("datatable.filter.constraint.selected.color"), ";\n}\n\n.p-datatable-filter-constraint:not(.p-datatable-filter-constraint-selected):not(.p-disabled):hover {\n background: ").concat(dt("datatable.filter.constraint.focus.background"), ";\n color: ").concat(dt("datatable.filter.constraint.focus.color"), ";\n}\n\n.p-datatable-filter-constraint:focus-visible {\n outline: 0 none;\n background: ").concat(dt("datatable.filter.constraint.focus.background"), ";\n color: ").concat(dt("datatable.filter.constraint.focus.color"), ";\n}\n\n.p-datatable-filter-constraint-selected:focus-visible {\n outline: 0 none;\n background: ").concat(dt("datatable.filter.constraint.selected.focus.background"), ";\n color: ").concat(dt("datatable.filter.constraint.selected.focus.color"), ";\n}\n\n.p-datatable-filter-constraint-separator {\n border-block-start: 1px solid ").concat(dt("datatable.filter.constraint.separator.border.color"), ";\n}\n\n.p-datatable-popover-filter {\n display: inline-flex;\n margin-inline-start: auto;\n}\n\n.p-datatable-filter-overlay-popover {\n background: ").concat(dt("datatable.filter.overlay.popover.background"), ";\n color: ").concat(dt("datatable.filter.overlay.popover.color"), ";\n border: 1px solid ").concat(dt("datatable.filter.overlay.popover.border.color"), ";\n border-radius: ").concat(dt("datatable.filter.overlay.popover.border.radius"), ";\n box-shadow: ").concat(dt("datatable.filter.overlay.popover.shadow"), ";\n min-width: 12.5rem;\n padding: ").concat(dt("datatable.filter.overlay.popover.padding"), ";\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("datatable.filter.overlay.popover.gap"), ";\n}\n\n.p-datatable-filter-operator-dropdown {\n width: 100%;\n}\n\n.p-datatable-filter-rule-list,\n.p-datatable-filter-rule {\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("datatable.filter.overlay.popover.gap"), ";\n}\n\n.p-datatable-filter-rule {\n border-block-end: 1px solid ").concat(dt("datatable.filter.rule.border.color"), ";\n padding-bottom: ").concat(dt("datatable.filter.overlay.popover.gap"), ";\n}\n\n.p-datatable-filter-rule:last-child {\n border-block-end: 0 none;\n padding-bottom: 0;\n}\n\n.p-datatable-filter-add-rule-button {\n width: 100%;\n}\n\n.p-datatable-filter-remove-rule-button {\n width: 100%;\n}\n\n.p-datatable-filter-buttonbar {\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.p-datatable-virtualscroller-spacer {\n display: flex;\n}\n\n.p-datatable .p-virtualscroller .p-virtualscroller-loading {\n transform: none !important;\n min-height: 0;\n position: sticky;\n inset-block-start: 0;\n inset-inline-start: 0;\n}\n\n.p-datatable-paginator-top {\n border-color: ").concat(dt("datatable.paginator.top.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.paginator.top.border.width"), ";\n}\n\n.p-datatable-paginator-bottom {\n border-color: ").concat(dt("datatable.paginator.bottom.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.paginator.bottom.border.width"), ";\n}\n\n.p-datatable-header {\n background: ").concat(dt("datatable.header.background"), ";\n color: ").concat(dt("datatable.header.color"), ";\n border-color: ").concat(dt("datatable.header.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.header.border.width"), ";\n padding: ").concat(dt("datatable.header.padding"), ";\n}\n\n.p-datatable-footer {\n background: ").concat(dt("datatable.footer.background"), ";\n color: ").concat(dt("datatable.footer.color"), ";\n border-color: ").concat(dt("datatable.footer.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("datatable.footer.border.width"), ";\n padding: ").concat(dt("datatable.footer.padding"), ";\n}\n\n.p-datatable-header-cell {\n padding: ").concat(dt("datatable.header.cell.padding"), ";\n background: ").concat(dt("datatable.header.cell.background"), ";\n border-color: ").concat(dt("datatable.header.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ").concat(dt("datatable.header.cell.color"), ";\n font-weight: normal;\n text-align: start;\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n outline-color ").concat(dt("datatable.transition.duration"), ", box-shadow ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-column-title {\n font-weight: ").concat(dt("datatable.column.title.font.weight"), ";\n}\n\n.p-datatable-tbody > tr {\n outline-color: transparent;\n background: ").concat(dt("datatable.row.background"), ";\n color: ").concat(dt("datatable.row.color"), ";\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n outline-color ").concat(dt("datatable.transition.duration"), ", box-shadow ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-tbody > tr > td {\n text-align: start;\n border-color: ").concat(dt("datatable.body.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n padding: ").concat(dt("datatable.body.cell.padding"), ";\n}\n\n.p-datatable-hoverable .p-datatable-tbody > tr:not(.p-datatable-row-selected):hover {\n background: ").concat(dt("datatable.row.hover.background"), ";\n color: ").concat(dt("datatable.row.hover.color"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-row-selected {\n background: ").concat(dt("datatable.row.selected.background"), ";\n color: ").concat(dt("datatable.row.selected.color"), ";\n}\n\n.p-datatable-tbody > tr:has(+ .p-datatable-row-selected) > td {\n border-block-end-color: ").concat(dt("datatable.body.cell.selected.border.color"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-row-selected > td {\n border-block-end-color: ").concat(dt("datatable.body.cell.selected.border.color"), ";\n}\n\n.p-datatable-tbody > tr:focus-visible,\n.p-datatable-tbody > tr.p-datatable-contextmenu-row-selected {\n box-shadow: ").concat(dt("datatable.row.focus.ring.shadow"), ";\n outline: ").concat(dt("datatable.row.focus.ring.width"), " ").concat(dt("datatable.row.focus.ring.style"), " ").concat(dt("datatable.row.focus.ring.color"), ";\n outline-offset: ").concat(dt("datatable.row.focus.ring.offset"), ";\n}\n\n.p-datatable-tfoot > tr > td {\n text-align: start;\n padding: ").concat(dt("datatable.footer.cell.padding"), ";\n border-color: ").concat(dt("datatable.footer.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ").concat(dt("datatable.footer.cell.color"), ";\n background: ").concat(dt("datatable.footer.cell.background"), ";\n}\n\n.p-datatable-column-footer {\n font-weight: ").concat(dt("datatable.column.footer.font.weight"), ";\n}\n\n.p-datatable-sortable-column {\n cursor: pointer;\n user-select: none;\n outline-color: transparent;\n}\n\n.p-datatable-column-title,\n.p-datatable-sort-icon,\n.p-datatable-sort-badge {\n vertical-align: middle;\n}\n\n.p-datatable-sort-icon {\n color: ").concat(dt("datatable.sort.icon.color"), ";\n font-size: ").concat(dt("datatable.sort.icon.size"), ";\n width: ").concat(dt("datatable.sort.icon.size"), ";\n height: ").concat(dt("datatable.sort.icon.size"), ";\n transition: color ").concat(dt("datatable.transition.duration"), ";\n}\n\n.p-datatable-sortable-column:not(.p-datatable-column-sorted):hover {\n background: ").concat(dt("datatable.header.cell.hover.background"), ";\n color: ").concat(dt("datatable.header.cell.hover.color"), ";\n}\n\n.p-datatable-sortable-column:not(.p-datatable-column-sorted):hover .p-datatable-sort-icon {\n color: ").concat(dt("datatable.sort.icon.hover.color"), ";\n}\n\n.p-datatable-column-sorted {\n background: ").concat(dt("datatable.header.cell.selected.background"), ";\n color: ").concat(dt("datatable.header.cell.selected.color"), ";\n}\n\n.p-datatable-column-sorted .p-datatable-sort-icon {\n color: ").concat(dt("datatable.header.cell.selected.color"), ";\n}\n\n.p-datatable-sortable-column:focus-visible {\n box-shadow: ").concat(dt("datatable.header.cell.focus.ring.shadow"), ";\n outline: ").concat(dt("datatable.header.cell.focus.ring.width"), " ").concat(dt("datatable.header.cell.focus.ring.style"), " ").concat(dt("datatable.header.cell.focus.ring.color"), ";\n outline-offset: ").concat(dt("datatable.header.cell.focus.ring.offset"), ";\n}\n\n.p-datatable-hoverable .p-datatable-selectable-row {\n cursor: pointer;\n}\n\n.p-datatable-tbody > tr.p-datatable-dragpoint-top > td {\n box-shadow: inset 0 2px 0 0 ").concat(dt("datatable.drop.point.color"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {\n box-shadow: inset 0 -2px 0 0 ").concat(dt("datatable.drop.point.color"), ";\n}\n\n.p-datatable-loading-icon {\n font-size: ").concat(dt("datatable.loading.icon.size"), ";\n width: ").concat(dt("datatable.loading.icon.size"), ";\n height: ").concat(dt("datatable.loading.icon.size"), ";\n}\n\n.p-datatable-gridlines .p-datatable-header {\n border-width: 1px 1px 0 1px;\n}\n\n.p-datatable-gridlines .p-datatable-footer {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-paginator-top {\n border-width: 1px 1px 0 1px;\n}\n\n.p-datatable-gridlines .p-datatable-paginator-bottom {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-thead > tr > th {\n border-width: 1px 0 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-thead > tr > th:last-child {\n border-width: 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tbody > tr > td {\n border-width: 1px 0 0 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {\n border-width: 1px 1px 0 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td {\n border-width: 1px 0 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child {\n border-width: 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tfoot > tr > td {\n border-width: 1px 0 1px 1px;\n}\n\n.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child {\n border-width: 1px 1px 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td {\n border-width: 0 0 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td {\n border-width: 0 0 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child {\n border-width: 0 1px 1px 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td {\n border-width: 0 0 0 1px;\n}\n\n.p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child {\n border-width: 0 1px 0 1px;\n}\n\n.p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd {\n background: ").concat(dt("datatable.row.striped.background"), ";\n}\n\n.p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-datatable-row-selected {\n background: ").concat(dt("datatable.row.selected.background"), ";\n color: ").concat(dt("datatable.row.selected.color"), ";\n}\n\n.p-datatable-striped.p-datatable-hoverable .p-datatable-tbody > tr:not(.p-datatable-row-selected):hover {\n background: ").concat(dt("datatable.row.hover.background"), ";\n color: ").concat(dt("datatable.row.hover.color"), ";\n}\n\n.p-datatable.p-datatable-sm .p-datatable-header {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-thead > tr > th {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-tbody > tr > td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-sm .p-datatable-footer {\n padding: 0.375rem 0.5rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-header {\n padding: 1rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-thead > tr > th {\n padding: 1rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-tbody > tr > td {\n padding: 1rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td {\n padding: 1rem 1.25rem;\n}\n\n.p-datatable.p-datatable-lg .p-datatable-footer {\n padding: 1rem 1.25rem;\n}\n\n.p-datatable-row-toggle-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("datatable.row.toggle.button.size"), ";\n height: ").concat(dt("datatable.row.toggle.button.size"), ";\n color: ").concat(dt("datatable.row.toggle.button.color"), ";\n border: 0 none;\n background: transparent;\n cursor: pointer;\n border-radius: ").concat(dt("datatable.row.toggle.button.border.radius"), ";\n transition: background ").concat(dt("datatable.transition.duration"), ", color ").concat(dt("datatable.transition.duration"), ", border-color ").concat(dt("datatable.transition.duration"), ",\n outline-color ").concat(dt("datatable.transition.duration"), ", box-shadow ").concat(dt("datatable.transition.duration"), ";\n outline-color: transparent;\n user-select: none;\n}\n\n.p-datatable-row-toggle-button:enabled:hover {\n color: ").concat(dt("datatable.row.toggle.button.hover.color"), ";\n background: ").concat(dt("datatable.row.toggle.button.hover.background"), ";\n}\n\n.p-datatable-tbody > tr.p-datatable-row-selected .p-datatable-row-toggle-button:hover {\n background: ").concat(dt("datatable.row.toggle.button.selected.hover.background"), ";\n color: ").concat(dt("datatable.row.toggle.button.selected.hover.color"), ";\n}\n\n.p-datatable-row-toggle-button:focus-visible {\n box-shadow: ").concat(dt("datatable.row.toggle.button.focus.ring.shadow"), ";\n outline: ").concat(dt("datatable.row.toggle.button.focus.ring.width"), " ").concat(dt("datatable.row.toggle.button.focus.ring.style"), " ").concat(dt("datatable.row.toggle.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("datatable.row.toggle.button.focus.ring.offset"), ";\n}\n\n.p-datatable-row-toggle-icon:dir(rtl) {\n transform: rotate(180deg);\n}\n"); }, "theme"); var classes$1 = { root: /* @__PURE__ */ __name(function root(_ref2) { @@ -1465,11 +1445,6 @@ var script$k = { name: "PencilIcon", "extends": script$t }; -var _hoisted_1$c = /* @__PURE__ */ createBaseVNode("path", { - d: "M0.609628 13.959C0.530658 13.9599 0.452305 13.9451 0.379077 13.9156C0.305849 13.8861 0.239191 13.8424 0.18294 13.787C0.118447 13.7234 0.0688234 13.6464 0.0376166 13.5614C0.00640987 13.4765 -0.00560954 13.3857 0.00241768 13.2956L0.25679 10.1501C0.267698 10.0041 0.331934 9.86709 0.437312 9.76516L9.51265 0.705715C10.0183 0.233014 10.6911 -0.0203041 11.3835 0.00127367C12.0714 0.00660201 12.7315 0.27311 13.2298 0.746671C13.7076 1.23651 13.9824 1.88848 13.9992 2.57201C14.0159 3.25554 13.7733 3.92015 13.32 4.4327L4.23648 13.5331C4.13482 13.6342 4.0017 13.6978 3.85903 13.7133L0.667067 14L0.609628 13.959ZM1.43018 10.4696L1.25787 12.714L3.50619 12.5092L12.4502 3.56444C12.6246 3.35841 12.7361 3.10674 12.7714 2.83933C12.8067 2.57193 12.7644 2.30002 12.6495 2.05591C12.5346 1.8118 12.3519 1.60575 12.1231 1.46224C11.8943 1.31873 11.6291 1.2438 11.3589 1.24633C11.1813 1.23508 11.0033 1.25975 10.8355 1.31887C10.6677 1.37798 10.5136 1.47033 10.3824 1.59036L1.43018 10.4696Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$a = [_hoisted_1$c]; function render$j(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -1477,13 +1452,16 @@ function render$j(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$a, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + d: "M0.609628 13.959C0.530658 13.9599 0.452305 13.9451 0.379077 13.9156C0.305849 13.8861 0.239191 13.8424 0.18294 13.787C0.118447 13.7234 0.0688234 13.6464 0.0376166 13.5614C0.00640987 13.4765 -0.00560954 13.3857 0.00241768 13.2956L0.25679 10.1501C0.267698 10.0041 0.331934 9.86709 0.437312 9.76516L9.51265 0.705715C10.0183 0.233014 10.6911 -0.0203041 11.3835 0.00127367C12.0714 0.00660201 12.7315 0.27311 13.2298 0.746671C13.7076 1.23651 13.9824 1.88848 13.9992 2.57201C14.0159 3.25554 13.7733 3.92015 13.32 4.4327L4.23648 13.5331C4.13482 13.6342 4.0017 13.6978 3.85903 13.7133L0.667067 14L0.609628 13.959ZM1.43018 10.4696L1.25787 12.714L3.50619 12.5092L12.4502 3.56444C12.6246 3.35841 12.7361 3.10674 12.7714 2.83933C12.8067 2.57193 12.7644 2.30002 12.6495 2.05591C12.5346 1.8118 12.3519 1.60575 12.1231 1.46224C11.8943 1.31873 11.6291 1.2438 11.3589 1.24633C11.1813 1.23508 11.0033 1.25975 10.8355 1.31887C10.6677 1.37798 10.5136 1.47033 10.3824 1.59036L1.43018 10.4696Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$j, "render$j"); script$k.render = render$j; var theme3 = /* @__PURE__ */ __name(function theme4(_ref) { var dt = _ref.dt; - return "\n.p-radiobutton {\n position: relative;\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n width: ".concat(dt("radiobutton.width"), ";\n height: ").concat(dt("radiobutton.height"), ";\n}\n\n.p-radiobutton-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border: 1px solid transparent;\n border-radius: 50%;\n}\n\n.p-radiobutton-box {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n border: 1px solid ").concat(dt("radiobutton.border.color"), ";\n background: ").concat(dt("radiobutton.background"), ";\n width: ").concat(dt("radiobutton.width"), ";\n height: ").concat(dt("radiobutton.height"), ";\n transition: background ").concat(dt("radiobutton.transition.duration"), ", color ").concat(dt("radiobutton.transition.duration"), ", border-color ").concat(dt("radiobutton.transition.duration"), ", box-shadow ").concat(dt("radiobutton.transition.duration"), ", outline-color ").concat(dt("radiobutton.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("radiobutton.shadow"), ";\n}\n\n.p-radiobutton-icon {\n transition-duration: ").concat(dt("radiobutton.transition.duration"), ";\n background: transparent;\n font-size: ").concat(dt("radiobutton.icon.size"), ";\n width: ").concat(dt("radiobutton.icon.size"), ";\n height: ").concat(dt("radiobutton.icon.size"), ";\n border-radius: 50%;\n backface-visibility: hidden;\n transform: translateZ(0) scale(0.1);\n}\n\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.hover.border.color"), ";\n}\n\n.p-radiobutton-checked .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.checked.border.color"), ";\n background: ").concat(dt("radiobutton.checked.background"), ";\n}\n\n.p-radiobutton-checked .p-radiobutton-box .p-radiobutton-icon {\n background: ").concat(dt("radiobutton.icon.checked.color"), ";\n transform: translateZ(0) scale(1, 1);\n visibility: visible;\n}\n\n.p-radiobutton-checked:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.checked.hover.border.color"), ";\n background: ").concat(dt("radiobutton.checked.hover.background"), ";\n}\n\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-radiobutton-checked .p-radiobutton-box .p-radiobutton-icon {\n background: ").concat(dt("radiobutton.icon.checked.hover.color"), ";\n}\n\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.focus.border.color"), ";\n box-shadow: ").concat(dt("radiobutton.focus.ring.shadow"), ";\n outline: ").concat(dt("radiobutton.focus.ring.width"), " ").concat(dt("radiobutton.focus.ring.style"), " ").concat(dt("radiobutton.focus.ring.color"), ";\n outline-offset: ").concat(dt("radiobutton.focus.ring.offset"), ";\n}\n\n.p-radiobutton-checked:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.checked.focus.border.color"), ";\n}\n\n.p-radiobutton.p-invalid > .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.invalid.border.color"), ";\n}\n\n.p-radiobutton.p-variant-filled .p-radiobutton-box {\n background: ").concat(dt("radiobutton.filled.background"), ";\n}\n\n.p-radiobutton.p-variant-filled.p-radiobutton-checked .p-radiobutton-box {\n background: ").concat(dt("radiobutton.checked.background"), ";\n}\n\n.p-radiobutton.p-variant-filled:not(.p-disabled):has(.p-radiobutton-input:hover).p-radiobutton-checked .p-radiobutton-box {\n background: ").concat(dt("radiobutton.checked.hover.background"), ";\n}\n\n.p-radiobutton.p-disabled {\n opacity: 1;\n}\n\n.p-radiobutton.p-disabled .p-radiobutton-box {\n background: ").concat(dt("radiobutton.disabled.background"), ";\n border-color: ").concat(dt("radiobutton.checked.disabled.border.color"), ";\n}\n\n.p-radiobutton-checked.p-disabled .p-radiobutton-box .p-radiobutton-icon {\n background: ").concat(dt("radiobutton.icon.disabled.color"), ";\n}\n"); + return "\n.p-radiobutton {\n position: relative;\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n width: ".concat(dt("radiobutton.width"), ";\n height: ").concat(dt("radiobutton.height"), ";\n}\n\n.p-radiobutton-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border: 1px solid transparent;\n border-radius: 50%;\n}\n\n.p-radiobutton-box {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n border: 1px solid ").concat(dt("radiobutton.border.color"), ";\n background: ").concat(dt("radiobutton.background"), ";\n width: ").concat(dt("radiobutton.width"), ";\n height: ").concat(dt("radiobutton.height"), ";\n transition: background ").concat(dt("radiobutton.transition.duration"), ", color ").concat(dt("radiobutton.transition.duration"), ", border-color ").concat(dt("radiobutton.transition.duration"), ", box-shadow ").concat(dt("radiobutton.transition.duration"), ", outline-color ").concat(dt("radiobutton.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("radiobutton.shadow"), ";\n}\n\n.p-radiobutton-icon {\n transition-duration: ").concat(dt("radiobutton.transition.duration"), ";\n background: transparent;\n font-size: ").concat(dt("radiobutton.icon.size"), ";\n width: ").concat(dt("radiobutton.icon.size"), ";\n height: ").concat(dt("radiobutton.icon.size"), ";\n border-radius: 50%;\n backface-visibility: hidden;\n transform: translateZ(0) scale(0.1);\n}\n\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.hover.border.color"), ";\n}\n\n.p-radiobutton-checked .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.checked.border.color"), ";\n background: ").concat(dt("radiobutton.checked.background"), ";\n}\n\n.p-radiobutton-checked .p-radiobutton-box .p-radiobutton-icon {\n background: ").concat(dt("radiobutton.icon.checked.color"), ";\n transform: translateZ(0) scale(1, 1);\n visibility: visible;\n}\n\n.p-radiobutton-checked:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.checked.hover.border.color"), ";\n background: ").concat(dt("radiobutton.checked.hover.background"), ";\n}\n\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-radiobutton-checked .p-radiobutton-box .p-radiobutton-icon {\n background: ").concat(dt("radiobutton.icon.checked.hover.color"), ";\n}\n\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.focus.border.color"), ";\n box-shadow: ").concat(dt("radiobutton.focus.ring.shadow"), ";\n outline: ").concat(dt("radiobutton.focus.ring.width"), " ").concat(dt("radiobutton.focus.ring.style"), " ").concat(dt("radiobutton.focus.ring.color"), ";\n outline-offset: ").concat(dt("radiobutton.focus.ring.offset"), ";\n}\n\n.p-radiobutton-checked:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.checked.focus.border.color"), ";\n}\n\n.p-radiobutton.p-invalid > .p-radiobutton-box {\n border-color: ").concat(dt("radiobutton.invalid.border.color"), ";\n}\n\n.p-radiobutton.p-variant-filled .p-radiobutton-box {\n background: ").concat(dt("radiobutton.filled.background"), ";\n}\n\n.p-radiobutton.p-variant-filled.p-radiobutton-checked .p-radiobutton-box {\n background: ").concat(dt("radiobutton.checked.background"), ";\n}\n\n.p-radiobutton.p-variant-filled:not(.p-disabled):has(.p-radiobutton-input:hover).p-radiobutton-checked .p-radiobutton-box {\n background: ").concat(dt("radiobutton.checked.hover.background"), ";\n}\n\n.p-radiobutton.p-disabled {\n opacity: 1;\n}\n\n.p-radiobutton.p-disabled .p-radiobutton-box {\n background: ").concat(dt("radiobutton.disabled.background"), ";\n border-color: ").concat(dt("radiobutton.checked.disabled.border.color"), ";\n}\n\n.p-radiobutton-checked.p-disabled .p-radiobutton-box .p-radiobutton-icon {\n background: ").concat(dt("radiobutton.icon.disabled.color"), ";\n}\n\n.p-radiobutton-sm,\n.p-radiobutton-sm .p-radiobutton-box {\n width: ").concat(dt("radiobutton.sm.width"), ";\n height: ").concat(dt("radiobutton.sm.height"), ";\n}\n\n.p-radiobutton-sm .p-radiobutton-icon {\n font-size: ").concat(dt("radiobutton.icon.sm.size"), ";\n width: ").concat(dt("radiobutton.icon.sm.size"), ";\n height: ").concat(dt("radiobutton.icon.sm.size"), ";\n}\n\n.p-radiobutton-lg,\n.p-radiobutton-lg .p-radiobutton-box {\n width: ").concat(dt("radiobutton.lg.width"), ";\n height: ").concat(dt("radiobutton.lg.height"), ";\n}\n\n.p-radiobutton-lg .p-radiobutton-icon {\n font-size: ").concat(dt("radiobutton.icon.lg.size"), ";\n width: ").concat(dt("radiobutton.icon.lg.size"), ";\n height: ").concat(dt("radiobutton.icon.lg.size"), ";\n}\n"); }, "theme"); var classes = { root: /* @__PURE__ */ __name(function root2(_ref2) { @@ -1491,8 +1469,10 @@ var classes = { return ["p-radiobutton p-component", { "p-radiobutton-checked": instance.checked, "p-disabled": props.disabled, - "p-invalid": props.invalid, - "p-variant-filled": props.variant ? props.variant === "filled" : instance.$primevue.config.inputStyle === "filled" || instance.$primevue.config.inputVariant === "filled" + "p-invalid": instance.$pcRadioButtonGroup ? instance.$pcRadioButtonGroup.$invalid : instance.$invalid, + "p-variant-filled": instance.$variant === "filled", + "p-radiobutton-sm p-inputfield-sm": props.size === "small", + "p-radiobutton-lg p-inputfield-lg": props.size === "large" }]; }, "root"), box: "p-radiobutton-box", @@ -1506,27 +1486,10 @@ var RadioButtonStyle = BaseStyle.extend({ }); var script$1$1 = { name: "BaseRadioButton", - "extends": script$s, + "extends": script$x, props: { value: null, - modelValue: null, binary: Boolean, - name: { - type: String, - "default": null - }, - variant: { - type: String, - "default": null - }, - invalid: { - type: Boolean, - "default": false - }, - disabled: { - type: Boolean, - "default": false - }, readonly: { type: Boolean, "default": false @@ -1568,7 +1531,12 @@ var script$j = { name: "RadioButton", "extends": script$1$1, inheritAttrs: false, - emits: ["update:modelValue", "change", "focus", "blur"], + emits: ["change", "focus", "blur"], + inject: { + $pcRadioButtonGroup: { + "default": void 0 + } + }, methods: { getPTOptions: /* @__PURE__ */ __name(function getPTOptions6(key) { var _ptm = key === "root" ? this.ptmi : this.ptm; @@ -1582,7 +1550,7 @@ var script$j = { onChange: /* @__PURE__ */ __name(function onChange4(event2) { if (!this.disabled && !this.readonly) { var newModelValue = this.binary ? !this.checked : this.value; - this.$emit("update:modelValue", newModelValue); + this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.writeValue(newModelValue, event2) : this.writeValue(newModelValue, event2); this.$emit("change", event2); } }, "onChange"), @@ -1590,17 +1558,23 @@ var script$j = { this.$emit("focus", event2); }, "onFocus"), onBlur: /* @__PURE__ */ __name(function onBlur(event2) { + var _this$formField$onBlu, _this$formField; this.$emit("blur", event2); + (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField, event2); }, "onBlur") }, computed: { + groupName: /* @__PURE__ */ __name(function groupName() { + return this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.groupName : this.$formName; + }, "groupName"), checked: /* @__PURE__ */ __name(function checked() { - return this.modelValue != null && (this.binary ? !!this.modelValue : equals(this.modelValue, this.value)); + var value = this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.d_value : this.d_value; + return value != null && (this.binary ? !!value : equals(value, this.value)); }, "checked") } }; -var _hoisted_1$b = ["data-p-checked", "data-p-disabled"]; -var _hoisted_2$9 = ["id", "value", "name", "checked", "tabindex", "disabled", "readonly", "aria-labelledby", "aria-label", "aria-invalid"]; +var _hoisted_1$5 = ["data-p-checked", "data-p-disabled"]; +var _hoisted_2$3 = ["id", "value", "name", "checked", "tabindex", "disabled", "readonly", "aria-labelledby", "aria-label", "aria-invalid"]; function render$i(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", mergeProps({ "class": _ctx.cx("root") @@ -1613,7 +1587,7 @@ function render$i(_ctx, _cache, $props, $setup, $data, $options) { "class": [_ctx.cx("input"), _ctx.inputClass], style: _ctx.inputStyle, value: _ctx.value, - name: _ctx.name, + name: $options.groupName, checked: $options.checked, tabindex: _ctx.tabindex, disabled: _ctx.disabled, @@ -1630,11 +1604,11 @@ function render$i(_ctx, _cache, $props, $setup, $data, $options) { onChange: _cache[2] || (_cache[2] = function() { return $options.onChange && $options.onChange.apply($options, arguments); }) - }, $options.getPTOptions("input")), null, 16, _hoisted_2$9), createBaseVNode("div", mergeProps({ + }, $options.getPTOptions("input")), null, 16, _hoisted_2$3), createBaseVNode("div", mergeProps({ "class": _ctx.cx("box") }, $options.getPTOptions("box")), [createBaseVNode("div", mergeProps({ "class": _ctx.cx("icon") - }, $options.getPTOptions("icon")), null, 16)], 16)], 16, _hoisted_1$b); + }, $options.getPTOptions("icon")), null, 16)], 16)], 16, _hoisted_1$5); } __name(render$i, "render$i"); script$j.render = render$i; @@ -1642,11 +1616,6 @@ var script$i = { name: "FilterIcon", "extends": script$t }; -var _hoisted_1$a = /* @__PURE__ */ createBaseVNode("path", { - d: "M8.64708 14H5.35296C5.18981 13.9979 5.03395 13.9321 4.91858 13.8167C4.8032 13.7014 4.73745 13.5455 4.73531 13.3824V7L0.329431 0.98C0.259794 0.889466 0.217389 0.780968 0.20718 0.667208C0.19697 0.553448 0.219379 0.439133 0.271783 0.337647C0.324282 0.236453 0.403423 0.151519 0.500663 0.0920138C0.597903 0.0325088 0.709548 0.000692754 0.823548 0H13.1765C13.2905 0.000692754 13.4021 0.0325088 13.4994 0.0920138C13.5966 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7826 0.780968 13.7402 0.889466 13.6706 0.98L9.26472 7V13.3824C9.26259 13.5455 9.19683 13.7014 9.08146 13.8167C8.96609 13.9321 8.81022 13.9979 8.64708 14ZM5.97061 12.7647H8.02943V6.79412C8.02878 6.66289 8.07229 6.53527 8.15296 6.43177L11.9412 1.23529H2.05884L5.86355 6.43177C5.94422 6.53527 5.98773 6.66289 5.98708 6.79412L5.97061 12.7647Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$8 = [_hoisted_1$a]; function render$h(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -1654,7 +1623,10 @@ function render$h(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$8, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + d: "M8.64708 14H5.35296C5.18981 13.9979 5.03395 13.9321 4.91858 13.8167C4.8032 13.7014 4.73745 13.5455 4.73531 13.3824V7L0.329431 0.98C0.259794 0.889466 0.217389 0.780968 0.20718 0.667208C0.19697 0.553448 0.219379 0.439133 0.271783 0.337647C0.324282 0.236453 0.403423 0.151519 0.500663 0.0920138C0.597903 0.0325088 0.709548 0.000692754 0.823548 0H13.1765C13.2905 0.000692754 13.4021 0.0325088 13.4994 0.0920138C13.5966 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7826 0.780968 13.7402 0.889466 13.6706 0.98L9.26472 7V13.3824C9.26259 13.5455 9.19683 13.7014 9.08146 13.8167C8.96609 13.9321 8.81022 13.9979 8.64708 14ZM5.97061 12.7647H8.02943V6.79412C8.02878 6.66289 8.07229 6.53527 8.15296 6.43177L11.9412 1.23529H2.05884L5.86355 6.43177C5.94422 6.53527 5.98773 6.66289 5.98708 6.79412L5.97061 12.7647Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$h, "render$h"); script$i.render = render$h; @@ -1662,13 +1634,6 @@ var script$h = { name: "FilterSlashIcon", "extends": script$t }; -var _hoisted_1$9 = /* @__PURE__ */ createBaseVNode("path", { - "fill-rule": "evenodd", - "clip-rule": "evenodd", - d: "M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$7 = [_hoisted_1$9]; function render$g(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -1676,7 +1641,12 @@ function render$g(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$7, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M13.4994 0.0920138C13.5967 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7827 0.780968 13.7403 0.889466 13.6707 0.98L11.406 4.06823C11.3099 4.19928 11.1656 4.28679 11.005 4.3115C10.8444 4.33621 10.6805 4.2961 10.5495 4.2C10.4184 4.1039 10.3309 3.95967 10.3062 3.79905C10.2815 3.63843 10.3216 3.47458 10.4177 3.34353L11.9412 1.23529H7.41184C7.24803 1.23529 7.09093 1.17022 6.97509 1.05439C6.85926 0.938558 6.79419 0.781457 6.79419 0.617647C6.79419 0.453837 6.85926 0.296736 6.97509 0.180905C7.09093 0.0650733 7.24803 0 7.41184 0H13.1765C13.2905 0.000692754 13.4022 0.0325088 13.4994 0.0920138ZM4.20008 0.181168H4.24126L13.2013 9.03411C13.3169 9.14992 13.3819 9.3069 13.3819 9.47058C13.3819 9.63426 13.3169 9.79124 13.2013 9.90705C13.1445 9.96517 13.0766 10.0112 13.0016 10.0423C12.9266 10.0735 12.846 10.0891 12.7648 10.0882C12.6836 10.0886 12.6032 10.0728 12.5283 10.0417C12.4533 10.0106 12.3853 9.96479 12.3283 9.90705L9.3142 6.92587L9.26479 6.99999V13.3823C9.26265 13.5455 9.19689 13.7014 9.08152 13.8167C8.96615 13.9321 8.81029 13.9979 8.64714 14H5.35302C5.18987 13.9979 5.03401 13.9321 4.91864 13.8167C4.80327 13.7014 4.73751 13.5455 4.73537 13.3823V6.99999L0.329492 1.02117C0.259855 0.930634 0.21745 0.822137 0.207241 0.708376C0.197031 0.594616 0.21944 0.480301 0.271844 0.378815C0.324343 0.277621 0.403484 0.192687 0.500724 0.133182C0.597964 0.073677 0.709609 0.041861 0.823609 0.0411682H3.86243C3.92448 0.0461551 3.9855 0.060022 4.04361 0.0823446C4.10037 0.10735 4.15311 0.140655 4.20008 0.181168ZM8.02949 6.79411C8.02884 6.66289 8.07235 6.53526 8.15302 6.43176L8.42478 6.05293L3.55773 1.23529H2.0589L5.84714 6.43176C5.92781 6.53526 5.97132 6.66289 5.97067 6.79411V12.7647H8.02949V6.79411Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$g, "render$g"); script$h.render = render$g; @@ -1684,13 +1654,6 @@ var script$g = { name: "TrashIcon", "extends": script$t }; -var _hoisted_1$8 = /* @__PURE__ */ createBaseVNode("path", { - "fill-rule": "evenodd", - "clip-rule": "evenodd", - d: "M3.44802 13.9955H10.552C10.8056 14.0129 11.06 13.9797 11.3006 13.898C11.5412 13.8163 11.7632 13.6877 11.9537 13.5196C12.1442 13.3515 12.2995 13.1473 12.4104 12.9188C12.5213 12.6903 12.5858 12.442 12.6 12.1884V4.36041H13.4C13.5591 4.36041 13.7117 4.29722 13.8243 4.18476C13.9368 4.07229 14 3.91976 14 3.76071C14 3.60166 13.9368 3.44912 13.8243 3.33666C13.7117 3.22419 13.5591 3.16101 13.4 3.16101H12.0537C12.0203 3.1557 11.9863 3.15299 11.952 3.15299C11.9178 3.15299 11.8838 3.1557 11.8503 3.16101H11.2285C11.2421 3.10893 11.2487 3.05513 11.248 3.00106V1.80966C11.2171 1.30262 10.9871 0.828306 10.608 0.48989C10.229 0.151475 9.73159 -0.0236625 9.22402 0.00257442H4.77602C4.27251 -0.0171866 3.78126 0.160868 3.40746 0.498617C3.03365 0.836366 2.807 1.30697 2.77602 1.80966V3.00106C2.77602 3.0556 2.78346 3.10936 2.79776 3.16101H0.6C0.521207 3.16101 0.443185 3.17652 0.37039 3.20666C0.297595 3.2368 0.231451 3.28097 0.175736 3.33666C0.120021 3.39235 0.0758251 3.45846 0.0456722 3.53121C0.0155194 3.60397 0 3.68196 0 3.76071C0 3.83946 0.0155194 3.91744 0.0456722 3.9902C0.0758251 4.06296 0.120021 4.12907 0.175736 4.18476C0.231451 4.24045 0.297595 4.28462 0.37039 4.31476C0.443185 4.3449 0.521207 4.36041 0.6 4.36041H1.40002V12.1884C1.41426 12.442 1.47871 12.6903 1.58965 12.9188C1.7006 13.1473 1.85582 13.3515 2.04633 13.5196C2.23683 13.6877 2.45882 13.8163 2.69944 13.898C2.94005 13.9797 3.1945 14.0129 3.44802 13.9955ZM2.60002 4.36041H11.304V12.1884C11.304 12.5163 10.952 12.7961 10.504 12.7961H3.40002C2.97602 12.7961 2.60002 12.5163 2.60002 12.1884V4.36041ZM3.95429 3.16101C3.96859 3.10936 3.97602 3.0556 3.97602 3.00106V1.80966C3.97602 1.48183 4.33602 1.20197 4.77602 1.20197H9.24802C9.66403 1.20197 10.048 1.48183 10.048 1.80966V3.00106C10.0473 3.05515 10.054 3.10896 10.0678 3.16101H3.95429ZM5.57571 10.997C5.41731 10.995 5.26597 10.9311 5.15395 10.8191C5.04193 10.7071 4.97808 10.5558 4.97601 10.3973V6.77517C4.97601 6.61612 5.0392 6.46359 5.15166 6.35112C5.26413 6.23866 5.41666 6.17548 5.57571 6.17548C5.73476 6.17548 5.8873 6.23866 5.99976 6.35112C6.11223 6.46359 6.17541 6.61612 6.17541 6.77517V10.3894C6.17647 10.4688 6.16174 10.5476 6.13208 10.6213C6.10241 10.695 6.05841 10.762 6.00261 10.8186C5.94682 10.8751 5.88035 10.92 5.80707 10.9506C5.73378 10.9813 5.65514 10.9971 5.57571 10.997ZM7.99968 10.8214C8.11215 10.9339 8.26468 10.997 8.42373 10.997C8.58351 10.9949 8.73604 10.93 8.84828 10.8163C8.96052 10.7025 9.02345 10.5491 9.02343 10.3894V6.77517C9.02343 6.61612 8.96025 6.46359 8.84778 6.35112C8.73532 6.23866 8.58278 6.17548 8.42373 6.17548C8.26468 6.17548 8.11215 6.23866 7.99968 6.35112C7.88722 6.46359 7.82404 6.61612 7.82404 6.77517V10.3973C7.82404 10.5564 7.88722 10.7089 7.99968 10.8214Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$6 = [_hoisted_1$8]; function render$f(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -1698,7 +1661,12 @@ function render$f(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$6, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + d: "M3.44802 13.9955H10.552C10.8056 14.0129 11.06 13.9797 11.3006 13.898C11.5412 13.8163 11.7632 13.6877 11.9537 13.5196C12.1442 13.3515 12.2995 13.1473 12.4104 12.9188C12.5213 12.6903 12.5858 12.442 12.6 12.1884V4.36041H13.4C13.5591 4.36041 13.7117 4.29722 13.8243 4.18476C13.9368 4.07229 14 3.91976 14 3.76071C14 3.60166 13.9368 3.44912 13.8243 3.33666C13.7117 3.22419 13.5591 3.16101 13.4 3.16101H12.0537C12.0203 3.1557 11.9863 3.15299 11.952 3.15299C11.9178 3.15299 11.8838 3.1557 11.8503 3.16101H11.2285C11.2421 3.10893 11.2487 3.05513 11.248 3.00106V1.80966C11.2171 1.30262 10.9871 0.828306 10.608 0.48989C10.229 0.151475 9.73159 -0.0236625 9.22402 0.00257442H4.77602C4.27251 -0.0171866 3.78126 0.160868 3.40746 0.498617C3.03365 0.836366 2.807 1.30697 2.77602 1.80966V3.00106C2.77602 3.0556 2.78346 3.10936 2.79776 3.16101H0.6C0.521207 3.16101 0.443185 3.17652 0.37039 3.20666C0.297595 3.2368 0.231451 3.28097 0.175736 3.33666C0.120021 3.39235 0.0758251 3.45846 0.0456722 3.53121C0.0155194 3.60397 0 3.68196 0 3.76071C0 3.83946 0.0155194 3.91744 0.0456722 3.9902C0.0758251 4.06296 0.120021 4.12907 0.175736 4.18476C0.231451 4.24045 0.297595 4.28462 0.37039 4.31476C0.443185 4.3449 0.521207 4.36041 0.6 4.36041H1.40002V12.1884C1.41426 12.442 1.47871 12.6903 1.58965 12.9188C1.7006 13.1473 1.85582 13.3515 2.04633 13.5196C2.23683 13.6877 2.45882 13.8163 2.69944 13.898C2.94005 13.9797 3.1945 14.0129 3.44802 13.9955ZM2.60002 4.36041H11.304V12.1884C11.304 12.5163 10.952 12.7961 10.504 12.7961H3.40002C2.97602 12.7961 2.60002 12.5163 2.60002 12.1884V4.36041ZM3.95429 3.16101C3.96859 3.10936 3.97602 3.0556 3.97602 3.00106V1.80966C3.97602 1.48183 4.33602 1.20197 4.77602 1.20197H9.24802C9.66403 1.20197 10.048 1.48183 10.048 1.80966V3.00106C10.0473 3.05515 10.054 3.10896 10.0678 3.16101H3.95429ZM5.57571 10.997C5.41731 10.995 5.26597 10.9311 5.15395 10.8191C5.04193 10.7071 4.97808 10.5558 4.97601 10.3973V6.77517C4.97601 6.61612 5.0392 6.46359 5.15166 6.35112C5.26413 6.23866 5.41666 6.17548 5.57571 6.17548C5.73476 6.17548 5.8873 6.23866 5.99976 6.35112C6.11223 6.46359 6.17541 6.61612 6.17541 6.77517V10.3894C6.17647 10.4688 6.16174 10.5476 6.13208 10.6213C6.10241 10.695 6.05841 10.762 6.00261 10.8186C5.94682 10.8751 5.88035 10.92 5.80707 10.9506C5.73378 10.9813 5.65514 10.9971 5.57571 10.997ZM7.99968 10.8214C8.11215 10.9339 8.26468 10.997 8.42373 10.997C8.58351 10.9949 8.73604 10.93 8.84828 10.8163C8.96052 10.7025 9.02345 10.5491 9.02343 10.3894V6.77517C9.02343 6.61612 8.96025 6.46359 8.84778 6.35112C8.73532 6.23866 8.58278 6.17548 8.42373 6.17548C8.26468 6.17548 8.11215 6.23866 7.99968 6.35112C7.88722 6.46359 7.82404 6.61612 7.82404 6.77517V10.3973C7.82404 10.5564 7.88722 10.7089 7.99968 10.8214Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$f, "render$f"); script$g.render = render$f; @@ -1706,23 +1674,6 @@ var script$f = { name: "SortAltIcon", "extends": script$t }; -var _hoisted_1$7 = /* @__PURE__ */ createBaseVNode("path", { - d: "M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$5 = /* @__PURE__ */ createBaseVNode("path", { - d: "M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z", - fill: "currentColor" -}, null, -1); -var _hoisted_3$1 = /* @__PURE__ */ createBaseVNode("path", { - d: "M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z", - fill: "currentColor" -}, null, -1); -var _hoisted_4$1 = /* @__PURE__ */ createBaseVNode("path", { - d: "M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z", - fill: "currentColor" -}, null, -1); -var _hoisted_5$1 = [_hoisted_1$7, _hoisted_2$5, _hoisted_3$1, _hoisted_4$1]; function render$e(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -1730,7 +1681,19 @@ function render$e(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_5$1, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + d: "M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z", + fill: "currentColor" + }, null, -1), createBaseVNode("path", { + d: "M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z", + fill: "currentColor" + }, null, -1), createBaseVNode("path", { + d: "M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z", + fill: "currentColor" + }, null, -1), createBaseVNode("path", { + d: "M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$e, "render$e"); script$f.render = render$e; @@ -1738,11 +1701,6 @@ var script$e = { name: "SortAmountDownIcon", "extends": script$t }; -var _hoisted_1$6 = /* @__PURE__ */ createBaseVNode("path", { - d: "M4.93953 10.5858L3.83759 11.6877V0.677419C3.83759 0.307097 3.53049 0 3.16017 0C2.78985 0 2.48275 0.307097 2.48275 0.677419V11.6877L1.38082 10.5858C1.11888 10.3239 0.685331 10.3239 0.423396 10.5858C0.16146 10.8477 0.16146 11.2813 0.423396 11.5432L2.68146 13.8013C2.74469 13.8645 2.81694 13.9097 2.89823 13.9458C2.97952 13.9819 3.06985 14 3.16017 14C3.25049 14 3.33178 13.9819 3.42211 13.9458C3.5034 13.9097 3.57565 13.8645 3.63888 13.8013L5.89694 11.5432C6.15888 11.2813 6.15888 10.8477 5.89694 10.5858C5.63501 10.3239 5.20146 10.3239 4.93953 10.5858ZM13.0957 0H7.22468C6.85436 0 6.54726 0.307097 6.54726 0.677419C6.54726 1.04774 6.85436 1.35484 7.22468 1.35484H13.0957C13.466 1.35484 13.7731 1.04774 13.7731 0.677419C13.7731 0.307097 13.466 0 13.0957 0ZM7.22468 5.41935H9.48275C9.85307 5.41935 10.1602 5.72645 10.1602 6.09677C10.1602 6.4671 9.85307 6.77419 9.48275 6.77419H7.22468C6.85436 6.77419 6.54726 6.4671 6.54726 6.09677C6.54726 5.72645 6.85436 5.41935 7.22468 5.41935ZM7.6763 8.12903H7.22468C6.85436 8.12903 6.54726 8.43613 6.54726 8.80645C6.54726 9.17677 6.85436 9.48387 7.22468 9.48387H7.6763C8.04662 9.48387 8.35372 9.17677 8.35372 8.80645C8.35372 8.43613 8.04662 8.12903 7.6763 8.12903ZM7.22468 2.70968H11.2892C11.6595 2.70968 11.9666 3.01677 11.9666 3.3871C11.9666 3.75742 11.6595 4.06452 11.2892 4.06452H7.22468C6.85436 4.06452 6.54726 3.75742 6.54726 3.3871C6.54726 3.01677 6.85436 2.70968 7.22468 2.70968Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$4 = [_hoisted_1$6]; function render$d(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -1750,7 +1708,10 @@ function render$d(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$4, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + d: "M4.93953 10.5858L3.83759 11.6877V0.677419C3.83759 0.307097 3.53049 0 3.16017 0C2.78985 0 2.48275 0.307097 2.48275 0.677419V11.6877L1.38082 10.5858C1.11888 10.3239 0.685331 10.3239 0.423396 10.5858C0.16146 10.8477 0.16146 11.2813 0.423396 11.5432L2.68146 13.8013C2.74469 13.8645 2.81694 13.9097 2.89823 13.9458C2.97952 13.9819 3.06985 14 3.16017 14C3.25049 14 3.33178 13.9819 3.42211 13.9458C3.5034 13.9097 3.57565 13.8645 3.63888 13.8013L5.89694 11.5432C6.15888 11.2813 6.15888 10.8477 5.89694 10.5858C5.63501 10.3239 5.20146 10.3239 4.93953 10.5858ZM13.0957 0H7.22468C6.85436 0 6.54726 0.307097 6.54726 0.677419C6.54726 1.04774 6.85436 1.35484 7.22468 1.35484H13.0957C13.466 1.35484 13.7731 1.04774 13.7731 0.677419C13.7731 0.307097 13.466 0 13.0957 0ZM7.22468 5.41935H9.48275C9.85307 5.41935 10.1602 5.72645 10.1602 6.09677C10.1602 6.4671 9.85307 6.77419 9.48275 6.77419H7.22468C6.85436 6.77419 6.54726 6.4671 6.54726 6.09677C6.54726 5.72645 6.85436 5.41935 7.22468 5.41935ZM7.6763 8.12903H7.22468C6.85436 8.12903 6.54726 8.43613 6.54726 8.80645C6.54726 9.17677 6.85436 9.48387 7.22468 9.48387H7.6763C8.04662 9.48387 8.35372 9.17677 8.35372 8.80645C8.35372 8.43613 8.04662 8.12903 7.6763 8.12903ZM7.22468 2.70968H11.2892C11.6595 2.70968 11.9666 3.01677 11.9666 3.3871C11.9666 3.75742 11.6595 4.06452 11.2892 4.06452H7.22468C6.85436 4.06452 6.54726 3.75742 6.54726 3.3871C6.54726 3.01677 6.85436 2.70968 7.22468 2.70968Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$d, "render$d"); script$e.render = render$d; @@ -1758,11 +1719,6 @@ var script$d = { name: "SortAmountUpAltIcon", "extends": script$t }; -var _hoisted_1$5 = /* @__PURE__ */ createBaseVNode("path", { - d: "M3.63435 0.19871C3.57113 0.135484 3.49887 0.0903226 3.41758 0.0541935C3.255 -0.0180645 3.06532 -0.0180645 2.90274 0.0541935C2.82145 0.0903226 2.74919 0.135484 2.68597 0.19871L0.427901 2.45677C0.165965 2.71871 0.165965 3.15226 0.427901 3.41419C0.689836 3.67613 1.12338 3.67613 1.38532 3.41419L2.48726 2.31226V13.3226C2.48726 13.6929 2.79435 14 3.16467 14C3.535 14 3.84209 13.6929 3.84209 13.3226V2.31226L4.94403 3.41419C5.07951 3.54968 5.25113 3.6129 5.42274 3.6129C5.59435 3.6129 5.76597 3.54968 5.90145 3.41419C6.16338 3.15226 6.16338 2.71871 5.90145 2.45677L3.64338 0.19871H3.63435ZM13.7685 13.3226C13.7685 12.9523 13.4615 12.6452 13.0911 12.6452H7.22016C6.84984 12.6452 6.54274 12.9523 6.54274 13.3226C6.54274 13.6929 6.84984 14 7.22016 14H13.0911C13.4615 14 13.7685 13.6929 13.7685 13.3226ZM7.22016 8.58064C6.84984 8.58064 6.54274 8.27355 6.54274 7.90323C6.54274 7.5329 6.84984 7.22581 7.22016 7.22581H9.47823C9.84855 7.22581 10.1556 7.5329 10.1556 7.90323C10.1556 8.27355 9.84855 8.58064 9.47823 8.58064H7.22016ZM7.22016 5.87097H7.67177C8.0421 5.87097 8.34919 5.56387 8.34919 5.19355C8.34919 4.82323 8.0421 4.51613 7.67177 4.51613H7.22016C6.84984 4.51613 6.54274 4.82323 6.54274 5.19355C6.54274 5.56387 6.84984 5.87097 7.22016 5.87097ZM11.2847 11.2903H7.22016C6.84984 11.2903 6.54274 10.9832 6.54274 10.6129C6.54274 10.2426 6.84984 9.93548 7.22016 9.93548H11.2847C11.655 9.93548 11.9621 10.2426 11.9621 10.6129C11.9621 10.9832 11.655 11.2903 11.2847 11.2903Z", - fill: "currentColor" -}, null, -1); -var _hoisted_2$3 = [_hoisted_1$5]; function render$c(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ width: "14", @@ -1770,7 +1726,10 @@ function render$c(_ctx, _cache, $props, $setup, $data, $options) { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" - }, _ctx.pti()), _hoisted_2$3, 16); + }, _ctx.pti()), _cache[0] || (_cache[0] = [createBaseVNode("path", { + d: "M3.63435 0.19871C3.57113 0.135484 3.49887 0.0903226 3.41758 0.0541935C3.255 -0.0180645 3.06532 -0.0180645 2.90274 0.0541935C2.82145 0.0903226 2.74919 0.135484 2.68597 0.19871L0.427901 2.45677C0.165965 2.71871 0.165965 3.15226 0.427901 3.41419C0.689836 3.67613 1.12338 3.67613 1.38532 3.41419L2.48726 2.31226V13.3226C2.48726 13.6929 2.79435 14 3.16467 14C3.535 14 3.84209 13.6929 3.84209 13.3226V2.31226L4.94403 3.41419C5.07951 3.54968 5.25113 3.6129 5.42274 3.6129C5.59435 3.6129 5.76597 3.54968 5.90145 3.41419C6.16338 3.15226 6.16338 2.71871 5.90145 2.45677L3.64338 0.19871H3.63435ZM13.7685 13.3226C13.7685 12.9523 13.4615 12.6452 13.0911 12.6452H7.22016C6.84984 12.6452 6.54274 12.9523 6.54274 13.3226C6.54274 13.6929 6.84984 14 7.22016 14H13.0911C13.4615 14 13.7685 13.6929 13.7685 13.3226ZM7.22016 8.58064C6.84984 8.58064 6.54274 8.27355 6.54274 7.90323C6.54274 7.5329 6.84984 7.22581 7.22016 7.22581H9.47823C9.84855 7.22581 10.1556 7.5329 10.1556 7.90323C10.1556 8.27355 9.84855 8.58064 9.47823 8.58064H7.22016ZM7.22016 5.87097H7.67177C8.0421 5.87097 8.34919 5.56387 8.34919 5.19355C8.34919 4.82323 8.0421 4.51613 7.67177 4.51613H7.22016C6.84984 4.51613 6.54274 4.82323 6.54274 5.19355C6.54274 5.56387 6.84984 5.87097 7.22016 5.87097ZM11.2847 11.2903H7.22016C6.84984 11.2903 6.54274 10.9832 6.54274 10.6129C6.54274 10.2426 6.84984 9.93548 7.22016 9.93548H11.2847C11.655 9.93548 11.9621 10.2426 11.9621 10.6129C11.9621 10.9832 11.655 11.2903 11.2847 11.2903Z", + fill: "currentColor" + }, null, -1)]), 16); } __name(render$c, "render$c"); script$d.render = render$c; @@ -2010,6 +1969,10 @@ var script$c = { type: String, "default": "960px" }, + showHeaders: { + type: Boolean, + "default": true + }, showGridlines: { type: Boolean, "default": false @@ -2166,8 +2129,8 @@ var script$b = { }, "checkboxAriaLabel") }, components: { - CheckIcon: script$x, - Checkbox: script$y + CheckIcon: script$y, + Checkbox: script$z } }; function render$b(_ctx, _cache, $props, $setup, $data, $options) { @@ -2649,19 +2612,19 @@ var script$9 = { if (this.columnProp("frozen")) { var align = this.columnProp("alignFrozen"); if (align === "right") { - var right = 0; + var pos = 0; var next2 = getNextElementSibling(this.$el, '[data-p-frozen-column="true"]'); if (next2) { - right = getOuterWidth(next2) + parseFloat(next2.style.right || 0); + pos = getOuterWidth(next2) + parseFloat(next2.style.right || 0); } - this.styleObject.right = right + "px"; + this.styleObject.insetInlineEnd = pos + "px"; } else { - var left = 0; + var _pos = 0; var prev2 = getPreviousElementSibling(this.$el, '[data-p-frozen-column="true"]'); if (prev2) { - left = getOuterWidth(prev2) + parseFloat(prev2.style.left || 0); + _pos = getOuterWidth(prev2) + parseFloat(prev2.style.left || 0); } - this.styleObject.left = left + "px"; + this.styleObject.insetInlineStart = _pos + "px"; } } }, "updateStickyPosition"), @@ -2715,13 +2678,13 @@ var script$9 = { components: { DTRadioButton: script$a, DTCheckbox: script$b, - Button: script$z, - ChevronDownIcon: script$A, - ChevronRightIcon: script$B, - BarsIcon: script$C, + Button: script$A, + ChevronDownIcon: script$B, + ChevronRightIcon: script$C, + BarsIcon: script$D, PencilIcon: script$k, - CheckIcon: script$x, - TimesIcon: script$D + CheckIcon: script$y, + TimesIcon: script$E }, directives: { ripple: Ripple @@ -3548,8 +3511,8 @@ var script$8 = { }, components: { DTBodyCell: script$9, - ChevronDownIcon: script$A, - ChevronRightIcon: script$B + ChevronDownIcon: script$B, + ChevronRightIcon: script$C } }; function _typeof$8(o) { @@ -4078,8 +4041,10 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) { key: 1, empty: $props.empty, columns: $props.columns, - templates: $props.templates - }, null, 8, ["empty", "columns", "templates"]))], 16); + templates: $props.templates, + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["empty", "columns", "templates", "unstyled", "pt"]))], 16); } __name(render$7, "render$7"); script$7.render = render$7; @@ -4142,19 +4107,19 @@ var script$6 = { if (this.columnProp("frozen")) { var align = this.columnProp("alignFrozen"); if (align === "right") { - var right = 0; + var pos = 0; var next2 = getNextElementSibling(this.$el, '[data-p-frozen-column="true"]'); if (next2) { - right = getOuterWidth(next2) + parseFloat(next2.style.right || 0); + pos = getOuterWidth(next2) + parseFloat(next2.style.right || 0); } - this.styleObject.right = right + "px"; + this.styleObject.insetInlineEnd = pos + "px"; } else { - var left = 0; + var _pos = 0; var prev2 = getPreviousElementSibling(this.$el, '[data-p-frozen-column="true"]'); if (prev2) { - left = getOuterWidth(prev2) + parseFloat(prev2.style.left || 0); + _pos = getOuterWidth(prev2) + parseFloat(prev2.style.left || 0); } - this.styleObject.left = left + "px"; + this.styleObject.insetInlineStart = _pos + "px"; } } }, "updateStickyPosition") @@ -5098,12 +5063,12 @@ var script$4 = { }, components: { Select: script$u, - Button: script$z, - Portal: script$E, + Button: script$A, + Portal: script$F, FilterSlashIcon: script$h, FilterIcon: script$i, TrashIcon: script$g, - PlusIcon: script$F + PlusIcon: script$G }, directives: { focustrap: FocusTrap @@ -5457,8 +5422,8 @@ var script$3 = { }, "headerCheckboxAriaLabel") }, components: { - CheckIcon: script$x, - Checkbox: script$y + CheckIcon: script$y, + Checkbox: script$z } }; function render$3(_ctx, _cache, $props, $setup, $data, $options) { @@ -5470,6 +5435,7 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) { disabled: $props.disabled, "aria-label": $options.headerCheckboxAriaLabel, onChange: $options.onChange, + unstyled: _ctx.unstyled, pt: $options.getColumnPT("pcHeaderCheckbox") }, { icon: withCtx(function(slotProps) { @@ -5483,7 +5449,7 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) { }, $options.getColumnPT("pcHeaderCheckbox")["icon"]), null, 16, ["class"])) : createCommentVNode("", true)]; }), _: 1 - }, 8, ["modelValue", "disabled", "aria-label", "onChange", "pt"]); + }, 8, ["modelValue", "disabled", "aria-label", "onChange", "unstyled", "pt"]); } __name(render$3, "render$3"); script$3.render = render$3; @@ -5678,19 +5644,19 @@ var script$2 = { if (this.columnProp("frozen")) { var align = this.columnProp("alignFrozen"); if (align === "right") { - var right = 0; + var pos = 0; var next2 = getNextElementSibling(this.$el, '[data-p-frozen-column="true"]'); if (next2) { - right = getOuterWidth(next2) + parseFloat(next2.style.right || 0); + pos = getOuterWidth(next2) + parseFloat(next2.style.right || 0); } - this.styleObject.right = right + "px"; + this.styleObject.insetInlineEnd = pos + "px"; } else { - var left = 0; + var _pos = 0; var prev2 = getPreviousElementSibling(this.$el, '[data-p-frozen-column="true"]'); if (prev2) { - left = getOuterWidth(prev2) + parseFloat(prev2.style.left || 0); + _pos = getOuterWidth(prev2) + parseFloat(prev2.style.left || 0); } - this.styleObject.left = left + "px"; + this.styleObject.insetInlineStart = _pos + "px"; } var filterRow = this.$el.parentElement.nextElementSibling; if (filterRow) { @@ -5752,7 +5718,7 @@ var script$2 = { }, "ariaSort") }, components: { - Badge: script$G, + Badge: script$H, DTHeaderCheckbox: script$3, DTColumnFilter: script$4, SortAltIcon: script$f, @@ -6205,9 +6171,8 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) { role: "rowgroup" }, $props.columnGroup ? _objectSpread$2(_objectSpread$2({}, _ctx.ptm("thead", $options.ptmTHeadOptions)), $options.getColumnGroupPT("root")) : _ctx.ptm("thead", $options.ptmTHeadOptions), { "data-pc-section": "thead" - }), [!$props.columnGroup ? (openBlock(), createElementBlock(Fragment, { - key: 0 - }, [createBaseVNode("tr", mergeProps({ + }), [!$props.columnGroup ? (openBlock(), createElementBlock("tr", mergeProps({ + key: 0, role: "row" }, _ctx.ptm("headerRow")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.columns, function(col, i) { return openBlock(), createElementBlock(Fragment, { @@ -6280,8 +6245,66 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) { unstyled: _ctx.unstyled, pt: _ctx.pt }, null, 8, ["column", "index", "groupRowsBy", "groupRowSortField", "reorderableColumns", "resizableColumns", "sortMode", "sortField", "sortOrder", "multiSortMeta", "allRowsSelected", "empty", "filters", "filterDisplay", "filtersStore", "filterInputProps", "filterButtonProps", "first", "unstyled", "pt"])) : createCommentVNode("", true)], 64); - }), 128))], 16), $props.filterDisplay === "row" ? (openBlock(), createElementBlock("tr", mergeProps({ - key: 0, + }), 128))], 16)) : (openBlock(true), createElementBlock(Fragment, { + key: 1 + }, renderList($options.getHeaderRows(), function(row2, i) { + return openBlock(), createElementBlock("tr", mergeProps({ + key: i, + role: "row", + ref_for: true + }, _objectSpread$2(_objectSpread$2({}, _ctx.ptm("headerRow")), $options.getRowPT(row2, "root", i))), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.getHeaderColumns(row2), function(col, j) { + return openBlock(), createElementBlock(Fragment, { + key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || j + }, [!$options.columnProp(col, "hidden") && ($props.rowGroupMode !== "subheader" || $props.groupRowsBy !== $options.columnProp(col, "field")) && typeof col.children !== "string" ? (openBlock(), createBlock(_component_DTHeaderCell, { + key: 0, + column: col, + onColumnClick: _cache[15] || (_cache[15] = function($event) { + return _ctx.$emit("column-click", $event); + }), + onColumnMousedown: _cache[16] || (_cache[16] = function($event) { + return _ctx.$emit("column-mousedown", $event); + }), + groupRowsBy: $props.groupRowsBy, + groupRowSortField: $props.groupRowSortField, + sortMode: $props.sortMode, + sortField: $props.sortField, + sortOrder: $props.sortOrder, + multiSortMeta: $props.multiSortMeta, + allRowsSelected: $props.allRowsSelected, + empty: $props.empty, + onCheckboxChange: _cache[17] || (_cache[17] = function($event) { + return _ctx.$emit("checkbox-change", $event); + }), + filters: $props.filters, + filterDisplay: $props.filterDisplay, + filtersStore: $props.filtersStore, + onFilterChange: _cache[18] || (_cache[18] = function($event) { + return _ctx.$emit("filter-change", $event); + }), + onFilterApply: _cache[19] || (_cache[19] = function($event) { + return _ctx.$emit("filter-apply"); + }), + onOperatorChange: _cache[20] || (_cache[20] = function($event) { + return _ctx.$emit("operator-change", $event); + }), + onMatchmodeChange: _cache[21] || (_cache[21] = function($event) { + return _ctx.$emit("matchmode-change", $event); + }), + onConstraintAdd: _cache[22] || (_cache[22] = function($event) { + return _ctx.$emit("constraint-add", $event); + }), + onConstraintRemove: _cache[23] || (_cache[23] = function($event) { + return _ctx.$emit("constraint-remove", $event); + }), + onApplyClick: _cache[24] || (_cache[24] = function($event) { + return _ctx.$emit("apply-click", $event); + }), + unstyled: _ctx.unstyled, + pt: _ctx.pt + }, null, 8, ["column", "groupRowsBy", "groupRowSortField", "sortMode", "sortField", "sortOrder", "multiSortMeta", "allRowsSelected", "empty", "filters", "filterDisplay", "filtersStore", "unstyled", "pt"])) : createCommentVNode("", true)], 64); + }), 128))], 16); + }), 128)), $props.filterDisplay === "row" ? (openBlock(), createElementBlock("tr", mergeProps({ + key: 2, role: "row" }, _ctx.ptm("headerRow")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.columns, function(col, i) { return openBlock(), createElementBlock(Fragment, { @@ -6295,7 +6318,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) { key: 0, checked: $props.allRowsSelected, disabled: $props.empty, - onChange: _cache[15] || (_cache[15] = function($event) { + onChange: _cache[25] || (_cache[25] = function($event) { return _ctx.$emit("checkbox-change", $event); }), column: col, @@ -6320,10 +6343,10 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) { filtersStore: $props.filtersStore, filterInputProps: $props.filterInputProps, filterButtonProps: $props.filterButtonProps, - onFilterChange: _cache[16] || (_cache[16] = function($event) { + onFilterChange: _cache[26] || (_cache[26] = function($event) { return _ctx.$emit("filter-change", $event); }), - onFilterApply: _cache[17] || (_cache[17] = function($event) { + onFilterApply: _cache[27] || (_cache[27] = function($event) { return _ctx.$emit("filter-apply"); }), filterMenuStyle: $options.columnProp(col, "filterMenuStyle"), @@ -6335,84 +6358,26 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) { showAddButton: $options.columnProp(col, "showAddButton"), matchModeOptions: $options.columnProp(col, "filterMatchModeOptions"), maxConstraints: $options.columnProp(col, "maxConstraints"), - onOperatorChange: _cache[18] || (_cache[18] = function($event) { + onOperatorChange: _cache[28] || (_cache[28] = function($event) { return _ctx.$emit("operator-change", $event); }), - onMatchmodeChange: _cache[19] || (_cache[19] = function($event) { + onMatchmodeChange: _cache[29] || (_cache[29] = function($event) { return _ctx.$emit("matchmode-change", $event); }), - onConstraintAdd: _cache[20] || (_cache[20] = function($event) { + onConstraintAdd: _cache[30] || (_cache[30] = function($event) { return _ctx.$emit("constraint-add", $event); }), - onConstraintRemove: _cache[21] || (_cache[21] = function($event) { + onConstraintRemove: _cache[31] || (_cache[31] = function($event) { return _ctx.$emit("constraint-remove", $event); }), - onApplyClick: _cache[22] || (_cache[22] = function($event) { + onApplyClick: _cache[32] || (_cache[32] = function($event) { return _ctx.$emit("apply-click", $event); }), column: col, unstyled: _ctx.unstyled, pt: _ctx.pt }, null, 8, ["field", "type", "showMenu", "filterElement", "filterHeaderTemplate", "filterFooterTemplate", "filterClearTemplate", "filterApplyTemplate", "filterIconTemplate", "filterAddIconTemplate", "filterRemoveIconTemplate", "filterClearIconTemplate", "filters", "filtersStore", "filterInputProps", "filterButtonProps", "filterMenuStyle", "filterMenuClass", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "matchModeOptions", "maxConstraints", "column", "unstyled", "pt"])) : createCommentVNode("", true)], 16)) : createCommentVNode("", true)], 64); - }), 128))], 16)) : createCommentVNode("", true)], 64)) : (openBlock(true), createElementBlock(Fragment, { - key: 1 - }, renderList($options.getHeaderRows(), function(row2, i) { - return openBlock(), createElementBlock("tr", mergeProps({ - key: i, - role: "row", - ref_for: true - }, _objectSpread$2(_objectSpread$2({}, _ctx.ptm("headerRow")), $options.getRowPT(row2, "root", i))), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.getHeaderColumns(row2), function(col, j) { - return openBlock(), createElementBlock(Fragment, { - key: $options.columnProp(col, "columnKey") || $options.columnProp(col, "field") || j - }, [!$options.columnProp(col, "hidden") && ($props.rowGroupMode !== "subheader" || $props.groupRowsBy !== $options.columnProp(col, "field")) && typeof col.children !== "string" ? (openBlock(), createBlock(_component_DTHeaderCell, { - key: 0, - column: col, - onColumnClick: _cache[23] || (_cache[23] = function($event) { - return _ctx.$emit("column-click", $event); - }), - onColumnMousedown: _cache[24] || (_cache[24] = function($event) { - return _ctx.$emit("column-mousedown", $event); - }), - groupRowsBy: $props.groupRowsBy, - groupRowSortField: $props.groupRowSortField, - sortMode: $props.sortMode, - sortField: $props.sortField, - sortOrder: $props.sortOrder, - multiSortMeta: $props.multiSortMeta, - allRowsSelected: $props.allRowsSelected, - empty: $props.empty, - onCheckboxChange: _cache[25] || (_cache[25] = function($event) { - return _ctx.$emit("checkbox-change", $event); - }), - filters: $props.filters, - filterDisplay: $props.filterDisplay, - filtersStore: $props.filtersStore, - onFilterChange: _cache[26] || (_cache[26] = function($event) { - return _ctx.$emit("filter-change", $event); - }), - onFilterApply: _cache[27] || (_cache[27] = function($event) { - return _ctx.$emit("filter-apply"); - }), - onOperatorChange: _cache[28] || (_cache[28] = function($event) { - return _ctx.$emit("operator-change", $event); - }), - onMatchmodeChange: _cache[29] || (_cache[29] = function($event) { - return _ctx.$emit("matchmode-change", $event); - }), - onConstraintAdd: _cache[30] || (_cache[30] = function($event) { - return _ctx.$emit("constraint-add", $event); - }), - onConstraintRemove: _cache[31] || (_cache[31] = function($event) { - return _ctx.$emit("constraint-remove", $event); - }), - onApplyClick: _cache[32] || (_cache[32] = function($event) { - return _ctx.$emit("apply-click", $event); - }), - unstyled: _ctx.unstyled, - pt: _ctx.pt - }, null, 8, ["column", "groupRowsBy", "groupRowSortField", "sortMode", "sortField", "sortOrder", "multiSortMeta", "allRowsSelected", "empty", "filters", "filterDisplay", "filtersStore", "unstyled", "pt"])) : createCommentVNode("", true)], 64); - }), 128))], 16); - }), 128))], 16); + }), 128))], 16)) : createCommentVNode("", true)], 16); } __name(render$1, "render$1"); script$1.render = render$1; @@ -6677,7 +6642,6 @@ var script = { } }, mounted: /* @__PURE__ */ __name(function mounted8() { - this.$el.setAttribute(this.attributeSelector, ""); if (this.isStateful()) { this.restoreState(); this.resizableColumns && this.restoreColumnWidths(); @@ -7044,11 +7008,11 @@ var script = { } this.rowTouched = false; if (focusedItem) { - var _event$target, _event$target2, _event$target3; - if (((_event$target = event2.target) === null || _event$target === void 0 ? void 0 : _event$target.getAttribute("data-pc-section")) === "rowtoggleicon" || ((_event$target2 = event2.target) === null || _event$target2 === void 0 || (_event$target2 = _event$target2.parentElement) === null || _event$target2 === void 0 ? void 0 : _event$target2.getAttribute("data-pc-section")) === "rowtoggleicon") return; - var targetRow = (_event$target3 = event2.target) === null || _event$target3 === void 0 ? void 0 : _event$target3.closest('tr[data-p-selectable-row="true"]'); + var _event$target, _event$currentTarget; + if (((_event$target = event2.target) === null || _event$target === void 0 ? void 0 : _event$target.getAttribute("data-pc-section")) === "rowtoggleicon") return; + var targetRow = (_event$currentTarget = event2.currentTarget) === null || _event$currentTarget === void 0 ? void 0 : _event$currentTarget.closest('tr[data-p-selectable-row="true"]'); focusedItem.tabIndex = "-1"; - targetRow.tabIndex = "0"; + if (targetRow) targetRow.tabIndex = "0"; } }, "onRowClick"), onRowDblClick: /* @__PURE__ */ __name(function onRowDblClick2(e) { @@ -7467,7 +7431,7 @@ var script = { this.$refs.resizeHelper.style.display = "block"; }, "onColumnResize"), onColumnResizeEnd: /* @__PURE__ */ __name(function onColumnResizeEnd() { - var delta = this.$refs.resizeHelper.offsetLeft - this.lastResizeHelperX; + var delta = isRTL(this.$el) ? this.lastResizeHelperX - this.$refs.resizeHelper.offsetLeft : this.$refs.resizeHelper.offsetLeft - this.lastResizeHelperX; var columnWidth = this.resizeColumnElement.offsetWidth; var newColumnWidth = columnWidth + delta; var minWidth = this.resizeColumnElement.style.minWidth || 15; @@ -7516,7 +7480,7 @@ var script = { this.destroyStyleElement(); this.createStyleElement(); var innerHTML = ""; - var selector = '[data-pc-name="datatable"]['.concat(this.attributeSelector, '] > [data-pc-section="tablecontainer"] ').concat(this.virtualScrollerDisabled ? "" : '> [data-pc-name="virtualscroller"]', ' > table[data-pc-section="table"]'); + var selector = '[data-pc-name="datatable"]['.concat(this.$attrSelector, '] > [data-pc-section="tablecontainer"] ').concat(this.virtualScrollerDisabled ? "" : '> [data-pc-name="virtualscroller"]', ' > table[data-pc-section="table"]'); widths.forEach(function(width, index) { var colWidth = index === colIndex ? newColumnWidth : nextColumnWidth && index === colIndex + 1 ? nextColumnWidth : width; var style = "width: ".concat(colWidth, "px !important; max-width: ").concat(colWidth, "px !important"); @@ -7701,7 +7665,7 @@ var script = { var index = e.index; if (this.rowDragging && this.draggedRowIndex !== index) { var rowElement = event2.currentTarget; - var rowY = getOffset(rowElement).top + getWindowScrollTop(); + var rowY = getOffset(rowElement).top; var pageY = event2.pageY; var rowMidY = rowY + getOuterHeight(rowElement) / 2; var prevRowElement = rowElement.previousElementSibling; @@ -7924,7 +7888,7 @@ var script = { addColumnWidthStyles: /* @__PURE__ */ __name(function addColumnWidthStyles(widths) { this.createStyleElement(); var innerHTML = ""; - var selector = '[data-pc-name="datatable"]['.concat(this.attributeSelector, '] > [data-pc-section="tablecontainer"] ').concat(this.virtualScrollerDisabled ? "" : '> [data-pc-name="virtualscroller"]', ' > table[data-pc-section="table"]'); + var selector = '[data-pc-name="datatable"]['.concat(this.$attrSelector, '] > [data-pc-section="tablecontainer"] ').concat(this.virtualScrollerDisabled ? "" : '> [data-pc-name="virtualscroller"]', ' > table[data-pc-section="table"]'); widths.forEach(function(width, index) { var style = "width: ".concat(width, "px !important; max-width: ").concat(width, "px !important"); innerHTML += "\n ".concat(selector, ' > thead[data-pc-section="thead"] > tr > th:nth-child(').concat(index + 1, "),\n ").concat(selector, ' > tbody[data-pc-section="tbody"] > tr > td:nth-child(').concat(index + 1, "),\n ").concat(selector, ' > tfoot[data-pc-section="tfoot"] > tr > td:nth-child(').concat(index + 1, ") {\n ").concat(style, "\n }\n "); @@ -8162,9 +8126,6 @@ var script = { }); } }, "allRowsSelected"), - attributeSelector: /* @__PURE__ */ __name(function attributeSelector2() { - return UniqueComponentId(); - }, "attributeSelector"), groupRowSortField: /* @__PURE__ */ __name(function groupRowSortField() { return this.sortMode === "single" ? this.sortField : this.d_groupRowsSortMeta ? this.d_groupRowsSortMeta.field : null; }, "groupRowSortField"), @@ -8232,10 +8193,10 @@ var script = { DTTableHeader: script$1, DTTableBody: script$7, DTTableFooter: script$5, - DTVirtualScroller: script$H, + DTVirtualScroller: script$I, ArrowDownIcon: script$q, ArrowUpIcon: script$p, - SpinnerIcon: script$I + SpinnerIcon: script$J } }; function _typeof(o) { @@ -8340,18 +8301,36 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { pt: _ctx.ptm("pcPaginator") }, createSlots({ _: 2 - }, [_ctx.$slots.paginatorstart ? { + }, [_ctx.$slots.paginatorcontainer ? { + name: "container", + fn: withCtx(function() { + return [renderSlot(_ctx.$slots, "paginatorcontainer", { + first: _ctx.slotProps.first, + last: _ctx.slotProps.last, + rows: _ctx.slotProps.rows, + page: _ctx.slotProps.page, + pageCount: _ctx.slotProps.pageCount, + totalRecords: _ctx.slotProps.totalRecords, + firstPageCallback: _ctx.slotProps.firstPageCallback, + lastPageCallback: _ctx.slotProps.lastPageCallback, + prevPageCallback: _ctx.slotProps.prevPageCallback, + nextPageCallback: _ctx.slotProps.nextPageCallback, + rowChangeCallback: _ctx.slotProps.rowChangeCallback + })]; + }), + key: "0" + } : void 0, _ctx.$slots.paginatorstart ? { name: "start", fn: withCtx(function() { return [renderSlot(_ctx.$slots, "paginatorstart")]; }), - key: "0" + key: "1" } : void 0, _ctx.$slots.paginatorend ? { name: "end", fn: withCtx(function() { return [renderSlot(_ctx.$slots, "paginatorend")]; }), - key: "1" + key: "2" } : void 0, _ctx.$slots.paginatorfirstpagelinkicon ? { name: "firstpagelinkicon", fn: withCtx(function(slotProps) { @@ -8359,7 +8338,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "2" + key: "3" } : void 0, _ctx.$slots.paginatorprevpagelinkicon ? { name: "prevpagelinkicon", fn: withCtx(function(slotProps) { @@ -8367,7 +8346,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "3" + key: "4" } : void 0, _ctx.$slots.paginatornextpagelinkicon ? { name: "nextpagelinkicon", fn: withCtx(function(slotProps) { @@ -8375,7 +8354,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "4" + key: "5" } : void 0, _ctx.$slots.paginatorlastpagelinkicon ? { name: "lastpagelinkicon", fn: withCtx(function(slotProps) { @@ -8383,7 +8362,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "5" + key: "6" } : void 0, _ctx.$slots.paginatorjumptopagedropdownicon ? { name: "jumptopagedropdownicon", fn: withCtx(function(slotProps) { @@ -8391,7 +8370,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "6" + key: "7" } : void 0, _ctx.$slots.paginatorrowsperpagedropdownicon ? { name: "rowsperpagedropdownicon", fn: withCtx(function(slotProps) { @@ -8399,7 +8378,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "7" + key: "8" } : void 0]), 1032, ["rows", "first", "totalRecords", "pageLinkSize", "template", "rowsPerPageOptions", "currentPageReportTemplate", "class", "alwaysShow", "unstyled", "pt"])) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ "class": _ctx.cx("tableContainer"), style: [_ctx.sx("tableContainer"), { @@ -8427,7 +8406,8 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { role: "table", "class": [_ctx.cx("table"), _ctx.tableClass], style: [_ctx.tableStyle, slotProps.spacerStyle] - }, _objectSpread(_objectSpread({}, _ctx.tableProps), _ctx.ptm("table"))), [createVNode(_component_DTTableHeader, { + }, _objectSpread(_objectSpread({}, _ctx.tableProps), _ctx.ptm("table"))), [_ctx.showHeaders ? (openBlock(), createBlock(_component_DTTableHeader, { + key: 0, columnGroup: $options.headerColumnGroup, columns: slotProps.columns, rowGroupMode: _ctx.rowGroupMode, @@ -8475,8 +8455,8 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { }), unstyled: _ctx.unstyled, pt: _ctx.pt - }, null, 8, ["columnGroup", "columns", "rowGroupMode", "groupRowsBy", "groupRowSortField", "reorderableColumns", "resizableColumns", "allRowsSelected", "empty", "sortMode", "sortField", "sortOrder", "multiSortMeta", "filters", "filtersStore", "filterDisplay", "filterButtonProps", "filterInputProps", "first", "onFilterChange", "onFilterApply", "unstyled", "pt"]), _ctx.frozenValue ? (openBlock(), createBlock(_component_DTTableBody, { - key: 0, + }, null, 8, ["columnGroup", "columns", "rowGroupMode", "groupRowsBy", "groupRowSortField", "reorderableColumns", "resizableColumns", "allRowsSelected", "empty", "sortMode", "sortField", "sortOrder", "multiSortMeta", "filters", "filtersStore", "filterDisplay", "filterButtonProps", "filterInputProps", "first", "onFilterChange", "onFilterApply", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.frozenValue ? (openBlock(), createBlock(_component_DTTableBody, { + key: 1, ref: "frozenBodyRef", value: _ctx.frozenValue, frozenRow: true, @@ -8657,7 +8637,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { unstyled: _ctx.unstyled, pt: _ctx.pt }, null, 8, ["value", "class", "columns", "empty", "first", "dataKey", "selection", "selectionKeys", "selectionMode", "contextMenu", "contextMenuSelection", "rowGroupMode", "groupRowsBy", "expandableRowGroups", "rowClass", "rowStyle", "editMode", "compareSelectionBy", "scrollable", "expandedRowIcon", "collapsedRowIcon", "expandedRows", "expandedRowGroups", "editingRows", "editingRowKeys", "templates", "editButtonProps", "virtualScrollerContentProps", "isVirtualScrollerDisabled", "onRowgroupToggle", "onRowTouchend", "onRowKeydown", "onRowMousedown", "editingMeta", "onEditingMetaChange", "unstyled", "pt"]), $options.hasSpacerStyle(slotProps.spacerStyle) ? (openBlock(), createElementBlock("tbody", mergeProps({ - key: 1, + key: 2, "class": _ctx.cx("virtualScrollerSpacer"), style: { height: "calc(".concat(slotProps.spacerStyle.height, " - ").concat(slotProps.rows.length * slotProps.itemSize, "px)") @@ -8689,18 +8669,36 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { pt: _ctx.ptm("pcPaginator") }, createSlots({ _: 2 - }, [_ctx.$slots.paginatorstart ? { + }, [_ctx.$slots.paginatorcontainer ? { + name: "container", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "paginatorcontainer", { + first: slotProps.first, + last: slotProps.last, + rows: slotProps.rows, + page: slotProps.page, + pageCount: slotProps.pageCount, + totalRecords: slotProps.totalRecords, + firstPageCallback: slotProps.firstPageCallback, + lastPageCallback: slotProps.lastPageCallback, + prevPageCallback: slotProps.prevPageCallback, + nextPageCallback: slotProps.nextPageCallback, + rowChangeCallback: slotProps.rowChangeCallback + })]; + }), + key: "0" + } : void 0, _ctx.$slots.paginatorstart ? { name: "start", fn: withCtx(function() { return [renderSlot(_ctx.$slots, "paginatorstart")]; }), - key: "0" + key: "1" } : void 0, _ctx.$slots.paginatorend ? { name: "end", fn: withCtx(function() { return [renderSlot(_ctx.$slots, "paginatorend")]; }), - key: "1" + key: "2" } : void 0, _ctx.$slots.paginatorfirstpagelinkicon ? { name: "firstpagelinkicon", fn: withCtx(function(slotProps) { @@ -8708,7 +8706,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "2" + key: "3" } : void 0, _ctx.$slots.paginatorprevpagelinkicon ? { name: "prevpagelinkicon", fn: withCtx(function(slotProps) { @@ -8716,7 +8714,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "3" + key: "4" } : void 0, _ctx.$slots.paginatornextpagelinkicon ? { name: "nextpagelinkicon", fn: withCtx(function(slotProps) { @@ -8724,7 +8722,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "4" + key: "5" } : void 0, _ctx.$slots.paginatorlastpagelinkicon ? { name: "lastpagelinkicon", fn: withCtx(function(slotProps) { @@ -8732,7 +8730,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "5" + key: "6" } : void 0, _ctx.$slots.paginatorjumptopagedropdownicon ? { name: "jumptopagedropdownicon", fn: withCtx(function(slotProps) { @@ -8740,7 +8738,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "6" + key: "7" } : void 0, _ctx.$slots.paginatorrowsperpagedropdownicon ? { name: "rowsperpagedropdownicon", fn: withCtx(function(slotProps) { @@ -8748,7 +8746,7 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { "class": normalizeClass(slotProps["class"]) })]; }), - key: "7" + key: "8" } : void 0]), 1032, ["rows", "first", "totalRecords", "pageLinkSize", "template", "rowsPerPageOptions", "currentPageReportTemplate", "class", "alwaysShow", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", mergeProps({ key: 4, "class": _ctx.cx("footer") @@ -8779,7 +8777,14 @@ function render2(_ctx, _cache, $props, $setup, $data, $options) { __name(render2, "render"); script.render = render2; export { - script as a, - script$r as s + script$m as a, + script$n as b, + script$o as c, + script$f as d, + script$d as e, + script$e as f, + script$r as g, + script as h, + script$l as s }; -//# sourceMappingURL=index-DpF-ptbJ.js.map +//# sourceMappingURL=index-CdHVC5qq.js.map diff --git a/web/assets/index-QvfM__ze.js b/web/assets/index-CmVtQCAR.js similarity index 90% rename from web/assets/index-QvfM__ze.js rename to web/assets/index-CmVtQCAR.js index dc3143769..4d89b4a55 100644 --- a/web/assets/index-QvfM__ze.js +++ b/web/assets/index-CmVtQCAR.js @@ -1,6 +1,6 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-CDDCHVO0.js","./index-Q1cQr26V.js","./keybindingService-Cak1En5n.js","./serverConfigStore-DCme3xlV.js","./GraphView-CqZ3opAX.css","./UserSelectView-CXmVKOeK.js","./BaseViewTemplate-BhQMaVFP.js","./ServerStartView-48wfE1MS.js","./ServerStartView-CJiwVDQY.css","./InstallView-By3hC1fC.js","./InstallView-CxhfFC8Y.css","./WelcomeView-C8whKl15.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-Vc8_xWgH.js","./NotSupportedView-DQerxQzi.css","./DownloadGitView-rPK_vYgU.js","./ManualConfigurationView-enyqGo0M.js","./ManualConfigurationView-CsirlNfV.css","./MetricsConsentView-lSfLu4nr.js","./DesktopStartView-le6AjGZr.js","./KeybindingPanel-D6O16W_1.js","./index-DpF-ptbJ.js","./KeybindingPanel-DvrUYZ4S.css","./ExtensionPanel-3jWrm6Zi.js","./ServerConfigPanel-B-w0HFlz.js","./index-je62U6DH.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-DKrBTQLe.js","./index-BWow9lpT.js","./index-I0brO37W.js","./keybindingService-CqSjCYw-.js","./serverConfigStore-BUvaGcxp.js","./GraphView-CVCdiww1.css","./UserSelectView-DNnNy-AZ.js","./BaseViewTemplate-Cof5Ihf_.js","./ServerStartView-M5VckhgZ.js","./ServerStartView-CJiwVDQY.css","./InstallView-C6tMsokB.js","./index-Bm1HvJhs.js","./uvMirrors-B-HKMf6X.js","./InstallView-DbJ2cGfL.css","./WelcomeView-Nvn1jaCx.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-BRtvC5Gx.js","./NotSupportedView-RFx6eCkN.css","./DownloadGitView-At9xRwC5.js","./ManualConfigurationView-CtZMj_n_.js","./ManualConfigurationView-CsirlNfV.css","./MetricsConsentView-Df03LOI_.js","./DesktopStartView-DTiwKLp6.js","./MaintenanceView-D3drnrFc.js","./index-CdHVC5qq.js","./MaintenanceView-Bj5_Vr6o.css","./KeybindingPanel-BbfXtVg1.js","./KeybindingPanel-DvrUYZ4S.css","./ExtensionPanel-C_ZBlIyE.js","./ServerConfigPanel-C2nrpEEV.js","./index-BPn8eYlx.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); var __defProp2 = Object.defineProperty; -var __name = (target, value4) => __defProp2(target, "name", { value: value4, configurable: true }); +var __name = (target2, value4) => __defProp2(target2, "name", { value: value4, configurable: true }); (/* @__PURE__ */ __name(function polyfill2() { const relList = document.createElement("link").relList; if (relList && relList.supports && relList.supports("modulepreload")) { @@ -40,93 +40,97 @@ var __name = (target, value4) => __defProp2(target, "name", { value: value4, con } __name(processPreload, "processPreload"); }, "polyfill"))(); -var __defProp$2 = Object.defineProperty; -var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols; -var __hasOwnProp$1 = Object.prototype.hasOwnProperty; -var __propIsEnum$1 = Object.prototype.propertyIsEnumerable; -var __defNormalProp$2 = /* @__PURE__ */ __name((obj, key, value4) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value: value4 }) : obj[key] = value4, "__defNormalProp$2"); -var __spreadValues$1 = /* @__PURE__ */ __name((a2, b2) => { +var __defProp$7 = Object.defineProperty; +var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols; +var __hasOwnProp$6 = Object.prototype.hasOwnProperty; +var __propIsEnum$6 = Object.prototype.propertyIsEnumerable; +var __defNormalProp$7 = /* @__PURE__ */ __name((obj, key, value4) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value: value4 }) : obj[key] = value4, "__defNormalProp$7"); +var __spreadValues$6 = /* @__PURE__ */ __name((a2, b2) => { for (var prop2 in b2 || (b2 = {})) - if (__hasOwnProp$1.call(b2, prop2)) - __defNormalProp$2(a2, prop2, b2[prop2]); - if (__getOwnPropSymbols$1) - for (var prop2 of __getOwnPropSymbols$1(b2)) { - if (__propIsEnum$1.call(b2, prop2)) - __defNormalProp$2(a2, prop2, b2[prop2]); + if (__hasOwnProp$6.call(b2, prop2)) + __defNormalProp$7(a2, prop2, b2[prop2]); + if (__getOwnPropSymbols$6) + for (var prop2 of __getOwnPropSymbols$6(b2)) { + if (__propIsEnum$6.call(b2, prop2)) + __defNormalProp$7(a2, prop2, b2[prop2]); } return a2; -}, "__spreadValues$1"); -function isEmpty$1(value4) { +}, "__spreadValues$6"); +function isEmpty$3(value4) { return value4 === null || value4 === void 0 || value4 === "" || Array.isArray(value4) && value4.length === 0 || !(value4 instanceof Date) && typeof value4 === "object" && Object.keys(value4).length === 0; } -__name(isEmpty$1, "isEmpty$1"); -function compare$1(value1, value22, comparator2, order = 1) { +__name(isEmpty$3, "isEmpty$3"); +function compare$3(value1, value22, comparator, order = 1) { let result = -1; - const emptyValue1 = isEmpty$1(value1); - const emptyValue2 = isEmpty$1(value22); + const emptyValue1 = isEmpty$3(value1); + const emptyValue2 = isEmpty$3(value22); if (emptyValue1 && emptyValue2) result = 0; else if (emptyValue1) result = order; else if (emptyValue2) result = -order; - else if (typeof value1 === "string" && typeof value22 === "string") result = comparator2(value1, value22); + else if (typeof value1 === "string" && typeof value22 === "string") result = comparator(value1, value22); else result = value1 < value22 ? -1 : value1 > value22 ? 1 : 0; return result; } -__name(compare$1, "compare$1"); -function deepEquals(obj1, obj2) { +__name(compare$3, "compare$3"); +function _deepEquals$2(obj1, obj2, visited = /* @__PURE__ */ new WeakSet()) { if (obj1 === obj2) return true; - if (obj1 && obj2 && typeof obj1 == "object" && typeof obj2 == "object") { - var arrObj1 = Array.isArray(obj1), arrObj2 = Array.isArray(obj2), i2, length, key; - if (arrObj1 && arrObj2) { - length = obj1.length; - if (length != obj2.length) return false; - for (i2 = length; i2-- !== 0; ) if (!deepEquals(obj1[i2], obj2[i2])) return false; - return true; - } - if (arrObj1 != arrObj2) return false; - var dateObj1 = obj1 instanceof Date, dateObj2 = obj2 instanceof Date; - if (dateObj1 != dateObj2) return false; - if (dateObj1 && dateObj2) return obj1.getTime() == obj2.getTime(); - var regexpObj1 = obj1 instanceof RegExp, regexpObj2 = obj2 instanceof RegExp; - if (regexpObj1 != regexpObj2) return false; - if (regexpObj1 && regexpObj2) return obj1.toString() == obj2.toString(); - var keys2 = Object.keys(obj1); - length = keys2.length; - if (length !== Object.keys(obj2).length) return false; - for (i2 = length; i2-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(obj2, keys2[i2])) return false; - for (i2 = length; i2-- !== 0; ) { - key = keys2[i2]; - if (!deepEquals(obj1[key], obj2[key])) return false; - } + if (!obj1 || !obj2 || typeof obj1 !== "object" || typeof obj2 !== "object") return false; + if (visited.has(obj1) || visited.has(obj2)) return false; + visited.add(obj1).add(obj2); + let arrObj1 = Array.isArray(obj1), arrObj2 = Array.isArray(obj2), i2, length, key; + if (arrObj1 && arrObj2) { + length = obj1.length; + if (length != obj2.length) return false; + for (i2 = length; i2-- !== 0; ) if (!_deepEquals$2(obj1[i2], obj2[i2], visited)) return false; return true; } - return obj1 !== obj1 && obj2 !== obj2; + if (arrObj1 != arrObj2) return false; + let dateObj1 = obj1 instanceof Date, dateObj2 = obj2 instanceof Date; + if (dateObj1 != dateObj2) return false; + if (dateObj1 && dateObj2) return obj1.getTime() == obj2.getTime(); + let regexpObj1 = obj1 instanceof RegExp, regexpObj2 = obj2 instanceof RegExp; + if (regexpObj1 != regexpObj2) return false; + if (regexpObj1 && regexpObj2) return obj1.toString() == obj2.toString(); + let keys2 = Object.keys(obj1); + length = keys2.length; + if (length !== Object.keys(obj2).length) return false; + for (i2 = length; i2-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(obj2, keys2[i2])) return false; + for (i2 = length; i2-- !== 0; ) { + key = keys2[i2]; + if (!_deepEquals$2(obj1[key], obj2[key], visited)) return false; + } + return true; } -__name(deepEquals, "deepEquals"); -function isFunction$9(value4) { +__name(_deepEquals$2, "_deepEquals$2"); +function deepEquals$2(obj1, obj2) { + return _deepEquals$2(obj1, obj2); +} +__name(deepEquals$2, "deepEquals$2"); +function isFunction$d(value4) { return !!(value4 && value4.constructor && value4.call && value4.apply); } -__name(isFunction$9, "isFunction$9"); -function isNotEmpty(value4) { - return !isEmpty$1(value4); +__name(isFunction$d, "isFunction$d"); +function isNotEmpty$2(value4) { + return !isEmpty$3(value4); } -__name(isNotEmpty, "isNotEmpty"); -function resolveFieldData(data25, field) { - if (!data25 || !field) { +__name(isNotEmpty$2, "isNotEmpty$2"); +function resolveFieldData$2(data26, field2) { + if (!data26 || !field2) { return null; } try { - const value4 = data25[field]; - if (isNotEmpty(value4)) return value4; + const value4 = data26[field2]; + if (isNotEmpty$2(value4)) return value4; } catch (e2) { } - if (Object.keys(data25).length) { - if (isFunction$9(field)) { - return field(data25); - } else if (field.indexOf(".") === -1) { - return data25[field]; + if (Object.keys(data26).length) { + if (isFunction$d(field2)) { + return field2(data26); + } else if (field2.indexOf(".") === -1) { + return data26[field2]; } else { - let fields = field.split("."); - let value4 = data25; + let fields = field2.split("."); + let value4 = data26; for (let i2 = 0, len = fields.length; i2 < len; ++i2) { if (value4 == null) { return null; @@ -138,27 +142,27 @@ function resolveFieldData(data25, field) { } return null; } -__name(resolveFieldData, "resolveFieldData"); -function equals(obj1, obj2, field) { - if (field) return resolveFieldData(obj1, field) === resolveFieldData(obj2, field); - else return deepEquals(obj1, obj2); +__name(resolveFieldData$2, "resolveFieldData$2"); +function equals$2(obj1, obj2, field2) { + if (field2) return resolveFieldData$2(obj1, field2) === resolveFieldData$2(obj2, field2); + else return deepEquals$2(obj1, obj2); } -__name(equals, "equals"); -function contains(value4, list2) { +__name(equals$2, "equals$2"); +function contains$2(value4, list2) { if (value4 != null && list2 && list2.length) { for (let val of list2) { - if (equals(value4, val)) return true; + if (equals$2(value4, val)) return true; } } return false; } -__name(contains, "contains"); -function filter(value4, fields, filterValue) { +__name(contains$2, "contains$2"); +function filter$2(value4, fields, filterValue) { let filteredItems = []; if (value4) { for (let item3 of value4) { - for (let field of fields) { - if (String(resolveFieldData(item3, field)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) { + for (let field2 of fields) { + if (String(resolveFieldData$2(item3, field2)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) { filteredItems.push(item3); break; } @@ -167,8 +171,8 @@ function filter(value4, fields, filterValue) { } return filteredItems; } -__name(filter, "filter"); -function findIndexInList(value4, list2) { +__name(filter$2, "filter$2"); +function findIndexInList$2(value4, list2) { let index2 = -1; if (list2) { for (let i2 = 0; i2 < list2.length; i2++) { @@ -180,10 +184,10 @@ function findIndexInList(value4, list2) { } return index2; } -__name(findIndexInList, "findIndexInList"); -function findLast$1(arr, callback) { +__name(findIndexInList$2, "findIndexInList$2"); +function findLast$3(arr, callback) { let item3; - if (isNotEmpty(arr)) { + if (isNotEmpty$2(arr)) { try { item3 = arr.findLast(callback); } catch (e2) { @@ -192,10 +196,10 @@ function findLast$1(arr, callback) { } return item3; } -__name(findLast$1, "findLast$1"); -function findLastIndex(arr, callback) { +__name(findLast$3, "findLast$3"); +function findLastIndex$2(arr, callback) { let index2 = -1; - if (isNotEmpty(arr)) { + if (isNotEmpty$2(arr)) { try { index2 = arr.findLastIndex(callback); } catch (e2) { @@ -204,34 +208,34 @@ function findLastIndex(arr, callback) { } return index2; } -__name(findLastIndex, "findLastIndex"); -function isObject$e(value4, empty3 = true) { +__name(findLastIndex$2, "findLastIndex$2"); +function isObject$g(value4, empty3 = true) { return value4 instanceof Object && value4.constructor === Object && (empty3 || Object.keys(value4).length !== 0); } -__name(isObject$e, "isObject$e"); -function resolve$2(obj, ...params) { - return isFunction$9(obj) ? obj(...params) : obj; +__name(isObject$g, "isObject$g"); +function resolve$4(obj, ...params) { + return isFunction$d(obj) ? obj(...params) : obj; } -__name(resolve$2, "resolve$2"); -function isString$9(value4, empty3 = true) { +__name(resolve$4, "resolve$4"); +function isString$b(value4, empty3 = true) { return typeof value4 === "string" && (empty3 || value4 !== ""); } -__name(isString$9, "isString$9"); -function toFlatCase(str) { - return isString$9(str) ? str.replace(/(-|_)/g, "").toLowerCase() : str; +__name(isString$b, "isString$b"); +function toFlatCase$2(str) { + return isString$b(str) ? str.replace(/(-|_)/g, "").toLowerCase() : str; } -__name(toFlatCase, "toFlatCase"); -function getKeyValue(obj, key = "", params = {}) { - const fKeys = toFlatCase(key).split("."); +__name(toFlatCase$2, "toFlatCase$2"); +function getKeyValue$2(obj, key = "", params = {}) { + const fKeys = toFlatCase$2(key).split("."); const fKey = fKeys.shift(); - return fKey ? isObject$e(obj) ? getKeyValue(resolve$2(obj[Object.keys(obj).find((k2) => toFlatCase(k2) === fKey) || ""], params), fKeys.join("."), params) : void 0 : resolve$2(obj, params); + return fKey ? isObject$g(obj) ? getKeyValue$2(resolve$4(obj[Object.keys(obj).find((k2) => toFlatCase$2(k2) === fKey) || ""], params), fKeys.join("."), params) : void 0 : resolve$4(obj, params); } -__name(getKeyValue, "getKeyValue"); -function insertIntoOrderedArray(item3, index2, arr, sourceArr) { +__name(getKeyValue$2, "getKeyValue$2"); +function insertIntoOrderedArray$2(item3, index2, arr, sourceArr) { if (arr.length > 0) { let injected = false; for (let i2 = 0; i2 < arr.length; i2++) { - let currentItemIndex = findIndexInList(arr[i2], sourceArr); + let currentItemIndex = findIndexInList$2(arr[i2], sourceArr); if (currentItemIndex > index2) { arr.splice(i2, 0, item3); injected = true; @@ -245,28 +249,36 @@ function insertIntoOrderedArray(item3, index2, arr, sourceArr) { arr.push(item3); } } -__name(insertIntoOrderedArray, "insertIntoOrderedArray"); -function isArray$a(value4, empty3 = true) { +__name(insertIntoOrderedArray$2, "insertIntoOrderedArray$2"); +function isArray$c(value4, empty3 = true) { return Array.isArray(value4) && (empty3 || value4.length !== 0); } -__name(isArray$a, "isArray$a"); -function isDate$3(value4) { +__name(isArray$c, "isArray$c"); +function isDate$5(value4) { return value4 instanceof Date && value4.constructor === Date; } -__name(isDate$3, "isDate$3"); -function isNumber$5(value4) { - return isNotEmpty(value4) && !isNaN(value4); +__name(isDate$5, "isDate$5"); +function isLetter$3(char) { + return /^[a-zA-Z\u00C0-\u017F]$/.test(char); } -__name(isNumber$5, "isNumber$5"); -function isPrintableCharacter(char = "") { - return isNotEmpty(char) && char.length === 1 && !!char.match(/\S| /); +__name(isLetter$3, "isLetter$3"); +function isNumber$7(value4) { + return isNotEmpty$2(value4) && !isNaN(value4); } -__name(isPrintableCharacter, "isPrintableCharacter"); -function localeComparator() { +__name(isNumber$7, "isNumber$7"); +function isPrintableCharacter$2(char = "") { + return isNotEmpty$2(char) && char.length === 1 && !!char.match(/\S| /); +} +__name(isPrintableCharacter$2, "isPrintableCharacter$2"); +function isScalar$2(value4) { + return value4 != null && (typeof value4 === "string" || typeof value4 === "number" || typeof value4 === "bigint" || typeof value4 === "boolean"); +} +__name(isScalar$2, "isScalar$2"); +function localeComparator$2() { return new Intl.Collator(void 0, { numeric: true }).compare; } -__name(localeComparator, "localeComparator"); -function matchRegex(str, regex2) { +__name(localeComparator$2, "localeComparator$2"); +function matchRegex$2(str, regex2) { if (regex2) { const match2 = regex2.test(str); regex2.lastIndex = 0; @@ -274,13 +286,13 @@ function matchRegex(str, regex2) { } return false; } -__name(matchRegex, "matchRegex"); -function mergeKeys(...args) { - const _mergeKeys = /* @__PURE__ */ __name((target = {}, source = {}) => { - const mergedObj = __spreadValues$1({}, target); +__name(matchRegex$2, "matchRegex$2"); +function mergeKeys$2(...args) { + const _mergeKeys = /* @__PURE__ */ __name((target2 = {}, source = {}) => { + const mergedObj = __spreadValues$6({}, target2); Object.keys(source).forEach((key) => { - if (isObject$e(source[key]) && key in target && isObject$e(target[key])) { - mergedObj[key] = _mergeKeys(target[key], source[key]); + if (isObject$g(source[key]) && key in target2 && isObject$g(target2[key])) { + mergedObj[key] = _mergeKeys(target2[key], source[key]); } else { mergedObj[key] = source[key]; } @@ -289,27 +301,83 @@ function mergeKeys(...args) { }, "_mergeKeys"); return args.reduce((acc, obj, i2) => i2 === 0 ? obj : _mergeKeys(acc, obj), {}); } -__name(mergeKeys, "mergeKeys"); -function minifyCSS(css3) { - return css3 ? css3.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g, "").replace(/ {2,}/g, " ").replace(/ ([{:}]) /g, "$1").replace(/([;,]) /g, "$1").replace(/ !/g, "!").replace(/: /g, ":") : css3; +__name(mergeKeys$2, "mergeKeys$2"); +function minifyCSS$2(css4) { + return css4 ? css4.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g, "").replace(/ {2,}/g, " ").replace(/ ([{:}]) /g, "$1").replace(/([;,]) /g, "$1").replace(/ !/g, "!").replace(/: /g, ":") : css4; } -__name(minifyCSS, "minifyCSS"); -function nestedKeys(obj = {}, parentKey = "") { +__name(minifyCSS$2, "minifyCSS$2"); +function nestedKeys$2(obj = {}, parentKey = "") { return Object.entries(obj).reduce((o2, [key, value4]) => { const currentKey = parentKey ? `${parentKey}.${key}` : key; - isObject$e(value4) ? o2 = o2.concat(nestedKeys(value4, currentKey)) : o2.push(currentKey); + isObject$g(value4) ? o2 = o2.concat(nestedKeys$2(value4, currentKey)) : o2.push(currentKey); return o2; }, []); } -__name(nestedKeys, "nestedKeys"); -function removeAccents(str) { - if (str && str.search(/[\xC0-\xFF]/g) > -1) { - str = str.replace(/[\xC0-\xC5]/g, "A").replace(/[\xC6]/g, "AE").replace(/[\xC7]/g, "C").replace(/[\xC8-\xCB]/g, "E").replace(/[\xCC-\xCF]/g, "I").replace(/[\xD0]/g, "D").replace(/[\xD1]/g, "N").replace(/[\xD2-\xD6\xD8]/g, "O").replace(/[\xD9-\xDC]/g, "U").replace(/[\xDD]/g, "Y").replace(/[\xDE]/g, "P").replace(/[\xE0-\xE5]/g, "a").replace(/[\xE6]/g, "ae").replace(/[\xE7]/g, "c").replace(/[\xE8-\xEB]/g, "e").replace(/[\xEC-\xEF]/g, "i").replace(/[\xF1]/g, "n").replace(/[\xF2-\xF6\xF8]/g, "o").replace(/[\xF9-\xFC]/g, "u").replace(/[\xFE]/g, "p").replace(/[\xFD\xFF]/g, "y"); +__name(nestedKeys$2, "nestedKeys$2"); +function omit$3(obj, ...keys2) { + if (!isObject$g(obj)) return obj; + const copy2 = __spreadValues$6({}, obj); + keys2 == null ? void 0 : keys2.flat().forEach((key) => delete copy2[key]); + return copy2; +} +__name(omit$3, "omit$3"); +function removeAccents$2(str) { + const accentCheckRegex = /[\xC0-\xFF\u0100-\u017E]/; + if (str && accentCheckRegex.test(str)) { + const accentsMap = { + A: /[\xC0-\xC5\u0100\u0102\u0104]/g, + AE: /[\xC6]/g, + C: /[\xC7\u0106\u0108\u010A\u010C]/g, + D: /[\xD0\u010E\u0110]/g, + E: /[\xC8-\xCB\u0112\u0114\u0116\u0118\u011A]/g, + G: /[\u011C\u011E\u0120\u0122]/g, + H: /[\u0124\u0126]/g, + I: /[\xCC-\xCF\u0128\u012A\u012C\u012E\u0130]/g, + IJ: /[\u0132]/g, + J: /[\u0134]/g, + K: /[\u0136]/g, + L: /[\u0139\u013B\u013D\u013F\u0141]/g, + N: /[\xD1\u0143\u0145\u0147\u014A]/g, + O: /[\xD2-\xD6\xD8\u014C\u014E\u0150]/g, + OE: /[\u0152]/g, + R: /[\u0154\u0156\u0158]/g, + S: /[\u015A\u015C\u015E\u0160]/g, + T: /[\u0162\u0164\u0166]/g, + U: /[\xD9-\xDC\u0168\u016A\u016C\u016E\u0170\u0172]/g, + W: /[\u0174]/g, + Y: /[\xDD\u0176\u0178]/g, + Z: /[\u0179\u017B\u017D]/g, + a: /[\xE0-\xE5\u0101\u0103\u0105]/g, + ae: /[\xE6]/g, + c: /[\xE7\u0107\u0109\u010B\u010D]/g, + d: /[\u010F\u0111]/g, + e: /[\xE8-\xEB\u0113\u0115\u0117\u0119\u011B]/g, + g: /[\u011D\u011F\u0121\u0123]/g, + i: /[\xEC-\xEF\u0129\u012B\u012D\u012F\u0131]/g, + ij: /[\u0133]/g, + j: /[\u0135]/g, + k: /[\u0137,\u0138]/g, + l: /[\u013A\u013C\u013E\u0140\u0142]/g, + n: /[\xF1\u0144\u0146\u0148\u014B]/g, + p: /[\xFE]/g, + o: /[\xF2-\xF6\xF8\u014D\u014F\u0151]/g, + oe: /[\u0153]/g, + r: /[\u0155\u0157\u0159]/g, + s: /[\u015B\u015D\u015F\u0161]/g, + t: /[\u0163\u0165\u0167]/g, + u: /[\xF9-\xFC\u0169\u016B\u016D\u016F\u0171\u0173]/g, + w: /[\u0175]/g, + y: /[\xFD\xFF\u0177]/g, + z: /[\u017A\u017C\u017E]/g + }; + for (let key in accentsMap) { + str = str.replace(accentsMap[key], key); + } } return str; } -__name(removeAccents, "removeAccents"); -function reorderArray(value4, from2, to) { +__name(removeAccents$2, "removeAccents$2"); +function reorderArray$2(value4, from2, to) { if (value4 && from2 !== to) { if (to >= value4.length) { to %= value4.length; @@ -318,67 +386,78 @@ function reorderArray(value4, from2, to) { value4.splice(to, 0, value4.splice(from2, 1)[0]); } } -__name(reorderArray, "reorderArray"); -function sort(value1, value22, order = 1, comparator2, nullSortOrder = 1) { - const result = compare$1(value1, value22, comparator2, order); +__name(reorderArray$2, "reorderArray$2"); +function sort$2(value1, value22, order = 1, comparator, nullSortOrder = 1) { + const result = compare$3(value1, value22, comparator, order); let finalSortOrder = order; - if (isEmpty$1(value1) || isEmpty$1(value22)) { + if (isEmpty$3(value1) || isEmpty$3(value22)) { finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder; } return finalSortOrder * result; } -__name(sort, "sort"); -function stringify(value4, indent = 2, currentIndent = 0) { +__name(sort$2, "sort$2"); +function stringify$2(value4, indent = 2, currentIndent = 0) { const currentIndentStr = " ".repeat(currentIndent); const nextIndentStr = " ".repeat(currentIndent + indent); - if (isArray$a(value4)) { - return "[" + value4.map((v2) => stringify(v2, indent, currentIndent + indent)).join(", ") + "]"; - } else if (isDate$3(value4)) { + if (isArray$c(value4)) { + return "[" + value4.map((v2) => stringify$2(v2, indent, currentIndent + indent)).join(", ") + "]"; + } else if (isDate$5(value4)) { return value4.toISOString(); - } else if (isFunction$9(value4)) { + } else if (isFunction$d(value4)) { return value4.toString(); - } else if (isObject$e(value4)) { - return "{\n" + Object.entries(value4).map(([k2, v2]) => `${nextIndentStr}${k2}: ${stringify(v2, indent, currentIndent + indent)}`).join(",\n") + ` + } else if (isObject$g(value4)) { + return "{\n" + Object.entries(value4).map(([k2, v2]) => `${nextIndentStr}${k2}: ${stringify$2(v2, indent, currentIndent + indent)}`).join(",\n") + ` ${currentIndentStr}}`; } else { return JSON.stringify(value4); } } -__name(stringify, "stringify"); -function toCapitalCase(str) { - return isString$9(str, false) ? str[0].toUpperCase() + str.slice(1) : str; +__name(stringify$2, "stringify$2"); +function toCapitalCase$2(str) { + return isString$b(str, false) ? str[0].toUpperCase() + str.slice(1) : str; } -__name(toCapitalCase, "toCapitalCase"); -function toKebabCase(str) { - return isString$9(str) ? str.replace(/(_)/g, "-").replace(/[A-Z]/g, (c2, i2) => i2 === 0 ? c2 : "-" + c2.toLowerCase()).toLowerCase() : str; +__name(toCapitalCase$2, "toCapitalCase$2"); +function toKebabCase$2(str) { + return isString$b(str) ? str.replace(/(_)/g, "-").replace(/[A-Z]/g, (c2, i2) => i2 === 0 ? c2 : "-" + c2.toLowerCase()).toLowerCase() : str; } -__name(toKebabCase, "toKebabCase"); -function toTokenKey$1(str) { - return isString$9(str) ? str.replace(/[A-Z]/g, (c2, i2) => i2 === 0 ? c2 : "." + c2.toLowerCase()).toLowerCase() : str; +__name(toKebabCase$2, "toKebabCase$2"); +function toTokenKey$4(str) { + return isString$b(str) ? str.replace(/[A-Z]/g, (c2, i2) => i2 === 0 ? c2 : "." + c2.toLowerCase()).toLowerCase() : str; } -__name(toTokenKey$1, "toTokenKey$1"); -function EventBus() { +__name(toTokenKey$4, "toTokenKey$4"); +function toValue$6(value4) { + if (value4 && typeof value4 === "object") { + if (value4.hasOwnProperty("current")) { + return value4.current; + } else if (value4.hasOwnProperty("value")) { + return value4.value; + } + } + return resolve$4(value4); +} +__name(toValue$6, "toValue$6"); +function EventBus$1() { const allHandlers = /* @__PURE__ */ new Map(); return { - on(type, handler6) { + on(type, handler12) { let handlers2 = allHandlers.get(type); - if (!handlers2) handlers2 = [handler6]; - else handlers2.push(handler6); + if (!handlers2) handlers2 = [handler12]; + else handlers2.push(handler12); allHandlers.set(type, handlers2); return this; }, - off(type, handler6) { + off(type, handler12) { let handlers2 = allHandlers.get(type); if (handlers2) { - handlers2.splice(handlers2.indexOf(handler6) >>> 0, 1); + handlers2.splice(handlers2.indexOf(handler12) >>> 0, 1); } return this; }, emit(type, evt) { let handlers2 = allHandlers.get(type); if (handlers2) { - handlers2.slice().map((handler6) => { - handler6(evt); + handlers2.slice().map((handler12) => { + handler12(evt); }); } }, @@ -387,215 +466,223 @@ function EventBus() { } }; } -__name(EventBus, "EventBus"); -var __defProp$1 = Object.defineProperty; -var __defProps = Object.defineProperties; -var __getOwnPropDescs = Object.getOwnPropertyDescriptors; -var __getOwnPropSymbols = Object.getOwnPropertySymbols; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __propIsEnum = Object.prototype.propertyIsEnumerable; -var __defNormalProp$1 = /* @__PURE__ */ __name((obj, key, value4) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value: value4 }) : obj[key] = value4, "__defNormalProp$1"); -var __spreadValues = /* @__PURE__ */ __name((a2, b2) => { +__name(EventBus$1, "EventBus$1"); +var __defProp$6 = Object.defineProperty; +var __defProps$1 = Object.defineProperties; +var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors; +var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols; +var __hasOwnProp$5 = Object.prototype.hasOwnProperty; +var __propIsEnum$5 = Object.prototype.propertyIsEnumerable; +var __defNormalProp$6 = /* @__PURE__ */ __name((obj, key, value4) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value: value4 }) : obj[key] = value4, "__defNormalProp$6"); +var __spreadValues$5 = /* @__PURE__ */ __name((a2, b2) => { for (var prop2 in b2 || (b2 = {})) - if (__hasOwnProp.call(b2, prop2)) - __defNormalProp$1(a2, prop2, b2[prop2]); - if (__getOwnPropSymbols) - for (var prop2 of __getOwnPropSymbols(b2)) { - if (__propIsEnum.call(b2, prop2)) - __defNormalProp$1(a2, prop2, b2[prop2]); + if (__hasOwnProp$5.call(b2, prop2)) + __defNormalProp$6(a2, prop2, b2[prop2]); + if (__getOwnPropSymbols$5) + for (var prop2 of __getOwnPropSymbols$5(b2)) { + if (__propIsEnum$5.call(b2, prop2)) + __defNormalProp$6(a2, prop2, b2[prop2]); } return a2; -}, "__spreadValues"); -var __spreadProps = /* @__PURE__ */ __name((a2, b2) => __defProps(a2, __getOwnPropDescs(b2)), "__spreadProps"); -var __objRest = /* @__PURE__ */ __name((source, exclude) => { - var target = {}; +}, "__spreadValues$5"); +var __spreadProps$1 = /* @__PURE__ */ __name((a2, b2) => __defProps$1(a2, __getOwnPropDescs$1(b2)), "__spreadProps$1"); +var __objRest$1 = /* @__PURE__ */ __name((source, exclude) => { + var target2 = {}; for (var prop2 in source) - if (__hasOwnProp.call(source, prop2) && exclude.indexOf(prop2) < 0) - target[prop2] = source[prop2]; - if (source != null && __getOwnPropSymbols) - for (var prop2 of __getOwnPropSymbols(source)) { - if (exclude.indexOf(prop2) < 0 && __propIsEnum.call(source, prop2)) - target[prop2] = source[prop2]; + if (__hasOwnProp$5.call(source, prop2) && exclude.indexOf(prop2) < 0) + target2[prop2] = source[prop2]; + if (source != null && __getOwnPropSymbols$5) + for (var prop2 of __getOwnPropSymbols$5(source)) { + if (exclude.indexOf(prop2) < 0 && __propIsEnum$5.call(source, prop2)) + target2[prop2] = source[prop2]; } - return target; -}, "__objRest"); -function definePreset(...presets) { - return mergeKeys(...presets); + return target2; +}, "__objRest$1"); +function definePreset$1(...presets) { + return mergeKeys$2(...presets); } -__name(definePreset, "definePreset"); -var ThemeService = EventBus(); -var service_default = ThemeService; -function toTokenKey(str) { - return isString$9(str) ? str.replace(/[A-Z]/g, (c2, i2) => i2 === 0 ? c2 : "." + c2.toLowerCase()).toLowerCase() : str; +__name(definePreset$1, "definePreset$1"); +var ThemeService$1 = EventBus$1(); +var service_default$1 = ThemeService$1; +function toTokenKey$3(str) { + return isString$b(str) ? str.replace(/[A-Z]/g, (c2, i2) => i2 === 0 ? c2 : "." + c2.toLowerCase()).toLowerCase() : str; } -__name(toTokenKey, "toTokenKey"); -function merge$2(value1, value22) { - if (isArray$a(value1)) { +__name(toTokenKey$3, "toTokenKey$3"); +function merge$3(value1, value22) { + if (isArray$c(value1)) { value1.push(...value22 || []); - } else if (isObject$e(value1)) { + } else if (isObject$g(value1)) { Object.assign(value1, value22); } } -__name(merge$2, "merge$2"); -function toValue$2(value4) { - return isObject$e(value4) && value4.hasOwnProperty("value") && value4.hasOwnProperty("type") ? value4.value : value4; +__name(merge$3, "merge$3"); +function toValue$5(value4) { + return isObject$g(value4) && value4.hasOwnProperty("value") && value4.hasOwnProperty("type") ? value4.value : value4; } -__name(toValue$2, "toValue$2"); -function toUnit(value4, variable = "") { +__name(toValue$5, "toValue$5"); +function toUnit$1(value4, variable = "") { const excludedProperties = ["opacity", "z-index", "line-height", "font-weight", "flex", "flex-grow", "flex-shrink", "order"]; if (!excludedProperties.some((property) => variable.endsWith(property))) { const val = `${value4}`.trim(); const valArr = val.split(" "); - return valArr.map((v2) => isNumber$5(v2) ? `${v2}px` : v2).join(" "); + return valArr.map((v2) => isNumber$7(v2) ? `${v2}px` : v2).join(" "); } return value4; } -__name(toUnit, "toUnit"); -function toNormalizePrefix(prefix2) { +__name(toUnit$1, "toUnit$1"); +function toNormalizePrefix$1(prefix2) { return prefix2.replaceAll(/ /g, "").replace(/[^\w]/g, "-"); } -__name(toNormalizePrefix, "toNormalizePrefix"); -function toNormalizeVariable(prefix2 = "", variable = "") { - return toNormalizePrefix(`${isString$9(prefix2, false) && isString$9(variable, false) ? `${prefix2}-` : prefix2}${variable}`); +__name(toNormalizePrefix$1, "toNormalizePrefix$1"); +function toNormalizeVariable$1(prefix2 = "", variable = "") { + return toNormalizePrefix$1(`${isString$b(prefix2, false) && isString$b(variable, false) ? `${prefix2}-` : prefix2}${variable}`); } -__name(toNormalizeVariable, "toNormalizeVariable"); -function getVariableName(prefix2 = "", variable = "") { - return `--${toNormalizeVariable(prefix2, variable)}`; +__name(toNormalizeVariable$1, "toNormalizeVariable$1"); +function getVariableName$1(prefix2 = "", variable = "") { + return `--${toNormalizeVariable$1(prefix2, variable)}`; } -__name(getVariableName, "getVariableName"); -function getVariableValue(value4, variable = "", prefix2 = "", excludedKeyRegexes = [], fallback) { - if (isString$9(value4)) { +__name(getVariableName$1, "getVariableName$1"); +function hasOddBraces$1(str = "") { + const openBraces = (str.match(/{/g) || []).length; + const closeBraces = (str.match(/}/g) || []).length; + return (openBraces + closeBraces) % 2 !== 0; +} +__name(hasOddBraces$1, "hasOddBraces$1"); +function getVariableValue$1(value4, variable = "", prefix2 = "", excludedKeyRegexes = [], fallback) { + if (isString$b(value4)) { const regex2 = /{([^}]*)}/g; const val = value4.trim(); - if (matchRegex(val, regex2)) { + if (hasOddBraces$1(val)) { + return void 0; + } else if (matchRegex$2(val, regex2)) { const _val = val.replaceAll(regex2, (v2) => { const path = v2.replace(/{|}/g, ""); - const keys2 = path.split(".").filter((_v) => !excludedKeyRegexes.some((_r) => matchRegex(_v, _r))); - return `var(${getVariableName(prefix2, toKebabCase(keys2.join("-")))}${isNotEmpty(fallback) ? `, ${fallback}` : ""})`; + const keys2 = path.split(".").filter((_v) => !excludedKeyRegexes.some((_r) => matchRegex$2(_v, _r))); + return `var(${getVariableName$1(prefix2, toKebabCase$2(keys2.join("-")))}${isNotEmpty$2(fallback) ? `, ${fallback}` : ""})`; }); const calculationRegex = /(\d+\s+[\+\-\*\/]\s+\d+)/g; const cleanedVarRegex = /var\([^)]+\)/g; - return matchRegex(_val.replace(cleanedVarRegex, "0"), calculationRegex) ? `calc(${_val})` : _val; + return matchRegex$2(_val.replace(cleanedVarRegex, "0"), calculationRegex) ? `calc(${_val})` : _val; } - return toUnit(val, variable); - } else if (isNumber$5(value4)) { - return toUnit(value4, variable); - } - return void 0; -} -__name(getVariableValue, "getVariableValue"); -function getComputedValue(obj = {}, value4) { - if (isString$9(value4)) { - const regex2 = /{([^}]*)}/g; - const val = value4.trim(); - return matchRegex(val, regex2) ? val.replaceAll(regex2, (v2) => getKeyValue(obj, v2.replace(/{|}/g, ""))) : val; - } else if (isNumber$5(value4)) { + return val; + } else if (isNumber$7(value4)) { return value4; } return void 0; } -__name(getComputedValue, "getComputedValue"); -function setProperty(properties, key, value4) { - if (isString$9(key, false)) { +__name(getVariableValue$1, "getVariableValue$1"); +function getComputedValue$1(obj = {}, value4) { + if (isString$b(value4)) { + const regex2 = /{([^}]*)}/g; + const val = value4.trim(); + return matchRegex$2(val, regex2) ? val.replaceAll(regex2, (v2) => getKeyValue$2(obj, v2.replace(/{|}/g, ""))) : val; + } else if (isNumber$7(value4)) { + return value4; + } + return void 0; +} +__name(getComputedValue$1, "getComputedValue$1"); +function setProperty$1(properties, key, value4) { + if (isString$b(key, false)) { properties.push(`${key}:${value4};`); } } -__name(setProperty, "setProperty"); -function getRule(selector, properties) { +__name(setProperty$1, "setProperty$1"); +function getRule$1(selector, properties) { if (selector) { return `${selector}{${properties}}`; } return ""; } -__name(getRule, "getRule"); -function normalizeColor(color2) { +__name(getRule$1, "getRule$1"); +function normalizeColor$1(color2) { if (color2.length === 4) { return `#${color2[1]}${color2[1]}${color2[2]}${color2[2]}${color2[3]}${color2[3]}`; } return color2; } -__name(normalizeColor, "normalizeColor"); -function hexToRgb$1(hex) { +__name(normalizeColor$1, "normalizeColor$1"); +function hexToRgb$2(hex) { var bigint = parseInt(hex.substring(1), 16); var r2 = bigint >> 16 & 255; var g2 = bigint >> 8 & 255; var b2 = bigint & 255; return { r: r2, g: g2, b: b2 }; } -__name(hexToRgb$1, "hexToRgb$1"); -function rgbToHex(r2, g2, b2) { +__name(hexToRgb$2, "hexToRgb$2"); +function rgbToHex$1(r2, g2, b2) { return `#${r2.toString(16).padStart(2, "0")}${g2.toString(16).padStart(2, "0")}${b2.toString(16).padStart(2, "0")}`; } -__name(rgbToHex, "rgbToHex"); -var mix_default = /* @__PURE__ */ __name((color1, color2, weight) => { - color1 = normalizeColor(color1); - color2 = normalizeColor(color2); +__name(rgbToHex$1, "rgbToHex$1"); +var mix_default$1 = /* @__PURE__ */ __name((color1, color2, weight) => { + color1 = normalizeColor$1(color1); + color2 = normalizeColor$1(color2); var p2 = weight / 100; var w2 = p2 * 2 - 1; var w1 = (w2 + 1) / 2; var w22 = 1 - w1; - var rgb1 = hexToRgb$1(color1); - var rgb2 = hexToRgb$1(color2); + var rgb1 = hexToRgb$2(color1); + var rgb2 = hexToRgb$2(color2); var r2 = Math.round(rgb1.r * w1 + rgb2.r * w22); var g2 = Math.round(rgb1.g * w1 + rgb2.g * w22); var b2 = Math.round(rgb1.b * w1 + rgb2.b * w22); - return rgbToHex(r2, g2, b2); -}, "mix_default"); -var shade_default = /* @__PURE__ */ __name((color2, percent) => mix_default("#000000", color2, percent), "shade_default"); -var tint_default = /* @__PURE__ */ __name((color2, percent) => mix_default("#ffffff", color2, percent), "tint_default"); -var scales = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950]; -var palette_default = /* @__PURE__ */ __name((color2) => { + return rgbToHex$1(r2, g2, b2); +}, "mix_default$1"); +var shade_default$1 = /* @__PURE__ */ __name((color2, percent) => mix_default$1("#000000", color2, percent), "shade_default$1"); +var tint_default$1 = /* @__PURE__ */ __name((color2, percent) => mix_default$1("#ffffff", color2, percent), "tint_default$1"); +var scales$1 = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950]; +var palette_default$1 = /* @__PURE__ */ __name((color2) => { if (/{([^}]*)}/g.test(color2)) { const token = color2.replace(/{|}/g, ""); - return scales.reduce((acc, scale) => (acc[scale] = `{${token}.${scale}}`, acc), {}); + return scales$1.reduce((acc, scale) => (acc[scale] = `{${token}.${scale}}`, acc), {}); } - return typeof color2 === "string" ? scales.reduce((acc, scale, i2) => (acc[scale] = i2 <= 5 ? tint_default(color2, (5 - i2) * 19) : shade_default(color2, (i2 - 5) * 15), acc), {}) : color2; -}, "palette_default"); -var $dt = /* @__PURE__ */ __name((tokenPath) => { + return typeof color2 === "string" ? scales$1.reduce((acc, scale, i2) => (acc[scale] = i2 <= 5 ? tint_default$1(color2, (5 - i2) * 19) : shade_default$1(color2, (i2 - 5) * 15), acc), {}) : color2; +}, "palette_default$1"); +var $dt$1 = /* @__PURE__ */ __name((tokenPath) => { var _a2; - const theme42 = config_default.getTheme(); - const variable = dtwt(theme42, tokenPath, void 0, "variable"); - const name2 = (_a2 = variable.match(/--[\w-]+/g)) == null ? void 0 : _a2[0]; - const value4 = dtwt(theme42, tokenPath, void 0, "value"); + const theme43 = config_default$1.getTheme(); + const variable = dtwt$1(theme43, tokenPath, void 0, "variable"); + const name2 = (_a2 = variable == null ? void 0 : variable.match(/--[\w-]+/g)) == null ? void 0 : _a2[0]; + const value4 = dtwt$1(theme43, tokenPath, void 0, "value"); return { name: name2, variable, value: value4 }; -}, "$dt"); -var dt = /* @__PURE__ */ __name((...args) => { - return dtwt(config_default.getTheme(), ...args); -}, "dt"); -var dtwt = /* @__PURE__ */ __name((theme42 = {}, tokenPath, fallback, type = "variable") => { +}, "$dt$1"); +var dt$1 = /* @__PURE__ */ __name((...args) => { + return dtwt$1(config_default$1.getTheme(), ...args); +}, "dt$1"); +var dtwt$1 = /* @__PURE__ */ __name((theme43 = {}, tokenPath, fallback, type) => { if (tokenPath) { - const { variable: VARIABLE, options: OPTIONS } = config_default.defaults || {}; - const { prefix: prefix2, transform: transform2 } = (theme42 == null ? void 0 : theme42.options) || OPTIONS || {}; + const { variable: VARIABLE, options: OPTIONS } = config_default$1.defaults || {}; + const { prefix: prefix2, transform: transform2 } = (theme43 == null ? void 0 : theme43.options) || OPTIONS || {}; const regex2 = /{([^}]*)}/g; - const token = matchRegex(tokenPath, regex2) ? tokenPath : `{${tokenPath}}`; - const isStrictTransform = type === "value" || transform2 === "strict"; - return isStrictTransform ? config_default.getTokenValue(tokenPath) : getVariableValue(token, void 0, prefix2, [VARIABLE.excludedKeyRegex], fallback); + const token = matchRegex$2(tokenPath, regex2) ? tokenPath : `{${tokenPath}}`; + const isStrictTransform = type === "value" || isEmpty$3(type) && transform2 === "strict"; + return isStrictTransform ? config_default$1.getTokenValue(tokenPath) : getVariableValue$1(token, void 0, prefix2, [VARIABLE.excludedKeyRegex], fallback); } return ""; -}, "dtwt"); -function css$2(style2) { - return resolve$2(style2, { dt }); +}, "dtwt$1"); +function css$5(style2) { + return resolve$4(style2, { dt: dt$1 }); } -__name(css$2, "css$2"); -var $t = /* @__PURE__ */ __name((theme42 = {}) => { - let { preset: _preset, options: _options } = theme42; +__name(css$5, "css$5"); +var $t$1 = /* @__PURE__ */ __name((theme43 = {}) => { + let { preset: _preset, options: _options } = theme43; return { preset(value4) { - _preset = _preset ? mergeKeys(_preset, value4) : value4; + _preset = _preset ? mergeKeys$2(_preset, value4) : value4; return this; }, options(value4) { - _options = _options ? __spreadValues(__spreadValues({}, _options), value4) : value4; + _options = _options ? __spreadValues$5(__spreadValues$5({}, _options), value4) : value4; return this; }, // features primaryPalette(primary) { const { semantic } = _preset || {}; - _preset = __spreadProps(__spreadValues({}, _preset), { semantic: __spreadProps(__spreadValues({}, semantic), { primary }) }); + _preset = __spreadProps$1(__spreadValues$5({}, _preset), { semantic: __spreadProps$1(__spreadValues$5({}, semantic), { primary }) }); return this; }, surfacePalette(surface) { @@ -605,66 +692,66 @@ var $t = /* @__PURE__ */ __name((theme42 = {}) => { const darkSurface = (surface == null ? void 0 : surface.hasOwnProperty("dark")) ? surface == null ? void 0 : surface.dark : surface; const newColorScheme = { colorScheme: { - light: __spreadValues(__spreadValues({}, (_a2 = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _a2.light), !!lightSurface && { surface: lightSurface }), - dark: __spreadValues(__spreadValues({}, (_b = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _b.dark), !!darkSurface && { surface: darkSurface }) + light: __spreadValues$5(__spreadValues$5({}, (_a2 = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _a2.light), !!lightSurface && { surface: lightSurface }), + dark: __spreadValues$5(__spreadValues$5({}, (_b = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _b.dark), !!darkSurface && { surface: darkSurface }) } }; - _preset = __spreadProps(__spreadValues({}, _preset), { semantic: __spreadValues(__spreadValues({}, semantic), newColorScheme) }); + _preset = __spreadProps$1(__spreadValues$5({}, _preset), { semantic: __spreadValues$5(__spreadValues$5({}, semantic), newColorScheme) }); return this; }, // actions define({ useDefaultPreset = false, useDefaultOptions = false } = {}) { return { - preset: useDefaultPreset ? config_default.getPreset() : _preset, - options: useDefaultOptions ? config_default.getOptions() : _options + preset: useDefaultPreset ? config_default$1.getPreset() : _preset, + options: useDefaultOptions ? config_default$1.getOptions() : _options }; }, update({ mergePresets = true, mergeOptions: mergeOptions2 = true } = {}) { const newTheme = { - preset: mergePresets ? mergeKeys(config_default.getPreset(), _preset) : _preset, - options: mergeOptions2 ? __spreadValues(__spreadValues({}, config_default.getOptions()), _options) : _options + preset: mergePresets ? mergeKeys$2(config_default$1.getPreset(), _preset) : _preset, + options: mergeOptions2 ? __spreadValues$5(__spreadValues$5({}, config_default$1.getOptions()), _options) : _options }; - config_default.setTheme(newTheme); + config_default$1.setTheme(newTheme); return newTheme; }, use(options4) { const newTheme = this.define(options4); - config_default.setTheme(newTheme); + config_default$1.setTheme(newTheme); return newTheme; } }; -}, "$t"); -function toVariables_default(theme42, options4 = {}) { - const VARIABLE = config_default.defaults.variable; +}, "$t$1"); +function toVariables_default$1(theme43, options4 = {}) { + const VARIABLE = config_default$1.defaults.variable; const { prefix: prefix2 = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options4; const _toVariables = /* @__PURE__ */ __name((_theme, _prefix = "") => { return Object.entries(_theme).reduce( (acc, [key, value4]) => { - const px = matchRegex(key, excludedKeyRegex) ? toNormalizeVariable(_prefix) : toNormalizeVariable(_prefix, toKebabCase(key)); - const v2 = toValue$2(value4); - if (isObject$e(v2)) { + const px = matchRegex$2(key, excludedKeyRegex) ? toNormalizeVariable$1(_prefix) : toNormalizeVariable$1(_prefix, toKebabCase$2(key)); + const v2 = toValue$5(value4); + if (isObject$g(v2)) { const { variables: variables2, tokens: tokens2 } = _toVariables(v2, px); - merge$2(acc["tokens"], tokens2); - merge$2(acc["variables"], variables2); + merge$3(acc["tokens"], tokens2); + merge$3(acc["variables"], variables2); } else { acc["tokens"].push((prefix2 ? px.replace(`${prefix2}-`, "") : px).replaceAll("-", ".")); - setProperty(acc["variables"], getVariableName(px), getVariableValue(v2, px, prefix2, [excludedKeyRegex])); + setProperty$1(acc["variables"], getVariableName$1(px), getVariableValue$1(v2, px, prefix2, [excludedKeyRegex])); } return acc; }, { variables: [], tokens: [] } ); }, "_toVariables"); - const { variables, tokens } = _toVariables(theme42, prefix2); + const { variables, tokens } = _toVariables(theme43, prefix2); return { value: variables, tokens, declarations: variables.join(""), - css: getRule(selector, variables.join("")) + css: getRule$1(selector, variables.join("")) }; } -__name(toVariables_default, "toVariables_default"); -var themeUtils_default = { +__name(toVariables_default$1, "toVariables_default$1"); +var themeUtils_default$1 = { regex: { rules: { class: { @@ -705,31 +792,44 @@ var themeUtils_default = { }); } }, - _toVariables(theme42, options4) { - return toVariables_default(theme42, { prefix: options4 == null ? void 0 : options4.prefix }); + _toVariables(theme43, options4) { + return toVariables_default$1(theme43, { prefix: options4 == null ? void 0 : options4.prefix }); }, - getCommon({ name: name2 = "", theme: theme42 = {}, params, set: set3, defaults: defaults2 }) { - var _c, _d, _e, _f; - const { preset, options: options4 } = theme42; - let primitive_css, primitive_tokens, semantic_css, semantic_tokens; - if (isNotEmpty(preset)) { - const { primitive, semantic } = preset; - const _a2 = semantic || {}, { colorScheme } = _a2, sRest = __objRest(_a2, ["colorScheme"]); - const _b = colorScheme || {}, { dark: dark2 } = _b, csRest = __objRest(_b, ["dark"]); - const prim_var = isNotEmpty(primitive) ? this._toVariables({ primitive }, options4) : {}; - const sRest_var = isNotEmpty(sRest) ? this._toVariables({ semantic: sRest }, options4) : {}; - const csRest_var = isNotEmpty(csRest) ? this._toVariables({ light: csRest }, options4) : {}; - const dark_var = isNotEmpty(dark2) ? this._toVariables({ dark: dark2 }, options4) : {}; - const [prim_css, prim_tokens] = [(_c = prim_var.declarations) != null ? _c : "", prim_var.tokens]; - const [sRest_css, sRest_tokens] = [(_d = sRest_var.declarations) != null ? _d : "", sRest_var.tokens || []]; - const [csRest_css, csRest_tokens] = [(_e = csRest_var.declarations) != null ? _e : "", csRest_var.tokens || []]; - const [dark_css, dark_tokens] = [(_f = dark_var.declarations) != null ? _f : "", dark_var.tokens || []]; + getCommon({ name: name2 = "", theme: theme43 = {}, params, set: set3, defaults: defaults2 }) { + var _e, _f, _g, _h, _i, _j, _k; + const { preset, options: options4 } = theme43; + let primitive_css, primitive_tokens, semantic_css, semantic_tokens, global_css, global_tokens, style2; + if (isNotEmpty$2(preset) && options4.transform !== "strict") { + const { primitive, semantic, extend: extend5 } = preset; + const _a2 = semantic || {}, { colorScheme } = _a2, sRest = __objRest$1(_a2, ["colorScheme"]); + const _b = extend5 || {}, { colorScheme: eColorScheme } = _b, eRest = __objRest$1(_b, ["colorScheme"]); + const _c = colorScheme || {}, { dark: dark2 } = _c, csRest = __objRest$1(_c, ["dark"]); + const _d = eColorScheme || {}, { dark: eDark } = _d, ecsRest = __objRest$1(_d, ["dark"]); + const prim_var = isNotEmpty$2(primitive) ? this._toVariables({ primitive }, options4) : {}; + const sRest_var = isNotEmpty$2(sRest) ? this._toVariables({ semantic: sRest }, options4) : {}; + const csRest_var = isNotEmpty$2(csRest) ? this._toVariables({ light: csRest }, options4) : {}; + const csDark_var = isNotEmpty$2(dark2) ? this._toVariables({ dark: dark2 }, options4) : {}; + const eRest_var = isNotEmpty$2(eRest) ? this._toVariables({ semantic: eRest }, options4) : {}; + const ecsRest_var = isNotEmpty$2(ecsRest) ? this._toVariables({ light: ecsRest }, options4) : {}; + const ecsDark_var = isNotEmpty$2(eDark) ? this._toVariables({ dark: eDark }, options4) : {}; + const [prim_css, prim_tokens] = [(_e = prim_var.declarations) != null ? _e : "", prim_var.tokens]; + const [sRest_css, sRest_tokens] = [(_f = sRest_var.declarations) != null ? _f : "", sRest_var.tokens || []]; + const [csRest_css, csRest_tokens] = [(_g = csRest_var.declarations) != null ? _g : "", csRest_var.tokens || []]; + const [csDark_css, csDark_tokens] = [(_h = csDark_var.declarations) != null ? _h : "", csDark_var.tokens || []]; + const [eRest_css, eRest_tokens] = [(_i = eRest_var.declarations) != null ? _i : "", eRest_var.tokens || []]; + const [ecsRest_css, ecsRest_tokens] = [(_j = ecsRest_var.declarations) != null ? _j : "", ecsRest_var.tokens || []]; + const [ecsDark_css, ecsDark_tokens] = [(_k = ecsDark_var.declarations) != null ? _k : "", ecsDark_var.tokens || []]; primitive_css = this.transformCSS(name2, prim_css, "light", "variable", options4, set3, defaults2); primitive_tokens = prim_tokens; - const semantic_light_css = this.transformCSS(name2, `${sRest_css}${csRest_css}color-scheme:light`, "light", "variable", options4, set3, defaults2); - const semantic_dark_css = this.transformCSS(name2, `${dark_css}color-scheme:dark`, "dark", "variable", options4, set3, defaults2); + const semantic_light_css = this.transformCSS(name2, `${sRest_css}${csRest_css}`, "light", "variable", options4, set3, defaults2); + const semantic_dark_css = this.transformCSS(name2, `${csDark_css}`, "dark", "variable", options4, set3, defaults2); semantic_css = `${semantic_light_css}${semantic_dark_css}`; - semantic_tokens = [.../* @__PURE__ */ new Set([...sRest_tokens, ...csRest_tokens, ...dark_tokens])]; + semantic_tokens = [.../* @__PURE__ */ new Set([...sRest_tokens, ...csRest_tokens, ...csDark_tokens])]; + const global_light_css = this.transformCSS(name2, `${eRest_css}${ecsRest_css}color-scheme:light`, "light", "variable", options4, set3, defaults2); + const global_dark_css = this.transformCSS(name2, `${ecsDark_css}color-scheme:dark`, "dark", "variable", options4, set3, defaults2); + global_css = `${global_light_css}${global_dark_css}`; + global_tokens = [.../* @__PURE__ */ new Set([...eRest_tokens, ...ecsRest_tokens, ...ecsDark_tokens])]; + style2 = resolve$4(preset.css, { dt: dt$1 }); } return { primitive: { @@ -739,85 +839,103 @@ var themeUtils_default = { semantic: { css: semantic_css, tokens: semantic_tokens - } + }, + global: { + css: global_css, + tokens: global_tokens + }, + style: style2 }; }, getPreset({ name: name2 = "", preset = {}, options: options4, params, set: set3, defaults: defaults2, selector }) { - var _c, _d, _e; - const _name = name2.replace("-directive", ""); - const _a2 = preset, { colorScheme } = _a2, vRest = __objRest(_a2, ["colorScheme"]); - const _b = colorScheme || {}, { dark: dark2 } = _b, csRest = __objRest(_b, ["dark"]); - const vRest_var = isNotEmpty(vRest) ? this._toVariables({ [_name]: vRest }, options4) : {}; - const csRest_var = isNotEmpty(csRest) ? this._toVariables({ [_name]: csRest }, options4) : {}; - const dark_var = isNotEmpty(dark2) ? this._toVariables({ [_name]: dark2 }, options4) : {}; - const [vRest_css, vRest_tokens] = [(_c = vRest_var.declarations) != null ? _c : "", vRest_var.tokens || []]; - const [csRest_css, csRest_tokens] = [(_d = csRest_var.declarations) != null ? _d : "", csRest_var.tokens || []]; - const [dark_css, dark_tokens] = [(_e = dark_var.declarations) != null ? _e : "", dark_var.tokens || []]; - const tokens = [.../* @__PURE__ */ new Set([...vRest_tokens, ...csRest_tokens, ...dark_tokens])]; - const light_variable_css = this.transformCSS(_name, `${vRest_css}${csRest_css}`, "light", "variable", options4, set3, defaults2, selector); - const dark_variable_css = this.transformCSS(_name, dark_css, "dark", "variable", options4, set3, defaults2, selector); + var _e, _f, _g; + let p_css, p_tokens, p_style; + if (isNotEmpty$2(preset) && options4.transform !== "strict") { + const _name = name2.replace("-directive", ""); + const _a2 = preset, { colorScheme, extend: extend5, css: css22 } = _a2, vRest = __objRest$1(_a2, ["colorScheme", "extend", "css"]); + const _b = extend5 || {}, { colorScheme: eColorScheme } = _b, evRest = __objRest$1(_b, ["colorScheme"]); + const _c = colorScheme || {}, { dark: dark2 } = _c, csRest = __objRest$1(_c, ["dark"]); + const _d = eColorScheme || {}, { dark: ecsDark } = _d, ecsRest = __objRest$1(_d, ["dark"]); + const vRest_var = isNotEmpty$2(vRest) ? this._toVariables({ [_name]: __spreadValues$5(__spreadValues$5({}, vRest), evRest) }, options4) : {}; + const csRest_var = isNotEmpty$2(csRest) ? this._toVariables({ [_name]: __spreadValues$5(__spreadValues$5({}, csRest), ecsRest) }, options4) : {}; + const csDark_var = isNotEmpty$2(dark2) ? this._toVariables({ [_name]: __spreadValues$5(__spreadValues$5({}, dark2), ecsDark) }, options4) : {}; + const [vRest_css, vRest_tokens] = [(_e = vRest_var.declarations) != null ? _e : "", vRest_var.tokens || []]; + const [csRest_css, csRest_tokens] = [(_f = csRest_var.declarations) != null ? _f : "", csRest_var.tokens || []]; + const [csDark_css, csDark_tokens] = [(_g = csDark_var.declarations) != null ? _g : "", csDark_var.tokens || []]; + const light_variable_css = this.transformCSS(_name, `${vRest_css}${csRest_css}`, "light", "variable", options4, set3, defaults2, selector); + const dark_variable_css = this.transformCSS(_name, csDark_css, "dark", "variable", options4, set3, defaults2, selector); + p_css = `${light_variable_css}${dark_variable_css}`; + p_tokens = [.../* @__PURE__ */ new Set([...vRest_tokens, ...csRest_tokens, ...csDark_tokens])]; + p_style = resolve$4(css22, { dt: dt$1 }); + } return { - css: `${light_variable_css}${dark_variable_css}`, - tokens + css: p_css, + tokens: p_tokens, + style: p_style }; }, - getPresetC({ name: name2 = "", theme: theme42 = {}, params, set: set3, defaults: defaults2 }) { + getPresetC({ name: name2 = "", theme: theme43 = {}, params, set: set3, defaults: defaults2 }) { var _a2; - const { preset, options: options4 } = theme42; + const { preset, options: options4 } = theme43; const cPreset = (_a2 = preset == null ? void 0 : preset.components) == null ? void 0 : _a2[name2]; return this.getPreset({ name: name2, preset: cPreset, options: options4, params, set: set3, defaults: defaults2 }); }, - getPresetD({ name: name2 = "", theme: theme42 = {}, params, set: set3, defaults: defaults2 }) { + getPresetD({ name: name2 = "", theme: theme43 = {}, params, set: set3, defaults: defaults2 }) { var _a2; const dName = name2.replace("-directive", ""); - const { preset, options: options4 } = theme42; + const { preset, options: options4 } = theme43; const dPreset = (_a2 = preset == null ? void 0 : preset.directives) == null ? void 0 : _a2[dName]; return this.getPreset({ name: dName, preset: dPreset, options: options4, params, set: set3, defaults: defaults2 }); }, + applyDarkColorScheme(options4) { + return !(options4.darkModeSelector === "none" || options4.darkModeSelector === false); + }, getColorSchemeOption(options4, defaults2) { var _a2; - return this.regex.resolve((_a2 = options4.darkModeSelector) != null ? _a2 : defaults2.options.darkModeSelector); + return this.applyDarkColorScheme(options4) ? this.regex.resolve(options4.darkModeSelector === true ? defaults2.options.darkModeSelector : (_a2 = options4.darkModeSelector) != null ? _a2 : defaults2.options.darkModeSelector) : []; }, getLayerOrder(name2, options4 = {}, params, defaults2) { const { cssLayer } = options4; if (cssLayer) { - const order = resolve$2(cssLayer.order || "primeui", params); + const order = resolve$4(cssLayer.order || "primeui", params); return `@layer ${order}`; } return ""; }, - getCommonStyleSheet({ name: name2 = "", theme: theme42 = {}, params, props = {}, set: set3, defaults: defaults2 }) { - const common = this.getCommon({ name: name2, theme: theme42, params, set: set3, defaults: defaults2 }); + getCommonStyleSheet({ name: name2 = "", theme: theme43 = {}, params, props = {}, set: set3, defaults: defaults2 }) { + const common = this.getCommon({ name: name2, theme: theme43, params, set: set3, defaults: defaults2 }); const _props = Object.entries(props).reduce((acc, [k2, v2]) => acc.push(`${k2}="${v2}"`) && acc, []).join(" "); return Object.entries(common || {}).reduce((acc, [key, value4]) => { if (value4 == null ? void 0 : value4.css) { - const _css = minifyCSS(value4 == null ? void 0 : value4.css); + const _css = minifyCSS$2(value4 == null ? void 0 : value4.css); const id3 = `${key}-variables`; acc.push(``); } return acc; }, []).join(""); }, - getStyleSheet({ name: name2 = "", theme: theme42 = {}, params, props = {}, set: set3, defaults: defaults2 }) { + getStyleSheet({ name: name2 = "", theme: theme43 = {}, params, props = {}, set: set3, defaults: defaults2 }) { var _a2; - const options4 = { name: name2, theme: theme42, params, set: set3, defaults: defaults2 }; + const options4 = { name: name2, theme: theme43, params, set: set3, defaults: defaults2 }; const preset_css = (_a2 = name2.includes("-directive") ? this.getPresetD(options4) : this.getPresetC(options4)) == null ? void 0 : _a2.css; const _props = Object.entries(props).reduce((acc, [k2, v2]) => acc.push(`${k2}="${v2}"`) && acc, []).join(" "); - return preset_css ? `` : ""; + return preset_css ? `` : ""; }, createTokens(obj = {}, defaults2, parentKey = "", parentPath = "", tokens = {}) { Object.entries(obj).forEach(([key, value4]) => { - const currentKey = matchRegex(key, defaults2.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey$1(key)}` : toTokenKey$1(key); + const currentKey = matchRegex$2(key, defaults2.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey$4(key)}` : toTokenKey$4(key); const currentPath = parentPath ? `${parentPath}.${key}` : key; - if (isObject$e(value4)) { + if (isObject$g(value4)) { this.createTokens(value4, defaults2, currentKey, currentPath, tokens); } else { tokens[currentKey] || (tokens[currentKey] = { paths: [], computed(colorScheme, tokenPathMap = {}) { - if (colorScheme) { - const path = this.paths.find((p2) => p2.scheme === colorScheme) || this.paths.find((p2) => p2.scheme === "none"); - return path == null ? void 0 : path.computed(colorScheme, tokenPathMap["binding"]); + var _a2, _b; + if (this.paths.length === 1) { + return (_a2 = this.paths[0]) == null ? void 0 : _a2.computed(this.paths[0].scheme, tokenPathMap["binding"]); + } else if (colorScheme && colorScheme !== "none") { + return (_b = this.paths.find((p2) => p2.scheme === colorScheme)) == null ? void 0 : _b.computed(colorScheme, tokenPathMap["binding"]); } return this.paths.map((p2) => p2.computed(p2.scheme, tokenPathMap[p2.scheme])); } @@ -831,18 +949,19 @@ var themeUtils_default = { let computedValue = value4; tokenPathMap["name"] = this.path; tokenPathMap["binding"] || (tokenPathMap["binding"] = {}); - if (matchRegex(value4, regex2)) { + if (matchRegex$2(value4, regex2)) { const val = value4.trim(); const _val = val.replaceAll(regex2, (v2) => { - var _a2, _b; + var _a2; const path = v2.replace(/{|}/g, ""); - return (_b = (_a2 = tokens[path]) == null ? void 0 : _a2.computed(colorScheme, tokenPathMap)) == null ? void 0 : _b.value; + const computed2 = (_a2 = tokens[path]) == null ? void 0 : _a2.computed(colorScheme, tokenPathMap); + return isArray$c(computed2) && computed2.length === 2 ? `light-dark(${computed2[0].value},${computed2[1].value})` : computed2 == null ? void 0 : computed2.value; }); const calculationRegex = /(\d+\w*\s+[\+\-\*\/]\s+\d+\w*)/g; const cleanedVarRegex = /var\([^)]+\)/g; - computedValue = matchRegex(_val.replace(cleanedVarRegex, "0"), calculationRegex) ? `calc(${_val})` : _val; + computedValue = matchRegex$2(_val.replace(cleanedVarRegex, "0"), calculationRegex) ? `calc(${_val})` : _val; } - isEmpty$1(tokenPathMap["binding"]) && delete tokenPathMap["binding"]; + isEmpty$3(tokenPathMap["binding"]) && delete tokenPathMap["binding"]; return { colorScheme, path: this.path, @@ -859,38 +978,40 @@ var themeUtils_default = { var _a2; const normalizePath2 = /* @__PURE__ */ __name((str) => { const strArr = str.split("."); - return strArr.filter((s2) => !matchRegex(s2.toLowerCase(), defaults2.variable.excludedKeyRegex)).join("."); + return strArr.filter((s2) => !matchRegex$2(s2.toLowerCase(), defaults2.variable.excludedKeyRegex)).join("."); }, "normalizePath"); const token = normalizePath2(path); const colorScheme = path.includes("colorScheme.light") ? "light" : path.includes("colorScheme.dark") ? "dark" : void 0; const computedValues = [(_a2 = tokens[token]) == null ? void 0 : _a2.computed(colorScheme)].flat().filter((computed2) => computed2); return computedValues.length === 1 ? computedValues[0].value : computedValues.reduce((acc = {}, computed2) => { - const _a22 = computed2, { colorScheme: cs } = _a22, rest = __objRest(_a22, ["colorScheme"]); + const _a22 = computed2, { colorScheme: cs } = _a22, rest = __objRest$1(_a22, ["colorScheme"]); acc[cs] = rest; return acc; }, void 0); }, + getSelectorRule(selector1, selector2, type, css22) { + return type === "class" || type === "attr" ? getRule$1(isNotEmpty$2(selector2) ? `${selector1}${selector2},${selector1} ${selector2}` : selector1, css22) : getRule$1(selector1, isNotEmpty$2(selector2) ? getRule$1(selector2, css22) : css22); + }, transformCSS(name2, css22, mode2, type, options4 = {}, set3, defaults2, selector) { - if (isNotEmpty(css22)) { + if (isNotEmpty$2(css22)) { const { cssLayer } = options4; if (type !== "style") { const colorSchemeOption = this.getColorSchemeOption(options4, defaults2); - const _css = selector ? getRule(selector, css22) : css22; - css22 = mode2 === "dark" ? colorSchemeOption.reduce((acc, { selector: _selector }) => { - if (isNotEmpty(_selector)) { - acc += _selector.includes("[CSS]") ? _selector.replace("[CSS]", _css) : getRule(_selector, _css); + css22 = mode2 === "dark" ? colorSchemeOption.reduce((acc, { type: type2, selector: _selector }) => { + if (isNotEmpty$2(_selector)) { + acc += _selector.includes("[CSS]") ? _selector.replace("[CSS]", css22) : this.getSelectorRule(_selector, selector, type2, css22); } return acc; - }, "") : getRule(selector != null ? selector : ":root", css22); + }, "") : getRule$1(selector != null ? selector : ":root", css22); } if (cssLayer) { const layerOptions = { name: "primeui", order: "primeui" }; - isObject$e(cssLayer) && (layerOptions.name = resolve$2(cssLayer.name, { name: name2, type })); - if (isNotEmpty(layerOptions.name)) { - css22 = getRule(`@layer ${layerOptions.name}`, css22); + isObject$g(cssLayer) && (layerOptions.name = resolve$4(cssLayer.name, { name: name2, type })); + if (isNotEmpty$2(layerOptions.name)) { + css22 = getRule$1(`@layer ${layerOptions.name}`, css22); set3 == null ? void 0 : set3.layerNames(layerOptions.name); } } @@ -899,12 +1020,12 @@ var themeUtils_default = { return ""; } }; -var config_default = { +var config_default$1 = { defaults: { variable: { prefix: "p", selector: ":root", - excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states)$/gi + excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi }, options: { prefix: "p", @@ -918,12 +1039,12 @@ var config_default = { _loadingStyles: /* @__PURE__ */ new Set(), _tokens: {}, update(newValues = {}) { - const { theme: theme42 } = newValues; - if (theme42) { - this._theme = __spreadProps(__spreadValues({}, theme42), { - options: __spreadValues(__spreadValues({}, this.defaults.options), theme42.options) + const { theme: theme43 } = newValues; + if (theme43) { + this._theme = __spreadProps$1(__spreadValues$5({}, theme43), { + options: __spreadValues$5(__spreadValues$5({}, this.defaults.options), theme43.options) }); - this._tokens = themeUtils_default.createTokens(this.preset, this.defaults); + this._tokens = themeUtils_default$1.createTokens(this.preset, this.defaults); this.clearLoadedStyleNames(); } }, @@ -946,26 +1067,26 @@ var config_default = { }, setTheme(newValue2) { this.update({ theme: newValue2 }); - service_default.emit("theme:change", newValue2); + service_default$1.emit("theme:change", newValue2); }, getPreset() { return this.preset; }, setPreset(newValue2) { - this._theme = __spreadProps(__spreadValues({}, this.theme), { preset: newValue2 }); - this._tokens = themeUtils_default.createTokens(newValue2, this.defaults); + this._theme = __spreadProps$1(__spreadValues$5({}, this.theme), { preset: newValue2 }); + this._tokens = themeUtils_default$1.createTokens(newValue2, this.defaults); this.clearLoadedStyleNames(); - service_default.emit("preset:change", newValue2); - service_default.emit("theme:change", this.theme); + service_default$1.emit("preset:change", newValue2); + service_default$1.emit("theme:change", this.theme); }, getOptions() { return this.options; }, setOptions(newValue2) { - this._theme = __spreadProps(__spreadValues({}, this.theme), { options: newValue2 }); + this._theme = __spreadProps$1(__spreadValues$5({}, this.theme), { options: newValue2 }); this.clearLoadedStyleNames(); - service_default.emit("options:change", newValue2); - service_default.emit("theme:change", this.theme); + service_default$1.emit("options:change", newValue2); + service_default$1.emit("theme:change", this.theme); }, getLayerNames() { return [...this._layerNames]; @@ -989,34 +1110,34 @@ var config_default = { this._loadedStyleNames.clear(); }, getTokenValue(tokenPath) { - return themeUtils_default.getTokenValue(this.tokens, tokenPath, this.defaults); + return themeUtils_default$1.getTokenValue(this.tokens, tokenPath, this.defaults); }, getCommon(name2 = "", params) { - return themeUtils_default.getCommon({ name: name2, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); + return themeUtils_default$1.getCommon({ name: name2, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); }, getComponent(name2 = "", params) { const options4 = { name: name2, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; - return themeUtils_default.getPresetC(options4); + return themeUtils_default$1.getPresetC(options4); }, getDirective(name2 = "", params) { const options4 = { name: name2, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; - return themeUtils_default.getPresetD(options4); + return themeUtils_default$1.getPresetD(options4); }, getCustomPreset(name2 = "", preset, selector, params) { const options4 = { name: name2, preset, options: this.options, selector, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }; - return themeUtils_default.getPreset(options4); + return themeUtils_default$1.getPreset(options4); }, getLayerOrderCSS(name2 = "") { - return themeUtils_default.getLayerOrder(name2, this.options, { names: this.getLayerNames() }, this.defaults); + return themeUtils_default$1.getLayerOrder(name2, this.options, { names: this.getLayerNames() }, this.defaults); }, transformCSS(name2 = "", css22, type = "style", mode2) { - return themeUtils_default.transformCSS(name2, css22, mode2, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults); + return themeUtils_default$1.transformCSS(name2, css22, mode2, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults); }, getCommonStyleSheet(name2 = "", params, props = {}) { - return themeUtils_default.getCommonStyleSheet({ name: name2, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); + return themeUtils_default$1.getCommonStyleSheet({ name: name2, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); }, getStyleSheet(name2, params, props = {}) { - return themeUtils_default.getStyleSheet({ name: name2, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); + return themeUtils_default$1.getStyleSheet({ name: name2, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } }); }, onStyleMounted(name2) { this._loadingStyles.add(name2); @@ -1027,36 +1148,36 @@ var config_default = { onStyleLoaded(event, { name: name2 }) { if (this._loadingStyles.size) { this._loadingStyles.delete(name2); - service_default.emit(`theme:${name2}:load`, event); - !this._loadingStyles.size && service_default.emit("theme:load"); + service_default$1.emit(`theme:${name2}:load`, event); + !this._loadingStyles.size && service_default$1.emit("theme:load"); } } }; -function updatePreset(...presets) { - const newPreset = mergeKeys(config_default.getPreset(), ...presets); - config_default.setPreset(newPreset); +function updatePreset$1(...presets) { + const newPreset = mergeKeys$2(config_default$1.getPreset(), ...presets); + config_default$1.setPreset(newPreset); return newPreset; } -__name(updatePreset, "updatePreset"); -function updatePrimaryPalette(primary) { - return $t().primaryPalette(primary).update().preset; +__name(updatePreset$1, "updatePreset$1"); +function updatePrimaryPalette$1(primary) { + return $t$1().primaryPalette(primary).update().preset; } -__name(updatePrimaryPalette, "updatePrimaryPalette"); -function updateSurfacePalette(palette) { - return $t().surfacePalette(palette).update().preset; +__name(updatePrimaryPalette$1, "updatePrimaryPalette$1"); +function updateSurfacePalette$1(palette) { + return $t$1().surfacePalette(palette).update().preset; } -__name(updateSurfacePalette, "updateSurfacePalette"); -function usePreset(...presets) { - const newPreset = mergeKeys(...presets); - config_default.setPreset(newPreset); +__name(updateSurfacePalette$1, "updateSurfacePalette$1"); +function usePreset$1(...presets) { + const newPreset = mergeKeys$2(...presets); + config_default$1.setPreset(newPreset); return newPreset; } -__name(usePreset, "usePreset"); -function useTheme(theme42) { - return $t(theme42).update({ mergePresets: false }); +__name(usePreset$1, "usePreset$1"); +function useTheme$1(theme43) { + return $t$1(theme43).update({ mergePresets: false }); } -__name(useTheme, "useTheme"); -var index$1n = { +__name(useTheme$1, "useTheme$1"); +var index$1r = { root: { transitionDuration: "{transition.duration}" }, @@ -1081,7 +1202,7 @@ var index$1n = { width: "{focus.ring.width}", style: "{focus.ring.style}", color: "{focus.ring.color}", - offset: "{focus.ring.offset}", + offset: "-1px", shadow: "{focus.ring.shadow}" }, toggleIcon: { @@ -1107,11 +1228,12 @@ var index$1n = { padding: "0 1.125rem 1.125rem 1.125rem" } }; -var index$1m = { +var index$1q = { root: { background: "{form.field.background}", disabledBackground: "{form.field.disabled.background}", filledBackground: "{form.field.filled.background}", + filledHoverBackground: "{form.field.filled.hover.background}", filledFocusBackground: "{form.field.filled.focus.background}", borderColor: "{form.field.border.color}", hoverBorderColor: "{form.field.hover.border.color}", @@ -1120,6 +1242,7 @@ var index$1m = { color: "{form.field.color}", disabledColor: "{form.field.disabled.color}", placeholderColor: "{form.field.placeholder.color}", + invalidPlaceholderColor: "{form.field.invalid.placeholder.color}", shadow: "{form.field.shadow}", paddingX: "{form.field.padding.x}", paddingY: "{form.field.padding.y}", @@ -1163,6 +1286,12 @@ var index$1m = { }, dropdown: { width: "2.5rem", + sm: { + width: "2rem" + }, + lg: { + width: "3rem" + }, borderColor: "{form.field.border.color}", hoverBorderColor: "{form.field.border.color}", activeBorderColor: "{form.field.border.color}", @@ -1183,6 +1312,10 @@ var index$1m = { }, colorScheme: { light: { + chip: { + focusBackground: "{surface.200}", + focusColor: "{surface.800}" + }, dropdown: { background: "{surface.100}", hoverBackground: "{surface.200}", @@ -1193,6 +1326,10 @@ var index$1m = { } }, dark: { + chip: { + focusBackground: "{surface.700}", + focusColor: "{surface.0}" + }, dropdown: { background: "{surface.800}", hoverBackground: "{surface.700}", @@ -1204,30 +1341,46 @@ var index$1m = { } } }; -var index$1l = { +var index$1p = { root: { width: "2rem", height: "2rem", fontSize: "1rem", background: "{content.border.color}", + color: "{content.color}", borderRadius: "{content.border.radius}" }, + icon: { + size: "1rem" + }, group: { borderColor: "{content.background}", - offset: "-1rem" + offset: "-0.75rem" }, lg: { width: "3rem", height: "3rem", - fontSize: "1.5rem" + fontSize: "1.5rem", + icon: { + size: "1.5rem" + }, + group: { + offset: "-1rem" + } }, xl: { width: "4rem", height: "4rem", - fontSize: "2rem" + fontSize: "2rem", + icon: { + size: "2rem" + }, + group: { + offset: "-1.5rem" + } } }; -var index$1k = { +var index$1o = { root: { borderRadius: "{border.radius.md}", padding: "0 0.5rem", @@ -1317,3933 +1470,7 @@ var index$1k = { } } }; -var index$1j = { - root: { - borderRadius: "{content.border.radius}" - } -}; -var index$1i = { - root: { - padding: "1rem", - background: "{content.background}", - gap: "0.5rem", - transitionDuration: "{transition.duration}" - }, - item: { - color: "{text.muted.color}", - hoverColor: "{text.color}", - borderRadius: "{content.border.radius}", - gap: "{navigation.item.gap}", - icon: { - color: "{navigation.item.icon.color}", - hoverColor: "{navigation.item.icon.focus.color}" - }, - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - separator: { - color: "{navigation.item.icon.color}" - } -}; -var index$1h = { - root: { - borderRadius: "{form.field.border.radius}", - roundedBorderRadius: "2rem", - gap: "0.5rem", - paddingX: "{form.field.padding.x}", - paddingY: "{form.field.padding.y}", - iconOnlyWidth: "2.5rem", - sm: { - fontSize: "0.875rem", - paddingX: "0.625rem", - paddingY: "0.375rem" - }, - lg: { - fontSize: "1.125rem", - paddingX: "0.875rem", - paddingY: "0.625rem" - }, - label: { - fontWeight: "500" - }, - raisedShadow: "0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - offset: "{focus.ring.offset}" - }, - badgeSize: "1rem", - transitionDuration: "{form.field.transition.duration}" - }, - colorScheme: { - light: { - root: { - primary: { - background: "{primary.color}", - hoverBackground: "{primary.hover.color}", - activeBackground: "{primary.active.color}", - borderColor: "{primary.color}", - hoverBorderColor: "{primary.hover.color}", - activeBorderColor: "{primary.active.color}", - color: "{primary.contrast.color}", - hoverColor: "{primary.contrast.color}", - activeColor: "{primary.contrast.color}", - focusRing: { - color: "{primary.color}", - shadow: "none" - } - }, - secondary: { - background: "{surface.100}", - hoverBackground: "{surface.200}", - activeBackground: "{surface.300}", - borderColor: "{surface.100}", - hoverBorderColor: "{surface.200}", - activeBorderColor: "{surface.300}", - color: "{surface.600}", - hoverColor: "{surface.700}", - activeColor: "{surface.800}", - focusRing: { - color: "{surface.600}", - shadow: "none" - } - }, - info: { - background: "{sky.500}", - hoverBackground: "{sky.600}", - activeBackground: "{sky.700}", - borderColor: "{sky.500}", - hoverBorderColor: "{sky.600}", - activeBorderColor: "{sky.700}", - color: "#ffffff", - hoverColor: "#ffffff", - activeColor: "#ffffff", - focusRing: { - color: "{sky.500}", - shadow: "none" - } - }, - success: { - background: "{green.500}", - hoverBackground: "{green.600}", - activeBackground: "{green.700}", - borderColor: "{green.500}", - hoverBorderColor: "{green.600}", - activeBorderColor: "{green.700}", - color: "#ffffff", - hoverColor: "#ffffff", - activeColor: "#ffffff", - focusRing: { - color: "{green.500}", - shadow: "none" - } - }, - warn: { - background: "{orange.500}", - hoverBackground: "{orange.600}", - activeBackground: "{orange.700}", - borderColor: "{orange.500}", - hoverBorderColor: "{orange.600}", - activeBorderColor: "{orange.700}", - color: "#ffffff", - hoverColor: "#ffffff", - activeColor: "#ffffff", - focusRing: { - color: "{orange.500}", - shadow: "none" - } - }, - help: { - background: "{purple.500}", - hoverBackground: "{purple.600}", - activeBackground: "{purple.700}", - borderColor: "{purple.500}", - hoverBorderColor: "{purple.600}", - activeBorderColor: "{purple.700}", - color: "#ffffff", - hoverColor: "#ffffff", - activeColor: "#ffffff", - focusRing: { - color: "{purple.500}", - shadow: "none" - } - }, - danger: { - background: "{red.500}", - hoverBackground: "{red.600}", - activeBackground: "{red.700}", - borderColor: "{red.500}", - hoverBorderColor: "{red.600}", - activeBorderColor: "{red.700}", - color: "#ffffff", - hoverColor: "#ffffff", - activeColor: "#ffffff", - focusRing: { - color: "{red.500}", - shadow: "none" - } - }, - contrast: { - background: "{surface.950}", - hoverBackground: "{surface.900}", - activeBackground: "{surface.800}", - borderColor: "{surface.950}", - hoverBorderColor: "{surface.900}", - activeBorderColor: "{surface.800}", - color: "{surface.0}", - hoverColor: "{surface.0}", - activeColor: "{surface.0}", - focusRing: { - color: "{surface.950}", - shadow: "none" - } - } - }, - outlined: { - primary: { - hoverBackground: "{primary.50}", - activeBackground: "{primary.100}", - borderColor: "{primary.200}", - color: "{primary.color}" - }, - secondary: { - hoverBackground: "{surface.50}", - activeBackground: "{surface.100}", - borderColor: "{surface.200}", - color: "{surface.500}" - }, - success: { - hoverBackground: "{green.50}", - activeBackground: "{green.100}", - borderColor: "{green.200}", - color: "{green.500}" - }, - info: { - hoverBackground: "{sky.50}", - activeBackground: "{sky.100}", - borderColor: "{sky.200}", - color: "{sky.500}" - }, - warn: { - hoverBackground: "{orange.50}", - activeBackground: "{orange.100}", - borderColor: "{orange.200}", - color: "{orange.500}" - }, - help: { - hoverBackground: "{purple.50}", - activeBackground: "{purple.100}", - borderColor: "{purple.200}", - color: "{purple.500}" - }, - danger: { - hoverBackground: "{red.50}", - activeBackground: "{red.100}", - borderColor: "{red.200}", - color: "{red.500}" - }, - contrast: { - hoverBackground: "{surface.50}", - activeBackground: "{surface.100}", - borderColor: "{surface.700}", - color: "{surface.950}" - }, - plain: { - hoverBackground: "{surface.50}", - activeBackground: "{surface.100}", - borderColor: "{surface.200}", - color: "{surface.700}" - } - }, - text: { - primary: { - hoverBackground: "{primary.50}", - activeBackground: "{primary.100}", - color: "{primary.color}" - }, - secondary: { - hoverBackground: "{surface.50}", - activeBackground: "{surface.100}", - color: "{surface.500}" - }, - success: { - hoverBackground: "{green.50}", - activeBackground: "{green.100}", - color: "{green.500}" - }, - info: { - hoverBackground: "{sky.50}", - activeBackground: "{sky.100}", - color: "{sky.500}" - }, - warn: { - hoverBackground: "{orange.50}", - activeBackground: "{orange.100}", - color: "{orange.500}" - }, - help: { - hoverBackground: "{purple.50}", - activeBackground: "{purple.100}", - color: "{purple.500}" - }, - danger: { - hoverBackground: "{red.50}", - activeBackground: "{red.100}", - color: "{red.500}" - }, - plain: { - hoverBackground: "{surface.50}", - activeBackground: "{surface.100}", - color: "{surface.700}" - } - }, - link: { - color: "{primary.color}", - hoverColor: "{primary.color}", - activeColor: "{primary.color}" - } - }, - dark: { - root: { - primary: { - background: "{primary.color}", - hoverBackground: "{primary.hover.color}", - activeBackground: "{primary.active.color}", - borderColor: "{primary.color}", - hoverBorderColor: "{primary.hover.color}", - activeBorderColor: "{primary.active.color}", - color: "{primary.contrast.color}", - hoverColor: "{primary.contrast.color}", - activeColor: "{primary.contrast.color}", - focusRing: { - color: "{primary.color}", - shadow: "none" - } - }, - secondary: { - background: "{surface.800}", - hoverBackground: "{surface.700}", - activeBackground: "{surface.600}", - borderColor: "{surface.800}", - hoverBorderColor: "{surface.700}", - activeBorderColor: "{surface.600}", - color: "{surface.300}", - hoverColor: "{surface.200}", - activeColor: "{surface.100}", - focusRing: { - color: "{surface.300}", - shadow: "none" - } - }, - info: { - background: "{sky.400}", - hoverBackground: "{sky.300}", - activeBackground: "{sky.200}", - borderColor: "{sky.400}", - hoverBorderColor: "{sky.300}", - activeBorderColor: "{sky.200}", - color: "{sky.950}", - hoverColor: "{sky.950}", - activeColor: "{sky.950}", - focusRing: { - color: "{sky.400}", - shadow: "none" - } - }, - success: { - background: "{green.400}", - hoverBackground: "{green.300}", - activeBackground: "{green.200}", - borderColor: "{green.400}", - hoverBorderColor: "{green.300}", - activeBorderColor: "{green.200}", - color: "{green.950}", - hoverColor: "{green.950}", - activeColor: "{green.950}", - focusRing: { - color: "{green.400}", - shadow: "none" - } - }, - warn: { - background: "{orange.400}", - hoverBackground: "{orange.300}", - activeBackground: "{orange.200}", - borderColor: "{orange.400}", - hoverBorderColor: "{orange.300}", - activeBorderColor: "{orange.200}", - color: "{orange.950}", - hoverColor: "{orange.950}", - activeColor: "{orange.950}", - focusRing: { - color: "{orange.400}", - shadow: "none" - } - }, - help: { - background: "{purple.400}", - hoverBackground: "{purple.300}", - activeBackground: "{purple.200}", - borderColor: "{purple.400}", - hoverBorderColor: "{purple.300}", - activeBorderColor: "{purple.200}", - color: "{purple.950}", - hoverColor: "{purple.950}", - activeColor: "{purple.950}", - focusRing: { - color: "{purple.400}", - shadow: "none" - } - }, - danger: { - background: "{red.400}", - hoverBackground: "{red.300}", - activeBackground: "{red.200}", - borderColor: "{red.400}", - hoverBorderColor: "{red.300}", - activeBorderColor: "{red.200}", - color: "{red.950}", - hoverColor: "{red.950}", - activeColor: "{red.950}", - focusRing: { - color: "{red.400}", - shadow: "none" - } - }, - contrast: { - background: "{surface.0}", - hoverBackground: "{surface.100}", - activeBackground: "{surface.200}", - borderColor: "{surface.0}", - hoverBorderColor: "{surface.100}", - activeBorderColor: "{surface.200}", - color: "{surface.950}", - hoverColor: "{surface.950}", - activeColor: "{surface.950}", - focusRing: { - color: "{surface.0}", - shadow: "none" - } - } - }, - outlined: { - primary: { - hoverBackground: "color-mix(in srgb, {primary.color}, transparent 96%)", - activeBackground: "color-mix(in srgb, {primary.color}, transparent 84%)", - borderColor: "{primary.700}", - color: "{primary.color}" - }, - secondary: { - hoverBackground: "rgba(255,255,255,0.04)", - activeBackground: "rgba(255,255,255,0.16)", - borderColor: "{surface.700}", - color: "{surface.400}" - }, - success: { - hoverBackground: "color-mix(in srgb, {green.400}, transparent 96%)", - activeBackground: "color-mix(in srgb, {green.400}, transparent 84%)", - borderColor: "{green.700}", - color: "{green.400}" - }, - info: { - hoverBackground: "color-mix(in srgb, {sky.400}, transparent 96%)", - activeBackground: "color-mix(in srgb, {sky.400}, transparent 84%)", - borderColor: "{sky.700}", - color: "{sky.400}" - }, - warn: { - hoverBackground: "color-mix(in srgb, {orange.400}, transparent 96%)", - activeBackground: "color-mix(in srgb, {orange.400}, transparent 84%)", - borderColor: "{orange.700}", - color: "{orange.400}" - }, - help: { - hoverBackground: "color-mix(in srgb, {purple.400}, transparent 96%)", - activeBackground: "color-mix(in srgb, {purple.400}, transparent 84%)", - borderColor: "{purple.700}", - color: "{purple.400}" - }, - danger: { - hoverBackground: "color-mix(in srgb, {red.400}, transparent 96%)", - activeBackground: "color-mix(in srgb, {red.400}, transparent 84%)", - borderColor: "{red.700}", - color: "{red.400}" - }, - contrast: { - hoverBackground: "{surface.800}", - activeBackground: "{surface.700}", - borderColor: "{surface.500}", - color: "{surface.0}" - }, - plain: { - hoverBackground: "{surface.800}", - activeBackground: "{surface.700}", - borderColor: "{surface.600}", - color: "{surface.0}" - } - }, - text: { - primary: { - hoverBackground: "color-mix(in srgb, {primary.color}, transparent 96%)", - activeBackground: "color-mix(in srgb, {primary.color}, transparent 84%)", - color: "{primary.color}" - }, - secondary: { - hoverBackground: "{surface.800}", - activeBackground: "{surface.700}", - color: "{surface.400}" - }, - success: { - hoverBackground: "color-mix(in srgb, {green.400}, transparent 96%)", - activeBackground: "color-mix(in srgb, {green.400}, transparent 84%)", - color: "{green.400}" - }, - info: { - hoverBackground: "color-mix(in srgb, {sky.400}, transparent 96%)", - activeBackground: "color-mix(in srgb, {sky.400}, transparent 84%)", - color: "{sky.400}" - }, - warn: { - hoverBackground: "color-mix(in srgb, {orange.400}, transparent 96%)", - activeBackground: "color-mix(in srgb, {orange.400}, transparent 84%)", - color: "{orange.400}" - }, - help: { - hoverBackground: "color-mix(in srgb, {purple.400}, transparent 96%)", - activeBackground: "color-mix(in srgb, {purple.400}, transparent 84%)", - color: "{purple.400}" - }, - danger: { - hoverBackground: "color-mix(in srgb, {red.400}, transparent 96%)", - activeBackground: "color-mix(in srgb, {red.400}, transparent 84%)", - color: "{red.400}" - }, - plain: { - hoverBackground: "{surface.800}", - activeBackground: "{surface.700}", - color: "{surface.0}" - } - }, - link: { - color: "{primary.color}", - hoverColor: "{primary.color}", - activeColor: "{primary.color}" - } - } - } -}; -var index$1g = { - root: { - background: "{content.background}", - borderRadius: "{border.radius.xl}", - color: "{content.color}", - shadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)" - }, - body: { - padding: "1.25rem", - gap: "0.5rem" - }, - caption: { - gap: "0.5rem" - }, - title: { - fontSize: "1.25rem", - fontWeight: "500" - }, - subtitle: { - color: "{text.muted.color}" - } -}; -var index$1f = { - root: { - transitionDuration: "{transition.duration}" - }, - content: { - gap: "0.25rem" - }, - indicatorList: { - padding: "1rem", - gap: "0.5rem" - }, - indicator: { - width: "2rem", - height: "0.5rem", - borderRadius: "{content.border.radius}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - colorScheme: { - light: { - indicator: { - background: "{surface.200}", - hoverBackground: "{surface.300}", - activeBackground: "{primary.color}" - } - }, - dark: { - indicator: { - background: "{surface.700}", - hoverBackground: "{surface.600}", - activeBackground: "{primary.color}" - } - } - } -}; -var index$1e = { - root: { - background: "{form.field.background}", - disabledBackground: "{form.field.disabled.background}", - filledBackground: "{form.field.filled.background}", - filledFocusBackground: "{form.field.filled.focus.background}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.hover.border.color}", - focusBorderColor: "{form.field.focus.border.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - color: "{form.field.color}", - disabledColor: "{form.field.disabled.color}", - placeholderColor: "{form.field.placeholder.color}", - shadow: "{form.field.shadow}", - paddingX: "{form.field.padding.x}", - paddingY: "{form.field.padding.y}", - borderRadius: "{form.field.border.radius}", - focusRing: { - width: "{form.field.focus.ring.width}", - style: "{form.field.focus.ring.style}", - color: "{form.field.focus.ring.color}", - offset: "{form.field.focus.ring.offset}", - shadow: "{form.field.focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}" - }, - dropdown: { - width: "2.5rem", - color: "{form.field.icon.color}" - }, - overlay: { - background: "{overlay.select.background}", - borderColor: "{overlay.select.border.color}", - borderRadius: "{overlay.select.border.radius}", - color: "{overlay.select.color}", - shadow: "{overlay.select.shadow}" - }, - list: { - padding: "{list.padding}", - gap: "{list.gap}" - }, - option: { - focusBackground: "{list.option.focus.background}", - selectedBackground: "{list.option.selected.background}", - selectedFocusBackground: "{list.option.selected.focus.background}", - color: "{list.option.color}", - focusColor: "{list.option.focus.color}", - selectedColor: "{list.option.selected.color}", - selectedFocusColor: "{list.option.selected.focus.color}", - padding: "{list.option.padding}", - borderRadius: "{list.option.border.radius}", - icon: { - color: "{list.option.icon.color}", - focusColor: "{list.option.icon.focus.color}", - size: "0.875rem" - } - } -}; -var index$1d = { - root: { - borderRadius: "{border.radius.sm}", - width: "1.25rem", - height: "1.25rem", - background: "{form.field.background}", - checkedBackground: "{primary.color}", - checkedHoverBackground: "{primary.hover.color}", - disabledBackground: "{form.field.disabled.background}", - filledBackground: "{form.field.filled.background}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.hover.border.color}", - focusBorderColor: "{form.field.border.color}", - checkedBorderColor: "{primary.color}", - checkedHoverBorderColor: "{primary.hover.color}", - checkedFocusBorderColor: "{primary.color}", - checkedDisabledBorderColor: "{form.field.border.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - shadow: "{form.field.shadow}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}" - }, - icon: { - size: "0.875rem", - color: "{form.field.color}", - checkedColor: "{primary.contrast.color}", - checkedHoverColor: "{primary.contrast.color}", - disabledColor: "{form.field.disabled.color}" - } -}; -var index$1c = { - root: { - borderRadius: "16px", - paddingX: "0.75rem", - paddingY: "0.5rem", - gap: "0.5rem", - transitionDuration: "{transition.duration}" - }, - image: { - width: "2rem", - height: "2rem" - }, - icon: { - size: "1rem" - }, - removeIcon: { - size: "1rem", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{form.field.focus.ring.shadow}" - } - }, - colorScheme: { - light: { - root: { - background: "{surface.100}", - color: "{surface.800}" - }, - icon: { - color: "{surface.800}" - }, - removeIcon: { - color: "{surface.800}" - } - }, - dark: { - root: { - background: "{surface.800}", - color: "{surface.0}" - }, - icon: { - color: "{surface.0}" - }, - removeIcon: { - color: "{surface.0}" - } - } - } -}; -var index$1b = { - root: { - transitionDuration: "{transition.duration}" - }, - preview: { - width: "1.5rem", - height: "1.5rem", - borderRadius: "{form.field.border.radius}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - panel: { - shadow: "{overlay.popover.shadow}", - borderRadius: "{overlay.popover.borderRadius}" - }, - colorScheme: { - light: { - panel: { - background: "{surface.800}", - borderColor: "{surface.900}" - }, - handle: { - color: "{surface.0}" - } - }, - dark: { - panel: { - background: "{surface.900}", - borderColor: "{surface.700}" - }, - handle: { - color: "{surface.0}" - } - } - } -}; -var index$1a = { - icon: { - size: "2rem", - color: "{overlay.modal.color}" - }, - content: { - gap: "1rem" - } -}; -var index$19 = { - root: { - background: "{overlay.popover.background}", - borderColor: "{overlay.popover.border.color}", - color: "{overlay.popover.color}", - borderRadius: "{overlay.popover.border.radius}", - shadow: "{overlay.popover.shadow}", - gutter: "10px", - arrowOffset: "1.25rem" - }, - content: { - padding: "{overlay.popover.padding}", - gap: "1rem" - }, - icon: { - size: "1.5rem", - color: "{overlay.popover.color}" - }, - footer: { - gap: "0.5rem", - padding: "0 {overlay.popover.padding} {overlay.popover.padding} {overlay.popover.padding}" - } -}; -var index$18 = { - root: { - background: "{content.background}", - borderColor: "{content.border.color}", - color: "{content.color}", - borderRadius: "{content.border.radius}", - shadow: "{overlay.navigation.shadow}", - transitionDuration: "{transition.duration}" - }, - list: { - padding: "{navigation.list.padding}", - gap: "{navigation.list.gap}" - }, - item: { - focusBackground: "{navigation.item.focus.background}", - activeBackground: "{navigation.item.active.background}", - color: "{navigation.item.color}", - focusColor: "{navigation.item.focus.color}", - activeColor: "{navigation.item.active.color}", - padding: "{navigation.item.padding}", - borderRadius: "{navigation.item.border.radius}", - gap: "{navigation.item.gap}", - icon: { - color: "{navigation.item.icon.color}", - focusColor: "{navigation.item.icon.focus.color}", - activeColor: "{navigation.item.icon.active.color}" - } - }, - submenuIcon: { - size: "{navigation.submenu.icon.size}", - color: "{navigation.submenu.icon.color}", - focusColor: "{navigation.submenu.icon.focus.color}", - activeColor: "{navigation.submenu.icon.active.color}" - }, - separator: { - borderColor: "{content.border.color}" - } -}; -var index$17 = { - root: { - transitionDuration: "{transition.duration}" - }, - header: { - background: "{content.background}", - borderColor: "{datatable.border.color}", - color: "{content.color}", - borderWidth: "0 0 1px 0", - padding: "0.75rem 1rem" - }, - headerCell: { - background: "{content.background}", - hoverBackground: "{content.hover.background}", - selectedBackground: "{highlight.background}", - borderColor: "{datatable.border.color}", - color: "{content.color}", - hoverColor: "{content.hover.color}", - selectedColor: "{highlight.color}", - gap: "0.5rem", - padding: "0.75rem 1rem", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "-1px", - shadow: "{focus.ring.shadow}" - } - }, - columnTitle: { - fontWeight: "600" - }, - row: { - background: "{content.background}", - hoverBackground: "{content.hover.background}", - selectedBackground: "{highlight.background}", - color: "{content.color}", - hoverColor: "{content.hover.color}", - selectedColor: "{highlight.color}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "-1px", - shadow: "{focus.ring.shadow}" - } - }, - bodyCell: { - borderColor: "{datatable.border.color}", - padding: "0.75rem 1rem" - }, - footerCell: { - background: "{content.background}", - borderColor: "{datatable.border.color}", - color: "{content.color}", - padding: "0.75rem 1rem" - }, - columnFooter: { - fontWeight: "600" - }, - footer: { - background: "{content.background}", - borderColor: "{datatable.border.color}", - color: "{content.color}", - borderWidth: "0 0 1px 0", - padding: "0.75rem 1rem" - }, - dropPointColor: "{primary.color}", - columnResizerWidth: "0.5rem", - resizeIndicator: { - width: "1px", - color: "{primary.color}" - }, - sortIcon: { - color: "{text.muted.color}", - hoverColor: "{text.hover.muted.color}" - }, - loadingIcon: { - size: "2rem" - }, - rowToggleButton: { - hoverBackground: "{content.hover.background}", - selectedHoverBackground: "{content.background}", - color: "{text.muted.color}", - hoverColor: "{text.color}", - selectedHoverColor: "{primary.color}", - size: "1.75rem", - borderRadius: "50%", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - filter: { - inlineGap: "0.5rem", - overlaySelect: { - background: "{overlay.select.background}", - borderColor: "{overlay.select.border.color}", - borderRadius: "{overlay.select.border.radius}", - color: "{overlay.select.color}", - shadow: "{overlay.select.shadow}" - }, - overlayPopover: { - background: "{overlay.popover.background}", - borderColor: "{overlay.popover.border.color}", - borderRadius: "{overlay.popover.border.radius}", - color: "{overlay.popover.color}", - shadow: "{overlay.popover.shadow}", - padding: "{overlay.popover.padding}", - gap: "0.5rem" - }, - rule: { - borderColor: "{content.border.color}" - }, - constraintList: { - padding: "{list.padding}", - gap: "{list.gap}" - }, - constraint: { - focusBackground: "{list.option.focus.background}", - selectedBackground: "{list.option.selected.background}", - selectedFocusBackground: "{list.option.selected.focus.background}", - color: "{list.option.color}", - focusColor: "{list.option.focus.color}", - selectedColor: "{list.option.selected.color}", - selectedFocusColor: "{list.option.selected.focus.color}", - separator: { - borderColor: "{content.border.color}" - }, - padding: "{list.option.padding}", - borderRadius: "{list.option.border.radius}" - } - }, - paginatorTop: { - borderColor: "{datatable.border.color}", - borderWidth: "0 0 1px 0" - }, - paginatorBottom: { - borderColor: "{datatable.border.color}", - borderWidth: "0 0 1px 0" - }, - colorScheme: { - light: { - root: { - borderColor: "{content.border.color}" - }, - row: { - stripedBackground: "{surface.50}" - }, - bodyCell: { - selectedBorderColor: "{primary.100}" - } - }, - dark: { - root: { - borderColor: "{surface.800}" - }, - row: { - stripedBackground: "{surface.950}" - }, - bodyCell: { - selectedBorderColor: "{primary.900}" - } - } - } -}; -var index$16 = { - root: { - borderColor: "transparent", - borderWidth: "0", - borderRadius: "0", - padding: "0" - }, - header: { - background: "{content.background}", - color: "{content.color}", - borderColor: "{content.border.color}", - borderWidth: "0 0 1px 0", - padding: "0.75rem 1rem", - borderRadius: "0" - }, - content: { - background: "{content.background}", - color: "{content.color}", - borderColor: "transparent", - borderWidth: "0", - padding: "0", - borderRadius: "0" - }, - footer: { - background: "{content.background}", - color: "{content.color}", - borderColor: "{content.border.color}", - borderWidth: "1px 0 0 0", - padding: "0.75rem 1rem", - borderRadius: "0" - }, - paginatorTop: { - borderColor: "{content.border.color}", - borderWidth: "0 0 1px 0" - }, - paginatorBottom: { - borderColor: "{content.border.color}", - borderWidth: "1px 0 0 0" - } -}; -var index$15 = { - root: { - transitionDuration: "{transition.duration}" - }, - panel: { - background: "{content.background}", - borderColor: "{content.border.color}", - color: "{content.color}", - borderRadius: "{content.border.radius}", - shadow: "{overlay.popover.shadow}", - padding: "{overlay.popover.padding}" - }, - header: { - background: "{content.background}", - borderColor: "{content.border.color}", - color: "{content.color}", - padding: "0 0 0.5rem 0", - fontWeight: "500", - gap: "0.5rem" - }, - title: { - gap: "0.5rem", - fontWeight: "500" - }, - dropdown: { - width: "2.5rem", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.border.color}", - activeBorderColor: "{form.field.border.color}", - borderRadius: "{form.field.border.radius}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - inputIcon: { - color: "{form.field.icon.color}" - }, - selectMonth: { - hoverBackground: "{content.hover.background}", - color: "{content.color}", - hoverColor: "{content.hover.color}", - padding: "0.25rem 0.5rem", - borderRadius: "{content.border.radius}" - }, - selectYear: { - hoverBackground: "{content.hover.background}", - color: "{content.color}", - hoverColor: "{content.hover.color}", - padding: "0.25rem 0.5rem", - borderRadius: "{content.border.radius}" - }, - group: { - borderColor: "{content.border.color}", - gap: "{overlay.popover.padding}" - }, - dayView: { - margin: "0.5rem 0 0 0" - }, - weekDay: { - padding: "0.25rem", - fontWeight: "500", - color: "{content.color}" - }, - date: { - hoverBackground: "{content.hover.background}", - selectedBackground: "{primary.color}", - rangeSelectedBackground: "{highlight.background}", - color: "{content.color}", - hoverColor: "{content.hover.color}", - selectedColor: "{primary.contrast.color}", - rangeSelectedColor: "{highlight.color}", - width: "2rem", - height: "2rem", - borderRadius: "50%", - padding: "0.25rem", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - monthView: { - margin: "0.5rem 0 0 0" - }, - month: { - borderRadius: "{content.border.radius}" - }, - yearView: { - margin: "0.5rem 0 0 0" - }, - year: { - borderRadius: "{content.border.radius}" - }, - buttonbar: { - padding: "0.5rem 0 0 0", - borderColor: "{content.border.color}" - }, - timePicker: { - padding: "0.5rem 0 0 0", - borderColor: "{content.border.color}", - gap: "0.5rem", - buttonGap: "0.25rem" - }, - colorScheme: { - light: { - dropdown: { - background: "{surface.100}", - hoverBackground: "{surface.200}", - activeBackground: "{surface.300}", - color: "{surface.600}", - hoverColor: "{surface.700}", - activeColor: "{surface.800}" - }, - today: { - background: "{surface.200}", - color: "{surface.900}" - } - }, - dark: { - dropdown: { - background: "{surface.800}", - hoverBackground: "{surface.700}", - activeBackground: "{surface.600}", - color: "{surface.300}", - hoverColor: "{surface.200}", - activeColor: "{surface.100}" - }, - today: { - background: "{surface.700}", - color: "{surface.0}" - } - } - } -}; -var index$14 = { - root: { - background: "{overlay.modal.background}", - borderColor: "{overlay.modal.border.color}", - color: "{overlay.modal.color}", - borderRadius: "{overlay.modal.border.radius}", - shadow: "{overlay.modal.shadow}" - }, - header: { - padding: "{overlay.modal.padding}", - gap: "0.5rem" - }, - title: { - fontSize: "1.25rem", - fontWeight: "600" - }, - content: { - padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}" - }, - footer: { - padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}", - gap: "0.5rem" - } -}; -var index$13 = { - root: { - borderColor: "{content.border.color}" - }, - content: { - background: "{content.background}", - color: "{text.color}" - }, - horizontal: { - margin: "1rem 0", - padding: "0 1rem", - content: { - padding: "0 0.5rem" - } - }, - vertical: { - margin: "0 1rem", - padding: "0.5rem 0", - content: { - padding: "0.5rem 0" - } - } -}; -var index$12 = { - root: { - background: "rgba(255, 255, 255, 0.1)", - borderColor: "rgba(255, 255, 255, 0.2)", - padding: "0.5rem", - borderRadius: "{border.radius.xl}" - }, - item: { - borderRadius: "{content.border.radius}", - padding: "0.5rem", - size: "3rem", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - } -}; -var index$11 = { - root: { - background: "{overlay.modal.background}", - borderColor: "{overlay.modal.border.color}", - color: "{overlay.modal.color}", - borderRadius: "{overlay.modal.border.radius}", - shadow: "{overlay.modal.shadow}" - }, - header: { - padding: "{overlay.modal.padding}" - }, - title: { - fontSize: "1.5rem", - fontWeight: "600" - }, - content: { - padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}" - } -}; -var index$10 = { - toolbar: { - background: "{content.background}", - borderColor: "{content.border.color}", - borderRadius: "{content.border.radius}" - }, - toolbarItem: { - color: "{text.muted.color}", - hoverColor: "{text.color}", - activeColor: "{primary.color}" - }, - overlay: { - background: "{overlay.select.background}", - borderColor: "{overlay.select.border.color}", - borderRadius: "{overlay.select.border.radius}", - color: "{overlay.select.color}", - shadow: "{overlay.select.shadow}", - padding: "{list.padding}" - }, - overlayOption: { - focusBackground: "{list.option.focus.background}", - color: "{list.option.color}", - focusColor: "{list.option.focus.color}", - padding: "{list.option.padding}", - borderRadius: "{list.option.border.radius}" - }, - content: { - background: "{content.background}", - borderColor: "{content.border.color}", - color: "{content.color}", - borderRadius: "{content.border.radius}" - } -}; -var index$$ = { - root: { - background: "{content.background}", - borderColor: "{content.border.color}", - borderRadius: "{content.border.radius}", - color: "{content.color}", - padding: "0 1.125rem 1.125rem 1.125rem", - transitionDuration: "{transition.duration}" - }, - legend: { - background: "{content.background}", - hoverBackground: "{content.hover.background}", - color: "{content.color}", - hoverColor: "{content.hover.color}", - borderRadius: "{content.border.radius}", - borderWidth: "1px", - borderColor: "transparent", - padding: "0.5rem 0.75rem", - gap: "0.5rem", - fontWeight: "600", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - toggleIcon: { - color: "{text.muted.color}", - hoverColor: "{text.hover.muted.color}" - }, - content: { - padding: "0" - } -}; -var index$_ = { - root: { - background: "{content.background}", - borderColor: "{content.border.color}", - color: "{content.color}", - borderRadius: "{content.border.radius}", - transitionDuration: "{transition.duration}" - }, - header: { - background: "transparent", - color: "{text.color}", - padding: "1.125rem", - borderWidth: "0", - borderRadius: "0", - gap: "0.5rem" - }, - content: { - highlightBorderColor: "{primary.color}", - padding: "0 1.125rem 1.125rem 1.125rem" - }, - file: { - padding: "1rem", - gap: "1rem", - borderColor: "{content.border.color}", - info: { - gap: "0.5rem" - } - }, - progressbar: { - height: "0.25rem" - }, - basic: { - gap: "0.5rem" - } -}; -var index$Z = { - root: { - color: "{form.field.float.label.color}", - focusColor: "{form.field.float.label.focus.color}", - invalidColor: "{form.field.float.label.invalid.color}", - transitionDuration: "0.2s" - } -}; -var index$Y = { - root: { - borderWidth: "1px", - borderColor: "{content.border.color}", - borderRadius: "{content.border.radius}", - transitionDuration: "{transition.duration}" - }, - navButton: { - background: "rgba(255, 255, 255, 0.1)", - hoverBackground: "rgba(255, 255, 255, 0.2)", - color: "{surface.100}", - hoverColor: "{surface.0}", - size: "3rem", - gutter: "0.5rem", - prev: { - borderRadius: "50%" - }, - next: { - borderRadius: "50%" - }, - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - navIcon: { - size: "1.5rem" - }, - thumbnailsContent: { - background: "{content.background}", - padding: "1rem 0.25rem" - }, - thumbnailNavButton: { - size: "2rem", - borderRadius: "{content.border.radius}", - gutter: "0.5rem", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - thumbnailNavButtonIcon: { - size: "1rem" - }, - caption: { - background: "rgba(0, 0, 0, 0.5)", - color: "{surface.100}", - padding: "1rem" - }, - indicatorList: { - gap: "0.5rem", - padding: "1rem" - }, - indicatorButton: { - width: "1rem", - height: "1rem", - activeBackground: "{primary.color}", - borderRadius: "50%", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - insetIndicatorList: { - background: "rgba(0, 0, 0, 0.5)" - }, - insetIndicatorButton: { - background: "rgba(255, 255, 255, 0.4)", - hoverBackground: "rgba(255, 255, 255, 0.6)", - activeBackground: "rgba(255, 255, 255, 0.9)" - }, - mask: { - background: "{mask.background}", - color: "{mask.color}" - }, - closeButton: { - size: "3rem", - gutter: "0.5rem", - background: "rgba(255, 255, 255, 0.1)", - hoverBackground: "rgba(255, 255, 255, 0.2)", - color: "{surface.50}", - hoverColor: "{surface.0}", - borderRadius: "50%", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - closeButtonIcon: { - size: "1.5rem" - }, - colorScheme: { - light: { - thumbnailNavButton: { - hoverBackground: "{surface.100}", - color: "{surface.600}", - hoverColor: "{surface.700}" - }, - indicatorButton: { - background: "{surface.200}", - hoverBackground: "{surface.300}" - } - }, - dark: { - thumbnailNavButton: { - hoverBackground: "{surface.700}", - color: "{surface.400}", - hoverColor: "{surface.0}" - }, - indicatorButton: { - background: "{surface.700}", - hoverBackground: "{surface.600}" - } - } - } -}; -var index$X = { - icon: { - color: "{form.field.icon.color}" - } -}; -var index$W = { - root: { - transitionDuration: "{transition.duration}" - }, - preview: { - icon: { - size: "1.5rem" - }, - mask: { - background: "{mask.background}", - color: "{mask.color}" - } - }, - toolbar: { - position: { - left: "auto", - right: "1rem", - top: "1rem", - bottom: "auto" - }, - blur: "8px", - background: "rgba(255,255,255,0.1)", - borderColor: "rgba(255,255,255,0.2)", - borderWidth: "1px", - borderRadius: "30px", - padding: ".5rem", - gap: "0.5rem" - }, - action: { - hoverBackground: "rgba(255,255,255,0.1)", - color: "{surface.50}", - hoverColor: "{surface.0}", - size: "3rem", - iconSize: "1.5rem", - borderRadius: "50%", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - } -}; -var index$V = { - root: { - padding: "{form.field.padding.y} {form.field.padding.x}", - borderRadius: "{content.border.radius}", - gap: "0.5rem" - }, - text: { - fontWeight: "500" - }, - icon: { - size: "1rem" - }, - colorScheme: { - light: { - info: { - background: "color-mix(in srgb, {blue.50}, transparent 5%)", - borderColor: "{blue.200}", - color: "{blue.600}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)" - }, - success: { - background: "color-mix(in srgb, {green.50}, transparent 5%)", - borderColor: "{green.200}", - color: "{green.600}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)" - }, - warn: { - background: "color-mix(in srgb,{yellow.50}, transparent 5%)", - borderColor: "{yellow.200}", - color: "{yellow.600}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)" - }, - error: { - background: "color-mix(in srgb, {red.50}, transparent 5%)", - borderColor: "{red.200}", - color: "{red.600}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)" - }, - secondary: { - background: "{surface.100}", - borderColor: "{surface.200}", - color: "{surface.600}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)" - }, - contrast: { - background: "{surface.900}", - borderColor: "{surface.950}", - color: "{surface.50}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)" - } - }, - dark: { - info: { - background: "color-mix(in srgb, {blue.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {blue.700}, transparent 64%)", - color: "{blue.500}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)" - }, - success: { - background: "color-mix(in srgb, {green.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {green.700}, transparent 64%)", - color: "{green.500}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)" - }, - warn: { - background: "color-mix(in srgb, {yellow.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {yellow.700}, transparent 64%)", - color: "{yellow.500}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)" - }, - error: { - background: "color-mix(in srgb, {red.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {red.700}, transparent 64%)", - color: "{red.500}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)" - }, - secondary: { - background: "{surface.800}", - borderColor: "{surface.700}", - color: "{surface.300}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)" - }, - contrast: { - background: "{surface.0}", - borderColor: "{surface.100}", - color: "{surface.950}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)" - } - } - } -}; -var index$U = { - root: { - padding: "{form.field.padding.y} {form.field.padding.x}", - borderRadius: "{content.border.radius}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - }, - transitionDuration: "{transition.duration}" - }, - display: { - hoverBackground: "{content.hover.background}", - hoverColor: "{content.hover.color}" - } -}; -var index$T = { - root: { - background: "{form.field.background}", - disabledBackground: "{form.field.disabled.background}", - filledBackground: "{form.field.filled.background}", - filledFocusBackground: "{form.field.filled.focus.background}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.hover.border.color}", - focusBorderColor: "{form.field.focus.border.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - color: "{form.field.color}", - disabledColor: "{form.field.disabled.color}", - placeholderColor: "{form.field.placeholder.color}", - shadow: "{form.field.shadow}", - paddingX: "{form.field.padding.x}", - paddingY: "{form.field.padding.y}", - borderRadius: "{form.field.border.radius}", - focusRing: { - width: "{form.field.focus.ring.width}", - style: "{form.field.focus.ring.style}", - color: "{form.field.focus.ring.color}", - offset: "{form.field.focus.ring.offset}", - shadow: "{form.field.focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}" - }, - chip: { - borderRadius: "{border.radius.sm}" - }, - colorScheme: { - light: { - chip: { - focusBackground: "{surface.200}", - color: "{surface.800}" - } - }, - dark: { - chip: { - focusBackground: "{surface.700}", - color: "{surface.0}" - } - } - } -}; -var index$S = { - addon: { - background: "{form.field.background}", - borderColor: "{form.field.border.color}", - color: "{form.field.icon.color}", - borderRadius: "{form.field.border.radius}" - } -}; -var index$R = { - root: { - transitionDuration: "{transition.duration}" - }, - button: { - width: "2.5rem", - borderRadius: "{form.field.border.radius}", - verticalPadding: "{form.field.padding.y}" - }, - colorScheme: { - light: { - button: { - background: "transparent", - hoverBackground: "{surface.100}", - activeBackground: "{surface.200}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.border.color}", - activeBorderColor: "{form.field.border.color}", - color: "{surface.400}", - hoverColor: "{surface.500}", - activeColor: "{surface.600}" - } - }, - dark: { - button: { - background: "transparent", - hoverBackground: "{surface.800}", - activeBackground: "{surface.700}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.border.color}", - activeBorderColor: "{form.field.border.color}", - color: "{surface.400}", - hoverColor: "{surface.300}", - activeColor: "{surface.200}" - } - } - } -}; -var index$Q = { - root: { - background: "{form.field.background}", - disabledBackground: "{form.field.disabled.background}", - filledBackground: "{form.field.filled.background}", - filledFocusBackground: "{form.field.filled.focus.background}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.hover.border.color}", - focusBorderColor: "{form.field.focus.border.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - color: "{form.field.color}", - disabledColor: "{form.field.disabled.color}", - placeholderColor: "{form.field.placeholder.color}", - shadow: "{form.field.shadow}", - paddingX: "{form.field.padding.x}", - paddingY: "{form.field.padding.y}", - borderRadius: "{form.field.border.radius}", - focusRing: { - width: "{form.field.focus.ring.width}", - style: "{form.field.focus.ring.style}", - color: "{form.field.focus.ring.color}", - offset: "{form.field.focus.ring.offset}", - shadow: "{form.field.focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}", - sm: { - fontSize: "0.875rem", - paddingX: "0.625rem", - paddingY: "0.375rem" - }, - lg: { - fontSize: "1.125rem", - paddingX: "0.875rem", - paddingY: "0.625rem" - } - } -}; -var index$P = { - root: { - transitionDuration: "{transition.duration}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - value: { - background: "{primary.color}" - }, - range: { - background: "{content.border.color}" - }, - text: { - color: "{text.muted.color}" - } -}; -var index$O = { - root: { - background: "{form.field.background}", - disabledBackground: "{form.field.disabled.background}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.hover.border.color}", - focusBorderColor: "{form.field.focus.border.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - color: "{form.field.color}", - disabledColor: "{form.field.disabled.color}", - shadow: "{form.field.shadow}", - borderRadius: "{form.field.border.radius}", - focusRing: { - width: "{form.field.focus.ring.width}", - style: "{form.field.focus.ring.style}", - color: "{form.field.focus.ring.color}", - offset: "{form.field.focus.ring.offset}", - shadow: "{form.field.focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}" - }, - list: { - padding: "{list.padding}", - gap: "{list.gap}", - header: { - padding: "{list.header.padding}" - } - }, - option: { - focusBackground: "{list.option.focus.background}", - selectedBackground: "{list.option.selected.background}", - selectedFocusBackground: "{list.option.selected.focus.background}", - color: "{list.option.color}", - focusColor: "{list.option.focus.color}", - selectedColor: "{list.option.selected.color}", - selectedFocusColor: "{list.option.selected.focus.color}", - padding: "{list.option.padding}", - borderRadius: "{list.option.border.radius}" - }, - optionGroup: { - background: "{list.option.group.background}", - color: "{list.option.group.color}", - fontWeight: "{list.option.group.font.weight}", - padding: "{list.option.group.padding}" - }, - checkmark: { - color: "{list.option.color}", - gutterStart: "-0.375rem", - gutterEnd: "0.375rem" - }, - emptyMessage: { - padding: "{list.option.padding}" - }, - colorScheme: { - light: { - option: { - stripedBackground: "{surface.50}" - } - }, - dark: { - option: { - stripedBackground: "{surface.900}" - } - } - } -}; -var index$N = { - root: { - background: "{content.background}", - borderColor: "{content.border.color}", - borderRadius: "{content.border.radius}", - color: "{content.color}", - gap: "0.5rem", - verticalOrientation: { - padding: "{navigation.list.padding}", - gap: "0" - }, - horizontalOrientation: { - padding: "0.5rem 0.75rem" - }, - transitionDuration: "{transition.duration}" - }, - baseItem: { - borderRadius: "{content.border.radius}", - padding: "{navigation.item.padding}" - }, - item: { - focusBackground: "{navigation.item.focus.background}", - activeBackground: "{navigation.item.active.background}", - color: "{navigation.item.color}", - focusColor: "{navigation.item.focus.color}", - activeColor: "{navigation.item.active.color}", - padding: "{navigation.item.padding}", - borderRadius: "{navigation.item.border.radius}", - gap: "{navigation.item.gap}", - icon: { - color: "{navigation.item.icon.color}", - focusColor: "{navigation.item.icon.focus.color}", - activeColor: "{navigation.item.icon.active.color}" - } - }, - overlay: { - padding: "0", - background: "{content.background}", - borderColor: "{content.border.color}", - borderRadius: "{content.border.radius}", - color: "{content.color}", - shadow: "{overlay.navigation.shadow}", - gap: "0.5rem" - }, - submenu: { - padding: "{navigation.list.padding}", - gap: "{navigation.list.gap}" - }, - submenuLabel: { - padding: "{navigation.submenu.label.padding}", - fontWeight: "{navigation.submenu.label.font.weight}", - background: "{navigation.submenu.label.background.}", - color: "{navigation.submenu.label.color}" - }, - submenuIcon: { - size: "{navigation.submenu.icon.size}", - color: "{navigation.submenu.icon.color}", - focusColor: "{navigation.submenu.icon.focus.color}", - activeColor: "{navigation.submenu.icon.active.color}" - }, - separator: { - borderColor: "{content.border.color}" - }, - mobileButton: { - borderRadius: "50%", - size: "1.75rem", - color: "{text.muted.color}", - hoverColor: "{text.muted.hover.color}", - hoverBackground: "{content.hover.background}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - } -}; -var index$M = { - root: { - background: "{content.background}", - borderColor: "{content.border.color}", - color: "{content.color}", - borderRadius: "{content.border.radius}", - shadow: "{overlay.navigation.shadow}", - transitionDuration: "{transition.duration}" - }, - list: { - padding: "{navigation.list.padding}", - gap: "{navigation.list.gap}" - }, - item: { - focusBackground: "{navigation.item.focus.background}", - color: "{navigation.item.color}", - focusColor: "{navigation.item.focus.color}", - padding: "{navigation.item.padding}", - borderRadius: "{navigation.item.border.radius}", - gap: "{navigation.item.gap}", - icon: { - color: "{navigation.item.icon.color}", - focusColor: "{navigation.item.icon.focus.color}" - } - }, - submenuLabel: { - padding: "{navigation.submenu.label.padding}", - fontWeight: "{navigation.submenu.label.font.weight}", - background: "{navigation.submenu.label.background}", - color: "{navigation.submenu.label.color}" - }, - separator: { - borderColor: "{content.border.color}" - } -}; -var index$L = { - root: { - background: "{content.background}", - borderColor: "{content.border.color}", - borderRadius: "{content.border.radius}", - color: "{content.color}", - gap: "0.5rem", - padding: "0.5rem 0.75rem", - transitionDuration: "{transition.duration}" - }, - baseItem: { - borderRadius: "{content.border.radius}", - padding: "{navigation.item.padding}" - }, - item: { - focusBackground: "{navigation.item.focus.background}", - activeBackground: "{navigation.item.active.background}", - color: "{navigation.item.color}", - focusColor: "{navigation.item.focus.color}", - activeColor: "{navigation.item.active.color}", - padding: "{navigation.item.padding}", - borderRadius: "{navigation.item.border.radius}", - gap: "{navigation.item.gap}", - icon: { - color: "{navigation.item.icon.color}", - focusColor: "{navigation.item.icon.focus.color}", - activeColor: "{navigation.item.icon.active.color}" - } - }, - submenu: { - padding: "{navigation.list.padding}", - gap: "{navigation.list.gap}", - background: "{content.background}", - borderColor: "{content.border.color}", - borderRadius: "{content.border.radius}", - shadow: "{overlay.navigation.shadow}", - mobileIndent: "1rem" - }, - submenuIcon: { - size: "{navigation.submenu.icon.size}", - color: "{navigation.submenu.icon.color}", - focusColor: "{navigation.submenu.icon.focus.color}", - activeColor: "{navigation.submenu.icon.active.color}" - }, - separator: { - borderColor: "{content.border.color}" - }, - mobileButton: { - borderRadius: "50%", - size: "1.75rem", - color: "{text.muted.color}", - hoverColor: "{text.muted.hover.color}", - hoverBackground: "{content.hover.background}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - } -}; -var index$K = { - root: { - borderRadius: "{content.border.radius}", - borderWidth: "1px", - transitionDuration: "{transition.duration}" - }, - content: { - padding: "0.5rem 0.75rem", - gap: "0.5rem" - }, - text: { - fontSize: "1rem", - fontWeight: "500" - }, - icon: { - size: "1.125rem" - }, - closeButton: { - width: "1.75rem", - height: "1.75rem", - borderRadius: "50%", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - offset: "{focus.ring.offset}" - } - }, - closeIcon: { - size: "1rem" - }, - colorScheme: { - light: { - info: { - background: "color-mix(in srgb, {blue.50}, transparent 5%)", - borderColor: "{blue.200}", - color: "{blue.600}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", - closeButton: { - hoverBackground: "{blue.100}", - focusRing: { - color: "{blue.600}", - shadow: "none" - } - } - }, - success: { - background: "color-mix(in srgb, {green.50}, transparent 5%)", - borderColor: "{green.200}", - color: "{green.600}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", - closeButton: { - hoverBackground: "{green.100}", - focusRing: { - color: "{green.600}", - shadow: "none" - } - } - }, - warn: { - background: "color-mix(in srgb,{yellow.50}, transparent 5%)", - borderColor: "{yellow.200}", - color: "{yellow.600}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", - closeButton: { - hoverBackground: "{yellow.100}", - focusRing: { - color: "{yellow.600}", - shadow: "none" - } - } - }, - error: { - background: "color-mix(in srgb, {red.50}, transparent 5%)", - borderColor: "{red.200}", - color: "{red.600}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", - closeButton: { - hoverBackground: "{red.100}", - focusRing: { - color: "{red.600}", - shadow: "none" - } - } - }, - secondary: { - background: "{surface.100}", - borderColor: "{surface.200}", - color: "{surface.600}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", - closeButton: { - hoverBackground: "{surface.200}", - focusRing: { - color: "{surface.600}", - shadow: "none" - } - } - }, - contrast: { - background: "{surface.900}", - borderColor: "{surface.950}", - color: "{surface.50}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", - closeButton: { - hoverBackground: "{surface.800}", - focusRing: { - color: "{surface.50}", - shadow: "none" - } - } - } - }, - dark: { - info: { - background: "color-mix(in srgb, {blue.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {blue.700}, transparent 64%)", - color: "{blue.500}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", - closeButton: { - hoverBackground: "rgba(255, 255, 255, 0.05)", - focusRing: { - color: "{blue.500}", - shadow: "none" - } - } - }, - success: { - background: "color-mix(in srgb, {green.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {green.700}, transparent 64%)", - color: "{green.500}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", - closeButton: { - hoverBackground: "rgba(255, 255, 255, 0.05)", - focusRing: { - color: "{green.500}", - shadow: "none" - } - } - }, - warn: { - background: "color-mix(in srgb, {yellow.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {yellow.700}, transparent 64%)", - color: "{yellow.500}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", - closeButton: { - hoverBackground: "rgba(255, 255, 255, 0.05)", - focusRing: { - color: "{yellow.500}", - shadow: "none" - } - } - }, - error: { - background: "color-mix(in srgb, {red.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {red.700}, transparent 64%)", - color: "{red.500}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", - closeButton: { - hoverBackground: "rgba(255, 255, 255, 0.05)", - focusRing: { - color: "{red.500}", - shadow: "none" - } - } - }, - secondary: { - background: "{surface.800}", - borderColor: "{surface.700}", - color: "{surface.300}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", - closeButton: { - hoverBackground: "{surface.700}", - focusRing: { - color: "{surface.300}", - shadow: "none" - } - } - }, - contrast: { - background: "{surface.0}", - borderColor: "{surface.100}", - color: "{surface.950}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", - closeButton: { - hoverBackground: "{surface.100}", - focusRing: { - color: "{surface.950}", - shadow: "none" - } - } - } - } - } -}; -var index$J = { - root: { - borderRadius: "{content.border.radius}", - gap: "1rem" - }, - meters: { - background: "{content.border.color}", - size: "0.5rem" - }, - label: { - gap: "0.5rem" - }, - labelMarker: { - size: "0.5rem" - }, - labelIcon: { - size: "1rem" - }, - labelList: { - verticalGap: "0.5rem", - horizontalGap: "1rem" - } -}; -var index$I = { - root: { - background: "{form.field.background}", - disabledBackground: "{form.field.disabled.background}", - filledBackground: "{form.field.filled.background}", - filledFocusBackground: "{form.field.filled.focus.background}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.hover.border.color}", - focusBorderColor: "{form.field.focus.border.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - color: "{form.field.color}", - disabledColor: "{form.field.disabled.color}", - placeholderColor: "{form.field.placeholder.color}", - shadow: "{form.field.shadow}", - paddingX: "{form.field.padding.x}", - paddingY: "{form.field.padding.y}", - borderRadius: "{form.field.border.radius}", - focusRing: { - width: "{form.field.focus.ring.width}", - style: "{form.field.focus.ring.style}", - color: "{form.field.focus.ring.color}", - offset: "{form.field.focus.ring.offset}", - shadow: "{form.field.focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}" - }, - dropdown: { - width: "2.5rem", - color: "{form.field.icon.color}" - }, - overlay: { - background: "{overlay.select.background}", - borderColor: "{overlay.select.border.color}", - borderRadius: "{overlay.select.border.radius}", - color: "{overlay.select.color}", - shadow: "{overlay.select.shadow}" - }, - list: { - padding: "{list.padding}", - gap: "{list.gap}", - header: { - padding: "{list.header.padding}" - } - }, - option: { - focusBackground: "{list.option.focus.background}", - selectedBackground: "{list.option.selected.background}", - selectedFocusBackground: "{list.option.selected.focus.background}", - color: "{list.option.color}", - focusColor: "{list.option.focus.color}", - selectedColor: "{list.option.selected.color}", - selectedFocusColor: "{list.option.selected.focus.color}", - padding: "{list.option.padding}", - borderRadius: "{list.option.border.radius}", - gap: "0.5rem" - }, - optionGroup: { - background: "{list.option.group.background}", - color: "{list.option.group.color}", - fontWeight: "{list.option.group.font.weight}", - padding: "{list.option.group.padding}" - }, - chip: { - borderRadius: "{border.radius.sm}" - }, - emptyMessage: { - padding: "{list.option.padding}" - } -}; -var index$H = { - root: { - gap: "1.125rem" - }, - controls: { - gap: "0.5rem" - } -}; -var index$G = { - root: { - gutter: "0.75rem", - transitionDuration: "{transition.duration}" - }, - node: { - background: "{content.background}", - hoverBackground: "{content.hover.background}", - selectedBackground: "{highlight.background}", - borderColor: "{content.border.color}", - color: "{content.color}", - selectedColor: "{highlight.color}", - hoverColor: "{content.hover.color}", - padding: "0.75rem 1rem", - toggleablePadding: "0.75rem 1rem 1.25rem 1rem", - borderRadius: "{content.border.radius}" - }, - nodeToggleButton: { - background: "{content.background}", - hoverBackground: "{content.hover.background}", - borderColor: "{content.border.color}", - color: "{text.muted.color}", - hoverColor: "{text.color}", - size: "1.5rem", - borderRadius: "50%", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - connector: { - color: "{content.border.color}", - borderRadius: "{content.border.radius}", - height: "24px" - } -}; -var index$F = { - root: { - outline: { - width: "2px", - color: "{content.background}" - } - } -}; -var index$E = { - root: { - padding: "0.5rem 1rem", - gap: "0.25rem", - borderRadius: "{content.border.radius}", - background: "{content.background}", - color: "{content.color}", - transitionDuration: "{transition.duration}" - }, - navButton: { - background: "transparent", - hoverBackground: "{content.hover.background}", - selectedBackground: "{highlight.background}", - color: "{text.muted.color}", - hoverColor: "{text.hover.muted.color}", - selectedColor: "{highlight.color}", - width: "2.5rem", - height: "2.5rem", - borderRadius: "50%", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - currentPageReport: { - color: "{text.muted.color}" - }, - jumpToPageInput: { - maxWidth: "2.5rem" - } -}; -var index$D = { - root: { - background: "{content.background}", - borderColor: "{content.border.color}", - color: "{content.color}", - borderRadius: "{content.border.radius}" - }, - header: { - background: "transparent", - color: "{text.color}", - padding: "1.125rem", - borderColor: "{content.border.color}", - borderWidth: "0", - borderRadius: "0" - }, - toggleableHeader: { - padding: "0.375rem 1.125rem" - }, - title: { - fontWeight: "600" - }, - content: { - padding: "0 1.125rem 1.125rem 1.125rem" - }, - footer: { - padding: "0 1.125rem 1.125rem 1.125rem" - } -}; -var index$C = { - root: { - gap: "0.5rem", - transitionDuration: "{transition.duration}" - }, - panel: { - background: "{content.background}", - borderColor: "{content.border.color}", - borderWidth: "1px", - color: "{content.color}", - padding: "0.25rem 0.25rem", - borderRadius: "{content.border.radius}", - first: { - borderWidth: "1px", - topBorderRadius: "{content.border.radius}" - }, - last: { - borderWidth: "1px", - bottomBorderRadius: "{content.border.radius}" - } - }, - item: { - focusBackground: "{navigation.item.focus.background}", - color: "{navigation.item.color}", - focusColor: "{navigation.item.focus.color}", - gap: "0.5rem", - padding: "{navigation.item.padding}", - borderRadius: "{content.border.radius}", - icon: { - color: "{navigation.item.icon.color}", - focusColor: "{navigation.item.icon.focus.color}" - } - }, - submenu: { - indent: "1rem" - }, - submenuIcon: { - color: "{navigation.submenu.icon.color}", - focusColor: "{navigation.submenu.icon.focus.color}" - } -}; -var index$B = { - meter: { - background: "{content.border.color}", - borderRadius: "{content.border.radius}", - height: ".75rem" - }, - icon: { - color: "{form.field.icon.color}" - }, - overlay: { - background: "{overlay.popover.background}", - borderColor: "{overlay.popover.border.color}", - borderRadius: "{overlay.popover.border.radius}", - color: "{overlay.popover.color}", - padding: "{overlay.popover.padding}", - shadow: "{overlay.popover.shadow}" - }, - content: { - gap: "0.5rem" - }, - colorScheme: { - light: { - strength: { - weakBackground: "{red.500}", - mediumBackground: "{amber.500}", - strongBackground: "{green.500}" - } - }, - dark: { - strength: { - weakBackground: "{red.400}", - mediumBackground: "{amber.400}", - strongBackground: "{green.400}" - } - } - } -}; -var index$A = { - root: { - gap: "1.125rem" - }, - controls: { - gap: "0.5rem" - } -}; -var index$z = { - root: { - background: "{overlay.popover.background}", - borderColor: "{overlay.popover.border.color}", - color: "{overlay.popover.color}", - borderRadius: "{overlay.popover.border.radius}", - shadow: "{overlay.popover.shadow}", - gutter: "10px", - arrowOffset: "1.25rem" - }, - content: { - padding: "{overlay.popover.padding}" - } -}; -var index$y = { - root: { - background: "{content.border.color}", - borderRadius: "{content.border.radius}", - height: "1.25rem" - }, - value: { - background: "{primary.color}" - }, - label: { - color: "{primary.contrast.color}", - fontSize: "0.75rem", - fontWeight: "600" - } -}; -var index$x = { - colorScheme: { - light: { - root: { - "color.1": "{red.500}", - "color.2": "{blue.500}", - "color.3": "{green.500}", - "color.4": "{yellow.500}" - } - }, - dark: { - root: { - "color.1": "{red.400}", - "color.2": "{blue.400}", - "color.3": "{green.400}", - "color.4": "{yellow.400}" - } - } - } -}; -var index$w = { - root: { - width: "1.25rem", - height: "1.25rem", - background: "{form.field.background}", - checkedBackground: "{primary.color}", - checkedHoverBackground: "{primary.hover.color}", - disabledBackground: "{form.field.disabled.background}", - filledBackground: "{form.field.filled.background}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.hover.border.color}", - focusBorderColor: "{form.field.border.color}", - checkedBorderColor: "{primary.color}", - checkedHoverBorderColor: "{primary.hover.color}", - checkedFocusBorderColor: "{primary.color}", - checkedDisabledBorderColor: "{form.field.border.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - shadow: "{form.field.shadow}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}" - }, - icon: { - size: "0.75rem", - checkedColor: "{primary.contrast.color}", - checkedHoverColor: "{primary.contrast.color}", - disabledColor: "{form.field.disabled.color}" - } -}; -var index$v = { - root: { - gap: "0.25rem", - transitionDuration: "{transition.duration}" - }, - icon: { - size: "1rem", - color: "{text.muted.color}", - hoverColor: "{primary.color}", - activeColor: "{primary.color}" - } -}; -var index$u = { - colorScheme: { - light: { - root: { - background: "rgba(0,0,0,0.1)" - } - }, - dark: { - root: { - background: "rgba(255,255,255,0.3)" - } - } - } -}; -var index$t = { - root: { - transitionDuration: "{transition.duration}" - }, - bar: { - size: "9px", - borderRadius: "{border.radius.sm}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - colorScheme: { - light: { - bar: { - background: "{surface.100}" - } - }, - dark: { - bar: { - background: "{surface.800}" - } - } - } -}; -var index$s = { - root: { - background: "{form.field.background}", - disabledBackground: "{form.field.disabled.background}", - filledBackground: "{form.field.filled.background}", - filledFocusBackground: "{form.field.filled.focus.background}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.hover.border.color}", - focusBorderColor: "{form.field.focus.border.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - color: "{form.field.color}", - disabledColor: "{form.field.disabled.color}", - placeholderColor: "{form.field.placeholder.color}", - shadow: "{form.field.shadow}", - paddingX: "{form.field.padding.x}", - paddingY: "{form.field.padding.y}", - borderRadius: "{form.field.border.radius}", - focusRing: { - width: "{form.field.focus.ring.width}", - style: "{form.field.focus.ring.style}", - color: "{form.field.focus.ring.color}", - offset: "{form.field.focus.ring.offset}", - shadow: "{form.field.focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}" - }, - dropdown: { - width: "2.5rem", - color: "{form.field.icon.color}" - }, - overlay: { - background: "{overlay.select.background}", - borderColor: "{overlay.select.border.color}", - borderRadius: "{overlay.select.border.radius}", - color: "{overlay.select.color}", - shadow: "{overlay.select.shadow}" - }, - list: { - padding: "{list.padding}", - gap: "{list.gap}", - header: { - padding: "{list.header.padding}" - } - }, - option: { - focusBackground: "{list.option.focus.background}", - selectedBackground: "{list.option.selected.background}", - selectedFocusBackground: "{list.option.selected.focus.background}", - color: "{list.option.color}", - focusColor: "{list.option.focus.color}", - selectedColor: "{list.option.selected.color}", - selectedFocusColor: "{list.option.selected.focus.color}", - padding: "{list.option.padding}", - borderRadius: "{list.option.border.radius}" - }, - optionGroup: { - background: "{list.option.group.background}", - color: "{list.option.group.color}", - fontWeight: "{list.option.group.font.weight}", - padding: "{list.option.group.padding}" - }, - clearIcon: { - color: "{form.field.icon.color}" - }, - checkmark: { - color: "{list.option.color}", - gutterStart: "-0.375rem", - gutterEnd: "0.375rem" - }, - emptyMessage: { - padding: "{list.option.padding}" - } -}; -var index$r = { - root: { - borderRadius: "{form.field.border.radius}" - }, - colorScheme: { - light: { - root: { - invalidBorderColor: "{form.field.invalid.border.color}" - } - }, - dark: { - root: { - invalidBorderColor: "{form.field.invalid.border.color}" - } - } - } -}; -var index$q = { - root: { - borderRadius: "{content.border.radius}" - }, - colorScheme: { - light: { - root: { - background: "{surface.200}", - animationBackground: "rgba(255,255,255,0.4)" - } - }, - dark: { - root: { - background: "rgba(255, 255, 255, 0.06)", - animationBackground: "rgba(255, 255, 255, 0.04)" - } - } - } -}; -var index$p = { - root: { - transitionDuration: "{transition.duration}" - }, - track: { - background: "{content.border.color}", - borderRadius: "{content.border.radius}", - size: "3px" - }, - range: { - background: "{primary.color}" - }, - handle: { - width: "20px", - height: "20px", - borderRadius: "50%", - background: "{content.border.color}", - hoverBackground: "{content.border.color}", - content: { - borderRadius: "50%", - hoverBackground: "{content.background}", - width: "16px", - height: "16px", - shadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.08), 0px 1px 1px 0px rgba(0, 0, 0, 0.14)" - }, - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - colorScheme: { - light: { - handle: { - contentBackground: "{surface.0}" - } - }, - dark: { - handle: { - contentBackground: "{surface.950}" - } - } - } -}; -var index$o = { - root: { - gap: "0.5rem", - transitionDuration: "{transition.duration}" - } -}; -var index$n = { - root: { - borderRadius: "{form.field.border.radius}", - roundedBorderRadius: "2rem", - raisedShadow: "0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)" - } -}; -var index$m = { - root: { - background: "{content.background}", - borderColor: "{content.border.color}", - color: "{content.color}", - transitionDuration: "{transition.duration}" - }, - gutter: { - background: "{content.border.color}" - }, - handle: { - size: "24px", - background: "transparent", - borderRadius: "{content.border.radius}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - } -}; -var index$l = { - root: { - transitionDuration: "{transition.duration}" - }, - separator: { - background: "{content.border.color}", - activeBackground: "{primary.color}", - margin: "0 0 0 1.625rem", - size: "2px" - }, - step: { - padding: "0.5rem", - gap: "1rem" - }, - stepHeader: { - padding: "0", - borderRadius: "{content.border.radius}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - }, - gap: "0.5rem" - }, - stepTitle: { - color: "{text.muted.color}", - activeColor: "{primary.color}", - fontWeight: "500" - }, - stepNumber: { - background: "{content.background}", - activeBackground: "{content.background}", - borderColor: "{content.border.color}", - activeBorderColor: "{content.border.color}", - color: "{text.muted.color}", - activeColor: "{primary.color}", - size: "2rem", - fontSize: "1.143rem", - fontWeight: "500", - borderRadius: "50%", - shadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)" - }, - steppanels: { - padding: "0.875rem 0.5rem 1.125rem 0.5rem" - }, - steppanel: { - background: "{content.background}", - color: "{content.color}", - padding: "0 0 0 1rem" - } -}; -var index$k = { - root: { - transitionDuration: "{transition.duration}" - }, - separator: { - background: "{content.border.color}" - }, - itemLink: { - borderRadius: "{content.border.radius}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - }, - gap: "0.5rem" - }, - itemLabel: { - color: "{text.muted.color}", - activeColor: "{primary.color}", - fontWeight: "500" - }, - itemNumber: { - background: "{content.background}", - activeBackground: "{content.background}", - borderColor: "{content.border.color}", - activeBorderColor: "{content.border.color}", - color: "{text.muted.color}", - activeColor: "{primary.color}", - size: "2rem", - fontSize: "1.143rem", - fontWeight: "500", - borderRadius: "50%", - shadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)" - } -}; -var index$j = { - root: { - transitionDuration: "{transition.duration}" - }, - tablist: { - borderWidth: "0 0 1px 0", - background: "{content.background}", - borderColor: "{content.border.color}" - }, - item: { - background: "transparent", - hoverBackground: "transparent", - activeBackground: "transparent", - borderWidth: "0 0 1px 0", - borderColor: "{content.border.color}", - hoverBorderColor: "{content.border.color}", - activeBorderColor: "{primary.color}", - color: "{text.muted.color}", - hoverColor: "{text.color}", - activeColor: "{primary.color}", - padding: "1rem 1.125rem", - fontWeight: "600", - margin: "0 0 -1px 0", - gap: "0.5rem", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - itemIcon: { - color: "{text.muted.color}", - hoverColor: "{text.color}", - activeColor: "{primary.color}" - }, - activeBar: { - height: "1px", - bottom: "-1px", - background: "{primary.color}" - } -}; -var index$i = { - root: { - transitionDuration: "{transition.duration}" - }, - tablist: { - borderWidth: "0 0 1px 0", - background: "{content.background}", - borderColor: "{content.border.color}" - }, - tab: { - background: "transparent", - hoverBackground: "transparent", - activeBackground: "transparent", - borderWidth: "0 0 1px 0", - borderColor: "{content.border.color}", - hoverBorderColor: "{content.border.color}", - activeBorderColor: "{primary.color}", - color: "{text.muted.color}", - hoverColor: "{text.color}", - activeColor: "{primary.color}", - padding: "1rem 1.125rem", - fontWeight: "600", - margin: "0 0 -1px 0", - gap: "0.5rem", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "-1px", - shadow: "{focus.ring.shadow}" - } - }, - tabpanel: { - background: "{content.background}", - color: "{content.color}", - padding: "0.875rem 1.125rem 1.125rem 1.125rem", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "inset {focus.ring.shadow}" - } - }, - navButton: { - background: "{content.background}", - color: "{text.muted.color}", - hoverColor: "{text.color}", - width: "2.5rem", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "-1px", - shadow: "{focus.ring.shadow}" - } - }, - activeBar: { - height: "1px", - bottom: "-1px", - background: "{primary.color}" - }, - colorScheme: { - light: { - navButton: { - shadow: "0px 0px 10px 50px rgba(255, 255, 255, 0.6)" - } - }, - dark: { - navButton: { - shadow: "0px 0px 10px 50px color-mix(in srgb, {content.background}, transparent 50%)" - } - } - } -}; -var index$h = { - root: { - transitionDuration: "{transition.duration}" - }, - tabList: { - background: "{content.background}", - borderColor: "{content.border.color}" - }, - tab: { - borderColor: "{content.border.color}", - activeBorderColor: "{primary.color}", - color: "{text.muted.color}", - hoverColor: "{text.color}", - activeColor: "{primary.color}" - }, - tabPanel: { - background: "{content.background}", - color: "{content.color}" - }, - navButton: { - background: "{content.background}", - color: "{text.muted.color}", - hoverColor: "{text.color}" - }, - colorScheme: { - light: { - navButton: { - shadow: "0px 0px 10px 50px rgba(255, 255, 255, 0.6)" - } - }, - dark: { - navButton: { - shadow: "0px 0px 10px 50px color-mix(in srgb, {content.background}, transparent 50%)" - } - } - } -}; -var index$g = { - root: { - fontSize: "0.875rem", - fontWeight: "700", - padding: "0.25rem 0.5rem", - gap: "0.25rem", - borderRadius: "{content.border.radius}", - roundedBorderRadius: "{border.radius.xl}" - }, - icon: { - size: "0.75rem" - }, - colorScheme: { - light: { - primary: { - background: "{primary.100}", - color: "{primary.700}" - }, - secondary: { - background: "{surface.100}", - color: "{surface.600}" - }, - success: { - background: "{green.100}", - color: "{green.700}" - }, - info: { - background: "{sky.100}", - color: "{sky.700}" - }, - warn: { - background: "{orange.100}", - color: "{orange.700}" - }, - danger: { - background: "{red.100}", - color: "{red.700}" - }, - contrast: { - background: "{surface.950}", - color: "{surface.0}" - } - }, - dark: { - primary: { - background: "color-mix(in srgb, {primary.500}, transparent 84%)", - color: "{primary.300}" - }, - secondary: { - background: "{surface.800}", - color: "{surface.300}" - }, - success: { - background: "color-mix(in srgb, {green.500}, transparent 84%)", - color: "{green.300}" - }, - info: { - background: "color-mix(in srgb, {sky.500}, transparent 84%)", - color: "{sky.300}" - }, - warn: { - background: "color-mix(in srgb, {orange.500}, transparent 84%)", - color: "{orange.300}" - }, - danger: { - background: "color-mix(in srgb, {red.500}, transparent 84%)", - color: "{red.300}" - }, - contrast: { - background: "{surface.0}", - color: "{surface.950}" - } - } - } -}; -var index$f = { - root: { - background: "{form.field.background}", - borderColor: "{form.field.border.color}", - color: "{form.field.color}", - height: "18rem", - padding: "{form.field.padding.y} {form.field.padding.x}", - borderRadius: "{form.field.border.radius}" - }, - prompt: { - gap: "0.25rem" - }, - commandResponse: { - margin: "2px 0" - } -}; -var index$e = { - root: { - background: "{form.field.background}", - disabledBackground: "{form.field.disabled.background}", - filledBackground: "{form.field.filled.background}", - filledFocusBackground: "{form.field.filled.focus.background}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.hover.border.color}", - focusBorderColor: "{form.field.focus.border.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - color: "{form.field.color}", - disabledColor: "{form.field.disabled.color}", - placeholderColor: "{form.field.placeholder.color}", - shadow: "{form.field.shadow}", - paddingX: "{form.field.padding.x}", - paddingY: "{form.field.padding.y}", - borderRadius: "{form.field.border.radius}", - focusRing: { - width: "{form.field.focus.ring.width}", - style: "{form.field.focus.ring.style}", - color: "{form.field.focus.ring.color}", - offset: "{form.field.focus.ring.offset}", - shadow: "{form.field.focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}" - } -}; -var index$d = { - root: { - background: "{content.background}", - borderColor: "{content.border.color}", - color: "{content.color}", - borderRadius: "{content.border.radius}", - shadow: "{overlay.navigation.shadow}", - transitionDuration: "{transition.duration}" - }, - list: { - padding: "{navigation.list.padding}", - gap: "{navigation.list.gap}" - }, - item: { - focusBackground: "{navigation.item.focus.background}", - activeBackground: "{navigation.item.active.background}", - color: "{navigation.item.color}", - focusColor: "{navigation.item.focus.color}", - activeColor: "{navigation.item.active.color}", - padding: "{navigation.item.padding}", - borderRadius: "{navigation.item.border.radius}", - gap: "{navigation.item.gap}", - icon: { - color: "{navigation.item.icon.color}", - focusColor: "{navigation.item.icon.focus.color}", - activeColor: "{navigation.item.icon.active.color}" - } - }, - submenuLabel: { - padding: "{navigation.submenu.label.padding}", - fontWeight: "{navigation.submenu.label.font.weight}", - background: "{navigation.submenu.label.background.}", - color: "{navigation.submenu.label.color}" - }, - submenuIcon: { - size: "{navigation.submenu.icon.size}", - color: "{navigation.submenu.icon.color}", - focusColor: "{navigation.submenu.icon.focus.color}", - activeColor: "{navigation.submenu.icon.active.color}" - }, - separator: { - borderColor: "{content.border.color}" - } -}; -var index$c = { - event: { - minHeight: "5rem" - }, - horizontal: { - eventContent: { - padding: "1rem 0" - } - }, - vertical: { - eventContent: { - padding: "0 1rem" - } - }, - eventMarker: { - size: "1.125rem", - borderRadius: "50%", - borderWidth: "2px", - background: "{content.background}", - borderColor: "{content.border.color}", - content: { - borderRadius: "50%", - size: "0.375rem", - background: "{primary.color}", - insetShadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)" - } - }, - eventConnector: { - color: "{content.border.color}", - size: "2px" - } -}; -var index$b = { - root: { - width: "25rem", - borderRadius: "{content.border.radius}", - borderWidth: "1px", - transitionDuration: "{transition.duration}" - }, - icon: { - size: "1.125rem" - }, - content: { - padding: "{overlay.popover.padding}", - gap: "0.5rem" - }, - text: { - gap: "0.5rem" - }, - summary: { - fontWeight: "500", - fontSize: "1rem" - }, - detail: { - fontWeight: "500", - fontSize: "0.875rem" - }, - closeButton: { - width: "1.75rem", - height: "1.75rem", - borderRadius: "50%", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - offset: "{focus.ring.offset}" - } - }, - closeIcon: { - size: "1rem" - }, - colorScheme: { - light: { - blur: "1.5px", - info: { - background: "color-mix(in srgb, {blue.50}, transparent 5%)", - borderColor: "{blue.200}", - color: "{blue.600}", - detailColor: "{surface.700}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", - closeButton: { - hoverBackground: "{blue.100}", - focusRing: { - color: "{blue.600}", - shadow: "none" - } - } - }, - success: { - background: "color-mix(in srgb, {green.50}, transparent 5%)", - borderColor: "{green.200}", - color: "{green.600}", - detailColor: "{surface.700}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", - closeButton: { - hoverBackground: "{green.100}", - focusRing: { - color: "{green.600}", - shadow: "none" - } - } - }, - warn: { - background: "color-mix(in srgb,{yellow.50}, transparent 5%)", - borderColor: "{yellow.200}", - color: "{yellow.600}", - detailColor: "{surface.700}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", - closeButton: { - hoverBackground: "{yellow.100}", - focusRing: { - color: "{yellow.600}", - shadow: "none" - } - } - }, - error: { - background: "color-mix(in srgb, {red.50}, transparent 5%)", - borderColor: "{red.200}", - color: "{red.600}", - detailColor: "{surface.700}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", - closeButton: { - hoverBackground: "{red.100}", - focusRing: { - color: "{red.600}", - shadow: "none" - } - } - }, - secondary: { - background: "{surface.100}", - borderColor: "{surface.200}", - color: "{surface.600}", - detailColor: "{surface.700}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", - closeButton: { - hoverBackground: "{surface.200}", - focusRing: { - color: "{surface.600}", - shadow: "none" - } - } - }, - contrast: { - background: "{surface.900}", - borderColor: "{surface.950}", - color: "{surface.50}", - detailColor: "{surface.0}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", - closeButton: { - hoverBackground: "{surface.800}", - focusRing: { - color: "{surface.50}", - shadow: "none" - } - } - } - }, - dark: { - blur: "10px", - info: { - background: "color-mix(in srgb, {blue.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {blue.700}, transparent 64%)", - color: "{blue.500}", - detailColor: "{surface.0}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", - closeButton: { - hoverBackground: "rgba(255, 255, 255, 0.05)", - focusRing: { - color: "{blue.500}", - shadow: "none" - } - } - }, - success: { - background: "color-mix(in srgb, {green.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {green.700}, transparent 64%)", - color: "{green.500}", - detailColor: "{surface.0}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", - closeButton: { - hoverBackground: "rgba(255, 255, 255, 0.05)", - focusRing: { - color: "{green.500}", - shadow: "none" - } - } - }, - warn: { - background: "color-mix(in srgb, {yellow.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {yellow.700}, transparent 64%)", - color: "{yellow.500}", - detailColor: "{surface.0}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", - closeButton: { - hoverBackground: "rgba(255, 255, 255, 0.05)", - focusRing: { - color: "{yellow.500}", - shadow: "none" - } - } - }, - error: { - background: "color-mix(in srgb, {red.500}, transparent 84%)", - borderColor: "color-mix(in srgb, {red.700}, transparent 64%)", - color: "{red.500}", - detailColor: "{surface.0}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", - closeButton: { - hoverBackground: "rgba(255, 255, 255, 0.05)", - focusRing: { - color: "{red.500}", - shadow: "none" - } - } - }, - secondary: { - background: "{surface.800}", - borderColor: "{surface.700}", - color: "{surface.300}", - detailColor: "{surface.0}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", - closeButton: { - hoverBackground: "{surface.700}", - focusRing: { - color: "{surface.300}", - shadow: "none" - } - } - }, - contrast: { - background: "{surface.0}", - borderColor: "{surface.100}", - color: "{surface.950}", - detailColor: "{surface.950}", - shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", - closeButton: { - hoverBackground: "{surface.100}", - focusRing: { - color: "{surface.950}", - shadow: "none" - } - } - } - } - } -}; -var index$a = { - root: { - padding: "0.5rem 1rem", - borderRadius: "{content.border.radius}", - gap: "0.5rem", - fontWeight: "500", - disabledBackground: "{form.field.disabled.background}", - disabledBorderColor: "{form.field.disabled.background}", - disabledColor: "{form.field.disabled.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}" - }, - icon: { - disabledColor: "{form.field.disabled.color}" - }, - content: { - left: "0.25rem", - top: "0.25rem", - checkedShadow: "0px 1px 2px 0px rgba(0, 0, 0, 0.02), 0px 1px 2px 0px rgba(0, 0, 0, 0.04)" - }, - colorScheme: { - light: { - root: { - background: "{surface.100}", - checkedBackground: "{surface.100}", - hoverBackground: "{surface.100}", - borderColor: "{surface.100}", - color: "{surface.500}", - hoverColor: "{surface.700}", - checkedColor: "{surface.900}", - checkedBorderColor: "{surface.100}" - }, - content: { - checkedBackground: "{surface.0}" - }, - icon: { - color: "{surface.500}", - hoverColor: "{surface.700}", - checkedColor: "{surface.900}" - } - }, - dark: { - root: { - background: "{surface.950}", - checkedBackground: "{surface.950}", - hoverBackground: "{surface.950}", - borderColor: "{surface.950}", - color: "{surface.400}", - hoverColor: "{surface.300}", - checkedColor: "{surface.0}", - checkedBorderColor: "{surface.950}" - }, - content: { - checkedBackground: "{surface.800}" - }, - icon: { - color: "{surface.400}", - hoverColor: "{surface.300}", - checkedColor: "{surface.0}" - } - } - } -}; -var index$9 = { - root: { - width: "2.5rem", - height: "1.5rem", - borderRadius: "30px", - gap: "0.25rem", - shadow: "{form.field.shadow}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - }, - borderWidth: "1px", - borderColor: "transparent", - hoverBorderColor: "transparent", - checkedBorderColor: "transparent", - checkedHoverBorderColor: "transparent", - invalidBorderColor: "{form.field.invalid.border.color}", - transitionDuration: "{form.field.transition.duration}", - slideDuration: "0.2s", - disabledBackground: "{form.field.disabled.background}" - }, - handle: { - borderRadius: "50%", - size: "1rem", - disabledBackground: "{form.field.disabled.color}" - }, - colorScheme: { - light: { - root: { - background: "{surface.300}", - hoverBackground: "{surface.400}", - checkedBackground: "{primary.color}", - checkedHoverBackground: "{primary.hover.color}" - }, - handle: { - background: "{surface.0}", - hoverBackground: "{surface.0}", - checkedBackground: "{surface.0}", - checkedHoverBackground: "{surface.0}" - } - }, - dark: { - root: { - background: "{surface.700}", - hoverBackground: "{surface.600}", - checkedBackground: "{primary.color}", - checkedHoverBackground: "{primary.hover.color}" - }, - handle: { - background: "{surface.400}", - hoverBackground: "{surface.300}", - checkedBackground: "{surface.900}", - checkedHoverBackground: "{surface.900}" - } - } - } -}; -var index$8 = { - root: { - background: "{content.background}", - borderColor: "{content.border.color}", - borderRadius: "{content.border.radius}", - color: "{content.color}", - gap: "0.5rem", - padding: "0.75rem" - } -}; -var index$7 = { - root: { - maxWidth: "12.5rem", - gutter: "0.25rem", - shadow: "{overlay.popover.shadow}", - padding: "0.5rem 0.75rem", - borderRadius: "{overlay.popover.border.radius}" - }, - colorScheme: { - light: { - root: { - background: "{surface.700}", - color: "{surface.0}" - } - }, - dark: { - root: { - background: "{surface.700}", - color: "{surface.0}" - } - } - } -}; -var index$6 = { - root: { - background: "{content.background}", - color: "{content.color}", - padding: "1rem", - gap: "2px", - indent: "1rem", - transitionDuration: "{transition.duration}" - }, - node: { - padding: "0.25rem 0.5rem", - borderRadius: "{content.border.radius}", - hoverBackground: "{content.hover.background}", - selectedBackground: "{highlight.background}", - color: "{text.color}", - hoverColor: "{text.hover.color}", - selectedColor: "{highlight.color}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "-1px", - shadow: "{focus.ring.shadow}" - }, - gap: "0.25rem" - }, - nodeIcon: { - color: "{text.muted.color}", - hoverColor: "{text.hover.muted.color}", - selectedColor: "{highlight.color}" - }, - nodeToggleButton: { - borderRadius: "50%", - size: "1.75rem", - hoverBackground: "{content.hover.background}", - selectedHoverBackground: "{content.background}", - color: "{text.muted.color}", - hoverColor: "{text.hover.muted.color}", - selectedHoverColor: "{primary.color}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - loadingIcon: { - size: "2rem" - } -}; -var index$5 = { - root: { - background: "{form.field.background}", - disabledBackground: "{form.field.disabled.background}", - filledBackground: "{form.field.filled.background}", - filledFocusBackground: "{form.field.filled.focus.background}", - borderColor: "{form.field.border.color}", - hoverBorderColor: "{form.field.hover.border.color}", - focusBorderColor: "{form.field.focus.border.color}", - invalidBorderColor: "{form.field.invalid.border.color}", - color: "{form.field.color}", - disabledColor: "{form.field.disabled.color}", - placeholderColor: "{form.field.placeholder.color}", - shadow: "{form.field.shadow}", - paddingX: "{form.field.padding.x}", - paddingY: "{form.field.padding.y}", - borderRadius: "{form.field.border.radius}", - focusRing: { - width: "{form.field.focus.ring.width}", - style: "{form.field.focus.ring.style}", - color: "{form.field.focus.ring.color}", - offset: "{form.field.focus.ring.offset}", - shadow: "{form.field.focus.ring.shadow}" - }, - transitionDuration: "{form.field.transition.duration}" - }, - dropdown: { - width: "2.5rem", - color: "{form.field.icon.color}" - }, - overlay: { - background: "{overlay.select.background}", - borderColor: "{overlay.select.border.color}", - borderRadius: "{overlay.select.border.radius}", - color: "{overlay.select.color}", - shadow: "{overlay.select.shadow}" - }, - tree: { - padding: "{list.padding}" - }, - emptyMessage: { - padding: "{list.option.padding}" - }, - chip: { - borderRadius: "{border.radius.sm}" - } -}; -var index$4 = { - root: { - transitionDuration: "{transition.duration}" - }, - header: { - background: "{content.background}", - borderColor: "{treetable.border.color}", - color: "{content.color}", - borderWidth: "0 0 1px 0", - padding: "0.75rem 1rem" - }, - headerCell: { - background: "{content.background}", - hoverBackground: "{content.hover.background}", - selectedBackground: "{highlight.background}", - borderColor: "{treetable.border.color}", - color: "{content.color}", - hoverColor: "{content.hover.color}", - selectedColor: "{highlight.color}", - gap: "0.5rem", - padding: "0.75rem 1rem", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "-1px", - shadow: "{focus.ring.shadow}" - } - }, - columnTitle: { - fontWeight: "600" - }, - row: { - background: "{content.background}", - hoverBackground: "{content.hover.background}", - selectedBackground: "{highlight.background}", - color: "{content.color}", - hoverColor: "{content.hover.color}", - selectedColor: "{highlight.color}", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "-1px", - shadow: "{focus.ring.shadow}" - } - }, - bodyCell: { - borderColor: "{treetable.border.color}", - padding: "0.75rem 1rem", - gap: "0.5rem" - }, - footerCell: { - background: "{content.background}", - borderColor: "{treetable.border.color}", - color: "{content.color}", - padding: "0.75rem 1rem" - }, - columnFooter: { - fontWeight: "600" - }, - footer: { - background: "{content.background}", - borderColor: "{treetable.border.color}", - color: "{content.color}", - borderWidth: "0 0 1px 0", - padding: "0.75rem 1rem" - }, - columnResizerWidth: "0.5rem", - resizeIndicator: { - width: "1px", - color: "{primary.color}" - }, - sortIcon: { - color: "{text.muted.color}", - hoverColor: "{text.hover.muted.color}" - }, - loadingIcon: { - size: "2rem" - }, - nodeToggleButton: { - hoverBackground: "{content.hover.background}", - selectedHoverBackground: "{content.background}", - color: "{text.muted.color}", - hoverColor: "{text.color}", - selectedHoverColor: "{primary.color}", - size: "1.75rem", - borderRadius: "50%", - focusRing: { - width: "{focus.ring.width}", - style: "{focus.ring.style}", - color: "{focus.ring.color}", - offset: "{focus.ring.offset}", - shadow: "{focus.ring.shadow}" - } - }, - paginatorTop: { - borderColor: "{content.border.color}", - borderWidth: "0 0 1px 0" - }, - paginatorBottom: { - borderColor: "{content.border.color}", - borderWidth: "0 0 1px 0" - }, - colorScheme: { - light: { - root: { - borderColor: "{content.border.color}" - }, - bodyCell: { - selectedBorderColor: "{primary.100}" - } - }, - dark: { - root: { - borderColor: "{surface.800}" - }, - bodyCell: { - selectedBorderColor: "{primary.900}" - } - } - } -}; -var index$3 = { - loader: { - mask: { - background: "{content.background}", - color: "{text.muted.color}" - }, - icon: { - size: "2rem" - } - } -}; -var index$2 = { +var index$1n = { primitive: { borderRadius: { none: "0", @@ -5568,6 +1795,16 @@ var index$2 = { formField: { paddingX: "0.75rem", paddingY: "0.5rem", + sm: { + fontSize: "0.875rem", + paddingX: "0.625rem", + paddingY: "0.375rem" + }, + lg: { + fontSize: "1.125rem", + paddingX: "0.875rem", + paddingY: "0.625rem" + }, borderRadius: "{border.radius.md}", focusRing: { width: "0", @@ -5672,6 +1909,7 @@ var index$2 = { background: "{surface.0}", disabledBackground: "{surface.200}", filledBackground: "{surface.50}", + filledHoverBackground: "{surface.50}", filledFocusBackground: "{surface.50}", borderColor: "{surface.300}", hoverBorderColor: "{surface.400}", @@ -5680,9 +1918,11 @@ var index$2 = { color: "{surface.700}", disabledColor: "{surface.500}", placeholderColor: "{surface.500}", + invalidPlaceholderColor: "{red.600}", floatLabelColor: "{surface.500}", - floatLabelFocusColor: "{surface.500}", - floatLabelInvalidColor: "{red.400}", + floatLabelFocusColor: "{primary.600}", + floatLabelActiveColor: "{surface.500}", + floatLabelInvalidColor: "{form.field.invalid.placeholder.color}", iconColor: "{surface.400}", shadow: "0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgba(18, 18, 23, 0.05)" }, @@ -5794,17 +2034,20 @@ var index$2 = { background: "{surface.950}", disabledBackground: "{surface.700}", filledBackground: "{surface.800}", + filledHoverBackground: "{surface.800}", filledFocusBackground: "{surface.800}", - borderColor: "{surface.700}", - hoverBorderColor: "{surface.600}", + borderColor: "{surface.600}", + hoverBorderColor: "{surface.500}", focusBorderColor: "{primary.color}", invalidBorderColor: "{red.300}", color: "{surface.0}", disabledColor: "{surface.400}", placeholderColor: "{surface.400}", + invalidPlaceholderColor: "{red.400}", floatLabelColor: "{surface.400}", - floatLabelFocusColor: "{surface.400}", - floatLabelInvalidColor: "{red.300}", + floatLabelFocusColor: "{primary.color}", + floatLabelActiveColor: "{surface.400}", + floatLabelInvalidColor: "{form.field.invalid.placeholder.color}", iconColor: "{surface.400}", shadow: "0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgba(18, 18, 23, 0.05)" }, @@ -5882,43 +2125,4368 @@ var index$2 = { } } } + } +}; +var index$1m = { + root: { + borderRadius: "{content.border.radius}" + } +}; +var index$1l = { + root: { + padding: "1rem", + background: "{content.background}", + gap: "0.5rem", + transitionDuration: "{transition.duration}" }, + item: { + color: "{text.muted.color}", + hoverColor: "{text.color}", + borderRadius: "{content.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + hoverColor: "{navigation.item.icon.focus.color}" + }, + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + separator: { + color: "{navigation.item.icon.color}" + } +}; +var index$1k = { + root: { + borderRadius: "{form.field.border.radius}", + roundedBorderRadius: "2rem", + gap: "0.5rem", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + iconOnlyWidth: "2.5rem", + sm: { + fontSize: "{form.field.sm.font.size}", + paddingX: "{form.field.sm.padding.x}", + paddingY: "{form.field.sm.padding.y}" + }, + lg: { + fontSize: "{form.field.lg.font.size}", + paddingX: "{form.field.lg.padding.x}", + paddingY: "{form.field.lg.padding.y}" + }, + label: { + fontWeight: "500" + }, + raisedShadow: "0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + offset: "{focus.ring.offset}" + }, + badgeSize: "1rem", + transitionDuration: "{form.field.transition.duration}" + }, + colorScheme: { + light: { + root: { + primary: { + background: "{primary.color}", + hoverBackground: "{primary.hover.color}", + activeBackground: "{primary.active.color}", + borderColor: "{primary.color}", + hoverBorderColor: "{primary.hover.color}", + activeBorderColor: "{primary.active.color}", + color: "{primary.contrast.color}", + hoverColor: "{primary.contrast.color}", + activeColor: "{primary.contrast.color}", + focusRing: { + color: "{primary.color}", + shadow: "none" + } + }, + secondary: { + background: "{surface.100}", + hoverBackground: "{surface.200}", + activeBackground: "{surface.300}", + borderColor: "{surface.100}", + hoverBorderColor: "{surface.200}", + activeBorderColor: "{surface.300}", + color: "{surface.600}", + hoverColor: "{surface.700}", + activeColor: "{surface.800}", + focusRing: { + color: "{surface.600}", + shadow: "none" + } + }, + info: { + background: "{sky.500}", + hoverBackground: "{sky.600}", + activeBackground: "{sky.700}", + borderColor: "{sky.500}", + hoverBorderColor: "{sky.600}", + activeBorderColor: "{sky.700}", + color: "#ffffff", + hoverColor: "#ffffff", + activeColor: "#ffffff", + focusRing: { + color: "{sky.500}", + shadow: "none" + } + }, + success: { + background: "{green.500}", + hoverBackground: "{green.600}", + activeBackground: "{green.700}", + borderColor: "{green.500}", + hoverBorderColor: "{green.600}", + activeBorderColor: "{green.700}", + color: "#ffffff", + hoverColor: "#ffffff", + activeColor: "#ffffff", + focusRing: { + color: "{green.500}", + shadow: "none" + } + }, + warn: { + background: "{orange.500}", + hoverBackground: "{orange.600}", + activeBackground: "{orange.700}", + borderColor: "{orange.500}", + hoverBorderColor: "{orange.600}", + activeBorderColor: "{orange.700}", + color: "#ffffff", + hoverColor: "#ffffff", + activeColor: "#ffffff", + focusRing: { + color: "{orange.500}", + shadow: "none" + } + }, + help: { + background: "{purple.500}", + hoverBackground: "{purple.600}", + activeBackground: "{purple.700}", + borderColor: "{purple.500}", + hoverBorderColor: "{purple.600}", + activeBorderColor: "{purple.700}", + color: "#ffffff", + hoverColor: "#ffffff", + activeColor: "#ffffff", + focusRing: { + color: "{purple.500}", + shadow: "none" + } + }, + danger: { + background: "{red.500}", + hoverBackground: "{red.600}", + activeBackground: "{red.700}", + borderColor: "{red.500}", + hoverBorderColor: "{red.600}", + activeBorderColor: "{red.700}", + color: "#ffffff", + hoverColor: "#ffffff", + activeColor: "#ffffff", + focusRing: { + color: "{red.500}", + shadow: "none" + } + }, + contrast: { + background: "{surface.950}", + hoverBackground: "{surface.900}", + activeBackground: "{surface.800}", + borderColor: "{surface.950}", + hoverBorderColor: "{surface.900}", + activeBorderColor: "{surface.800}", + color: "{surface.0}", + hoverColor: "{surface.0}", + activeColor: "{surface.0}", + focusRing: { + color: "{surface.950}", + shadow: "none" + } + } + }, + outlined: { + primary: { + hoverBackground: "{primary.50}", + activeBackground: "{primary.100}", + borderColor: "{primary.200}", + color: "{primary.color}" + }, + secondary: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + borderColor: "{surface.200}", + color: "{surface.500}" + }, + success: { + hoverBackground: "{green.50}", + activeBackground: "{green.100}", + borderColor: "{green.200}", + color: "{green.500}" + }, + info: { + hoverBackground: "{sky.50}", + activeBackground: "{sky.100}", + borderColor: "{sky.200}", + color: "{sky.500}" + }, + warn: { + hoverBackground: "{orange.50}", + activeBackground: "{orange.100}", + borderColor: "{orange.200}", + color: "{orange.500}" + }, + help: { + hoverBackground: "{purple.50}", + activeBackground: "{purple.100}", + borderColor: "{purple.200}", + color: "{purple.500}" + }, + danger: { + hoverBackground: "{red.50}", + activeBackground: "{red.100}", + borderColor: "{red.200}", + color: "{red.500}" + }, + contrast: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + borderColor: "{surface.700}", + color: "{surface.950}" + }, + plain: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + borderColor: "{surface.200}", + color: "{surface.700}" + } + }, + text: { + primary: { + hoverBackground: "{primary.50}", + activeBackground: "{primary.100}", + color: "{primary.color}" + }, + secondary: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + color: "{surface.500}" + }, + success: { + hoverBackground: "{green.50}", + activeBackground: "{green.100}", + color: "{green.500}" + }, + info: { + hoverBackground: "{sky.50}", + activeBackground: "{sky.100}", + color: "{sky.500}" + }, + warn: { + hoverBackground: "{orange.50}", + activeBackground: "{orange.100}", + color: "{orange.500}" + }, + help: { + hoverBackground: "{purple.50}", + activeBackground: "{purple.100}", + color: "{purple.500}" + }, + danger: { + hoverBackground: "{red.50}", + activeBackground: "{red.100}", + color: "{red.500}" + }, + contrast: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + color: "{surface.950}" + }, + plain: { + hoverBackground: "{surface.50}", + activeBackground: "{surface.100}", + color: "{surface.700}" + } + }, + link: { + color: "{primary.color}", + hoverColor: "{primary.color}", + activeColor: "{primary.color}" + } + }, + dark: { + root: { + primary: { + background: "{primary.color}", + hoverBackground: "{primary.hover.color}", + activeBackground: "{primary.active.color}", + borderColor: "{primary.color}", + hoverBorderColor: "{primary.hover.color}", + activeBorderColor: "{primary.active.color}", + color: "{primary.contrast.color}", + hoverColor: "{primary.contrast.color}", + activeColor: "{primary.contrast.color}", + focusRing: { + color: "{primary.color}", + shadow: "none" + } + }, + secondary: { + background: "{surface.800}", + hoverBackground: "{surface.700}", + activeBackground: "{surface.600}", + borderColor: "{surface.800}", + hoverBorderColor: "{surface.700}", + activeBorderColor: "{surface.600}", + color: "{surface.300}", + hoverColor: "{surface.200}", + activeColor: "{surface.100}", + focusRing: { + color: "{surface.300}", + shadow: "none" + } + }, + info: { + background: "{sky.400}", + hoverBackground: "{sky.300}", + activeBackground: "{sky.200}", + borderColor: "{sky.400}", + hoverBorderColor: "{sky.300}", + activeBorderColor: "{sky.200}", + color: "{sky.950}", + hoverColor: "{sky.950}", + activeColor: "{sky.950}", + focusRing: { + color: "{sky.400}", + shadow: "none" + } + }, + success: { + background: "{green.400}", + hoverBackground: "{green.300}", + activeBackground: "{green.200}", + borderColor: "{green.400}", + hoverBorderColor: "{green.300}", + activeBorderColor: "{green.200}", + color: "{green.950}", + hoverColor: "{green.950}", + activeColor: "{green.950}", + focusRing: { + color: "{green.400}", + shadow: "none" + } + }, + warn: { + background: "{orange.400}", + hoverBackground: "{orange.300}", + activeBackground: "{orange.200}", + borderColor: "{orange.400}", + hoverBorderColor: "{orange.300}", + activeBorderColor: "{orange.200}", + color: "{orange.950}", + hoverColor: "{orange.950}", + activeColor: "{orange.950}", + focusRing: { + color: "{orange.400}", + shadow: "none" + } + }, + help: { + background: "{purple.400}", + hoverBackground: "{purple.300}", + activeBackground: "{purple.200}", + borderColor: "{purple.400}", + hoverBorderColor: "{purple.300}", + activeBorderColor: "{purple.200}", + color: "{purple.950}", + hoverColor: "{purple.950}", + activeColor: "{purple.950}", + focusRing: { + color: "{purple.400}", + shadow: "none" + } + }, + danger: { + background: "{red.400}", + hoverBackground: "{red.300}", + activeBackground: "{red.200}", + borderColor: "{red.400}", + hoverBorderColor: "{red.300}", + activeBorderColor: "{red.200}", + color: "{red.950}", + hoverColor: "{red.950}", + activeColor: "{red.950}", + focusRing: { + color: "{red.400}", + shadow: "none" + } + }, + contrast: { + background: "{surface.0}", + hoverBackground: "{surface.100}", + activeBackground: "{surface.200}", + borderColor: "{surface.0}", + hoverBorderColor: "{surface.100}", + activeBorderColor: "{surface.200}", + color: "{surface.950}", + hoverColor: "{surface.950}", + activeColor: "{surface.950}", + focusRing: { + color: "{surface.0}", + shadow: "none" + } + } + }, + outlined: { + primary: { + hoverBackground: "color-mix(in srgb, {primary.color}, transparent 96%)", + activeBackground: "color-mix(in srgb, {primary.color}, transparent 84%)", + borderColor: "{primary.700}", + color: "{primary.color}" + }, + secondary: { + hoverBackground: "rgba(255,255,255,0.04)", + activeBackground: "rgba(255,255,255,0.16)", + borderColor: "{surface.700}", + color: "{surface.400}" + }, + success: { + hoverBackground: "color-mix(in srgb, {green.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {green.400}, transparent 84%)", + borderColor: "{green.700}", + color: "{green.400}" + }, + info: { + hoverBackground: "color-mix(in srgb, {sky.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {sky.400}, transparent 84%)", + borderColor: "{sky.700}", + color: "{sky.400}" + }, + warn: { + hoverBackground: "color-mix(in srgb, {orange.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {orange.400}, transparent 84%)", + borderColor: "{orange.700}", + color: "{orange.400}" + }, + help: { + hoverBackground: "color-mix(in srgb, {purple.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {purple.400}, transparent 84%)", + borderColor: "{purple.700}", + color: "{purple.400}" + }, + danger: { + hoverBackground: "color-mix(in srgb, {red.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {red.400}, transparent 84%)", + borderColor: "{red.700}", + color: "{red.400}" + }, + contrast: { + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + borderColor: "{surface.500}", + color: "{surface.0}" + }, + plain: { + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + borderColor: "{surface.600}", + color: "{surface.0}" + } + }, + text: { + primary: { + hoverBackground: "color-mix(in srgb, {primary.color}, transparent 96%)", + activeBackground: "color-mix(in srgb, {primary.color}, transparent 84%)", + color: "{primary.color}" + }, + secondary: { + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + color: "{surface.400}" + }, + success: { + hoverBackground: "color-mix(in srgb, {green.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {green.400}, transparent 84%)", + color: "{green.400}" + }, + info: { + hoverBackground: "color-mix(in srgb, {sky.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {sky.400}, transparent 84%)", + color: "{sky.400}" + }, + warn: { + hoverBackground: "color-mix(in srgb, {orange.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {orange.400}, transparent 84%)", + color: "{orange.400}" + }, + help: { + hoverBackground: "color-mix(in srgb, {purple.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {purple.400}, transparent 84%)", + color: "{purple.400}" + }, + danger: { + hoverBackground: "color-mix(in srgb, {red.400}, transparent 96%)", + activeBackground: "color-mix(in srgb, {red.400}, transparent 84%)", + color: "{red.400}" + }, + contrast: { + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + color: "{surface.0}" + }, + plain: { + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + color: "{surface.0}" + } + }, + link: { + color: "{primary.color}", + hoverColor: "{primary.color}", + activeColor: "{primary.color}" + } + } + } +}; +var index$1j = { + root: { + background: "{content.background}", + borderRadius: "{border.radius.xl}", + color: "{content.color}", + shadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)" + }, + body: { + padding: "1.25rem", + gap: "0.5rem" + }, + caption: { + gap: "0.5rem" + }, + title: { + fontSize: "1.25rem", + fontWeight: "500" + }, + subtitle: { + color: "{text.muted.color}" + } +}; +var index$1i = { + root: { + transitionDuration: "{transition.duration}" + }, + content: { + gap: "0.25rem" + }, + indicatorList: { + padding: "1rem", + gap: "0.5rem" + }, + indicator: { + width: "2rem", + height: "0.5rem", + borderRadius: "{content.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + colorScheme: { + light: { + indicator: { + background: "{surface.200}", + hoverBackground: "{surface.300}", + activeBackground: "{primary.color}" + } + }, + dark: { + indicator: { + background: "{surface.700}", + hoverBackground: "{surface.600}", + activeBackground: "{primary.color}" + } + } + } +}; +var index$1h = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledHoverBackground: "{form.field.filled.hover.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + invalidPlaceholderColor: "{form.field.invalid.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}", + sm: { + fontSize: "{form.field.sm.font.size}", + paddingX: "{form.field.sm.padding.x}", + paddingY: "{form.field.sm.padding.y}" + }, + lg: { + fontSize: "{form.field.lg.font.size}", + paddingX: "{form.field.lg.padding.x}", + paddingY: "{form.field.lg.padding.y}" + } + }, + dropdown: { + width: "2.5rem", + color: "{form.field.icon.color}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + list: { + padding: "{list.padding}", + gap: "{list.gap}", + mobileIndent: "1rem" + }, + option: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}", + icon: { + color: "{list.option.icon.color}", + focusColor: "{list.option.icon.focus.color}", + size: "0.875rem" + } + }, + clearIcon: { + color: "{form.field.icon.color}" + } +}; +var index$1g = { + root: { + borderRadius: "{border.radius.sm}", + width: "1.25rem", + height: "1.25rem", + background: "{form.field.background}", + checkedBackground: "{primary.color}", + checkedHoverBackground: "{primary.hover.color}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.border.color}", + checkedBorderColor: "{primary.color}", + checkedHoverBorderColor: "{primary.hover.color}", + checkedFocusBorderColor: "{primary.color}", + checkedDisabledBorderColor: "{form.field.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + shadow: "{form.field.shadow}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}", + sm: { + width: "1rem", + height: "1rem" + }, + lg: { + width: "1.5rem", + height: "1.5rem" + } + }, + icon: { + size: "0.875rem", + color: "{form.field.color}", + checkedColor: "{primary.contrast.color}", + checkedHoverColor: "{primary.contrast.color}", + disabledColor: "{form.field.disabled.color}", + sm: { + size: "0.75rem" + }, + lg: { + size: "1rem" + } + } +}; +var index$1f = { + root: { + borderRadius: "16px", + paddingX: "0.75rem", + paddingY: "0.5rem", + gap: "0.5rem", + transitionDuration: "{transition.duration}" + }, + image: { + width: "2rem", + height: "2rem" + }, + icon: { + size: "1rem" + }, + removeIcon: { + size: "1rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + } + }, + colorScheme: { + light: { + root: { + background: "{surface.100}", + color: "{surface.800}" + }, + icon: { + color: "{surface.800}" + }, + removeIcon: { + color: "{surface.800}" + } + }, + dark: { + root: { + background: "{surface.800}", + color: "{surface.0}" + }, + icon: { + color: "{surface.0}" + }, + removeIcon: { + color: "{surface.0}" + } + } + } +}; +var index$1e = { + root: { + transitionDuration: "{transition.duration}" + }, + preview: { + width: "1.5rem", + height: "1.5rem", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + panel: { + shadow: "{overlay.popover.shadow}", + borderRadius: "{overlay.popover.borderRadius}" + }, + colorScheme: { + light: { + panel: { + background: "{surface.800}", + borderColor: "{surface.900}" + }, + handle: { + color: "{surface.0}" + } + }, + dark: { + panel: { + background: "{surface.900}", + borderColor: "{surface.700}" + }, + handle: { + color: "{surface.0}" + } + } + } +}; +var index$1d = { + icon: { + size: "2rem", + color: "{overlay.modal.color}" + }, + content: { + gap: "1rem" + } +}; +var index$1c = { + root: { + background: "{overlay.popover.background}", + borderColor: "{overlay.popover.border.color}", + color: "{overlay.popover.color}", + borderRadius: "{overlay.popover.border.radius}", + shadow: "{overlay.popover.shadow}", + gutter: "10px", + arrowOffset: "1.25rem" + }, + content: { + padding: "{overlay.popover.padding}", + gap: "1rem" + }, + icon: { + size: "1.5rem", + color: "{overlay.popover.color}" + }, + footer: { + gap: "0.5rem", + padding: "0 {overlay.popover.padding} {overlay.popover.padding} {overlay.popover.padding}" + } +}; +var index$1b = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}", + shadow: "{overlay.navigation.shadow}", + transitionDuration: "{transition.duration}" + }, + list: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}" + }, + item: { + focusBackground: "{navigation.item.focus.background}", + activeBackground: "{navigation.item.active.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + activeColor: "{navigation.item.active.color}", + padding: "{navigation.item.padding}", + borderRadius: "{navigation.item.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}", + activeColor: "{navigation.item.icon.active.color}" + } + }, + submenu: { + mobileIndent: "1rem" + }, + submenuIcon: { + size: "{navigation.submenu.icon.size}", + color: "{navigation.submenu.icon.color}", + focusColor: "{navigation.submenu.icon.focus.color}", + activeColor: "{navigation.submenu.icon.active.color}" + }, + separator: { + borderColor: "{content.border.color}" + } +}; +var index$1a = { + root: { + transitionDuration: "{transition.duration}" + }, + header: { + background: "{content.background}", + borderColor: "{datatable.border.color}", + color: "{content.color}", + borderWidth: "0 0 1px 0", + padding: "0.75rem 1rem" + }, + headerCell: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + borderColor: "{datatable.border.color}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + selectedColor: "{highlight.color}", + gap: "0.5rem", + padding: "0.75rem 1rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + columnTitle: { + fontWeight: "600" + }, + row: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + selectedColor: "{highlight.color}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + bodyCell: { + borderColor: "{datatable.border.color}", + padding: "0.75rem 1rem" + }, + footerCell: { + background: "{content.background}", + borderColor: "{datatable.border.color}", + color: "{content.color}", + padding: "0.75rem 1rem" + }, + columnFooter: { + fontWeight: "600" + }, + footer: { + background: "{content.background}", + borderColor: "{datatable.border.color}", + color: "{content.color}", + borderWidth: "0 0 1px 0", + padding: "0.75rem 1rem" + }, + dropPoint: { + color: "{primary.color}" + }, + columnResizerWidth: "0.5rem", + resizeIndicator: { + width: "1px", + color: "{primary.color}" + }, + sortIcon: { + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}", + size: "0.875rem" + }, + loadingIcon: { + size: "2rem" + }, + rowToggleButton: { + hoverBackground: "{content.hover.background}", + selectedHoverBackground: "{content.background}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + selectedHoverColor: "{primary.color}", + size: "1.75rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + filter: { + inlineGap: "0.5rem", + overlaySelect: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + overlayPopover: { + background: "{overlay.popover.background}", + borderColor: "{overlay.popover.border.color}", + borderRadius: "{overlay.popover.border.radius}", + color: "{overlay.popover.color}", + shadow: "{overlay.popover.shadow}", + padding: "{overlay.popover.padding}", + gap: "0.5rem" + }, + rule: { + borderColor: "{content.border.color}" + }, + constraintList: { + padding: "{list.padding}", + gap: "{list.gap}" + }, + constraint: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + separator: { + borderColor: "{content.border.color}" + }, + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}" + } + }, + paginatorTop: { + borderColor: "{datatable.border.color}", + borderWidth: "0 0 1px 0" + }, + paginatorBottom: { + borderColor: "{datatable.border.color}", + borderWidth: "0 0 1px 0" + }, + colorScheme: { + light: { + root: { + borderColor: "{content.border.color}" + }, + row: { + stripedBackground: "{surface.50}" + }, + bodyCell: { + selectedBorderColor: "{primary.100}" + } + }, + dark: { + root: { + borderColor: "{surface.800}" + }, + row: { + stripedBackground: "{surface.950}" + }, + bodyCell: { + selectedBorderColor: "{primary.900}" + } + } + } +}; +var index$19 = { + root: { + borderColor: "transparent", + borderWidth: "0", + borderRadius: "0", + padding: "0" + }, + header: { + background: "{content.background}", + color: "{content.color}", + borderColor: "{content.border.color}", + borderWidth: "0 0 1px 0", + padding: "0.75rem 1rem", + borderRadius: "0" + }, + content: { + background: "{content.background}", + color: "{content.color}", + borderColor: "transparent", + borderWidth: "0", + padding: "0", + borderRadius: "0" + }, + footer: { + background: "{content.background}", + color: "{content.color}", + borderColor: "{content.border.color}", + borderWidth: "1px 0 0 0", + padding: "0.75rem 1rem", + borderRadius: "0" + }, + paginatorTop: { + borderColor: "{content.border.color}", + borderWidth: "0 0 1px 0" + }, + paginatorBottom: { + borderColor: "{content.border.color}", + borderWidth: "1px 0 0 0" + } +}; +var index$18 = { + root: { + transitionDuration: "{transition.duration}" + }, + panel: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}", + shadow: "{overlay.popover.shadow}", + padding: "{overlay.popover.padding}" + }, + header: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + padding: "0 0 0.5rem 0" + }, + title: { + gap: "0.5rem", + fontWeight: "500" + }, + dropdown: { + width: "2.5rem", + sm: { + width: "2rem" + }, + lg: { + width: "3rem" + }, + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.border.color}", + activeBorderColor: "{form.field.border.color}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + inputIcon: { + color: "{form.field.icon.color}" + }, + selectMonth: { + hoverBackground: "{content.hover.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + padding: "0.25rem 0.5rem", + borderRadius: "{content.border.radius}" + }, + selectYear: { + hoverBackground: "{content.hover.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + padding: "0.25rem 0.5rem", + borderRadius: "{content.border.radius}" + }, + group: { + borderColor: "{content.border.color}", + gap: "{overlay.popover.padding}" + }, + dayView: { + margin: "0.5rem 0 0 0" + }, + weekDay: { + padding: "0.25rem", + fontWeight: "500", + color: "{content.color}" + }, + date: { + hoverBackground: "{content.hover.background}", + selectedBackground: "{primary.color}", + rangeSelectedBackground: "{highlight.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + selectedColor: "{primary.contrast.color}", + rangeSelectedColor: "{highlight.color}", + width: "2rem", + height: "2rem", + borderRadius: "50%", + padding: "0.25rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + monthView: { + margin: "0.5rem 0 0 0" + }, + month: { + padding: "0.375rem", + borderRadius: "{content.border.radius}" + }, + yearView: { + margin: "0.5rem 0 0 0" + }, + year: { + padding: "0.375rem", + borderRadius: "{content.border.radius}" + }, + buttonbar: { + padding: "0.5rem 0 0 0", + borderColor: "{content.border.color}" + }, + timePicker: { + padding: "0.5rem 0 0 0", + borderColor: "{content.border.color}", + gap: "0.5rem", + buttonGap: "0.25rem" + }, + colorScheme: { + light: { + dropdown: { + background: "{surface.100}", + hoverBackground: "{surface.200}", + activeBackground: "{surface.300}", + color: "{surface.600}", + hoverColor: "{surface.700}", + activeColor: "{surface.800}" + }, + today: { + background: "{surface.200}", + color: "{surface.900}" + } + }, + dark: { + dropdown: { + background: "{surface.800}", + hoverBackground: "{surface.700}", + activeBackground: "{surface.600}", + color: "{surface.300}", + hoverColor: "{surface.200}", + activeColor: "{surface.100}" + }, + today: { + background: "{surface.700}", + color: "{surface.0}" + } + } + } +}; +var index$17 = { + root: { + background: "{overlay.modal.background}", + borderColor: "{overlay.modal.border.color}", + color: "{overlay.modal.color}", + borderRadius: "{overlay.modal.border.radius}", + shadow: "{overlay.modal.shadow}" + }, + header: { + padding: "{overlay.modal.padding}", + gap: "0.5rem" + }, + title: { + fontSize: "1.25rem", + fontWeight: "600" + }, + content: { + padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}" + }, + footer: { + padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}", + gap: "0.5rem" + } +}; +var index$16 = { + root: { + borderColor: "{content.border.color}" + }, + content: { + background: "{content.background}", + color: "{text.color}" + }, + horizontal: { + margin: "1rem 0", + padding: "0 1rem", + content: { + padding: "0 0.5rem" + } + }, + vertical: { + margin: "0 1rem", + padding: "0.5rem 0", + content: { + padding: "0.5rem 0" + } + } +}; +var index$15 = { + root: { + background: "rgba(255, 255, 255, 0.1)", + borderColor: "rgba(255, 255, 255, 0.2)", + padding: "0.5rem", + borderRadius: "{border.radius.xl}" + }, + item: { + borderRadius: "{content.border.radius}", + padding: "0.5rem", + size: "3rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$14 = { + root: { + background: "{overlay.modal.background}", + borderColor: "{overlay.modal.border.color}", + color: "{overlay.modal.color}", + shadow: "{overlay.modal.shadow}" + }, + header: { + padding: "{overlay.modal.padding}" + }, + title: { + fontSize: "1.5rem", + fontWeight: "600" + }, + content: { + padding: "0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}" + }, + footer: { + padding: "{overlay.modal.padding}" + } +}; +var index$13 = { + toolbar: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}" + }, + toolbarItem: { + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{primary.color}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}", + padding: "{list.padding}" + }, + overlayOption: { + focusBackground: "{list.option.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}" + }, + content: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}" + } +}; +var index$12 = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + color: "{content.color}", + padding: "0 1.125rem 1.125rem 1.125rem", + transitionDuration: "{transition.duration}" + }, + legend: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + borderRadius: "{content.border.radius}", + borderWidth: "1px", + borderColor: "transparent", + padding: "0.5rem 0.75rem", + gap: "0.5rem", + fontWeight: "600", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + toggleIcon: { + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}" + }, + content: { + padding: "0" + } +}; +var index$11 = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}", + transitionDuration: "{transition.duration}" + }, + header: { + background: "transparent", + color: "{text.color}", + padding: "1.125rem", + borderColor: "unset", + borderWidth: "0", + borderRadius: "0", + gap: "0.5rem" + }, + content: { + highlightBorderColor: "{primary.color}", + padding: "0 1.125rem 1.125rem 1.125rem", + gap: "1rem" + }, + file: { + padding: "1rem", + gap: "1rem", + borderColor: "{content.border.color}", + info: { + gap: "0.5rem" + } + }, + fileList: { + gap: "0.5rem" + }, + progressbar: { + height: "0.25rem" + }, + basic: { + gap: "0.5rem" + } +}; +var index$10 = { + root: { + color: "{form.field.float.label.color}", + focusColor: "{form.field.float.label.focus.color}", + activeColor: "{form.field.float.label.active.color}", + invalidColor: "{form.field.float.label.invalid.color}", + transitionDuration: "0.2s", + positionX: "{form.field.padding.x}", + positionY: "{form.field.padding.y}", + fontWeight: "500", + active: { + fontSize: "0.75rem", + fontWeight: "400" + } + }, + over: { + active: { + top: "-1.25rem" + } + }, + "in": { + input: { + paddingTop: "1.5rem", + paddingBottom: "{form.field.padding.y}" + }, + active: { + top: "{form.field.padding.y}" + } + }, + on: { + borderRadius: "{border.radius.xs}", + active: { + background: "{form.field.background}", + padding: "0 0.125rem" + } + } +}; +var index$$ = { + root: { + borderWidth: "1px", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + transitionDuration: "{transition.duration}" + }, + navButton: { + background: "rgba(255, 255, 255, 0.1)", + hoverBackground: "rgba(255, 255, 255, 0.2)", + color: "{surface.100}", + hoverColor: "{surface.0}", + size: "3rem", + gutter: "0.5rem", + prev: { + borderRadius: "50%" + }, + next: { + borderRadius: "50%" + }, + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + navIcon: { + size: "1.5rem" + }, + thumbnailsContent: { + background: "{content.background}", + padding: "1rem 0.25rem" + }, + thumbnailNavButton: { + size: "2rem", + borderRadius: "{content.border.radius}", + gutter: "0.5rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + thumbnailNavButtonIcon: { + size: "1rem" + }, + caption: { + background: "rgba(0, 0, 0, 0.5)", + color: "{surface.100}", + padding: "1rem" + }, + indicatorList: { + gap: "0.5rem", + padding: "1rem" + }, + indicatorButton: { + width: "1rem", + height: "1rem", + activeBackground: "{primary.color}", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + insetIndicatorList: { + background: "rgba(0, 0, 0, 0.5)" + }, + insetIndicatorButton: { + background: "rgba(255, 255, 255, 0.4)", + hoverBackground: "rgba(255, 255, 255, 0.6)", + activeBackground: "rgba(255, 255, 255, 0.9)" + }, + closeButton: { + size: "3rem", + gutter: "0.5rem", + background: "rgba(255, 255, 255, 0.1)", + hoverBackground: "rgba(255, 255, 255, 0.2)", + color: "{surface.50}", + hoverColor: "{surface.0}", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + closeButtonIcon: { + size: "1.5rem" + }, + colorScheme: { + light: { + thumbnailNavButton: { + hoverBackground: "{surface.100}", + color: "{surface.600}", + hoverColor: "{surface.700}" + }, + indicatorButton: { + background: "{surface.200}", + hoverBackground: "{surface.300}" + } + }, + dark: { + thumbnailNavButton: { + hoverBackground: "{surface.700}", + color: "{surface.400}", + hoverColor: "{surface.0}" + }, + indicatorButton: { + background: "{surface.700}", + hoverBackground: "{surface.600}" + } + } + } +}; +var index$_ = { + icon: { + color: "{form.field.icon.color}" + } +}; +var index$Z = { + root: { + color: "{form.field.float.label.color}", + focusColor: "{form.field.float.label.focus.color}", + invalidColor: "{form.field.float.label.invalid.color}", + transitionDuration: "0.2s", + positionX: "{form.field.padding.x}", + top: "{form.field.padding.y}", + fontSize: "0.75rem", + fontWeight: "400" + }, + input: { + paddingTop: "1.5rem", + paddingBottom: "{form.field.padding.y}" + } +}; +var index$Y = { + root: { + transitionDuration: "{transition.duration}" + }, + preview: { + icon: { + size: "1.5rem" + }, + mask: { + background: "{mask.background}", + color: "{mask.color}" + } + }, + toolbar: { + position: { + left: "auto", + right: "1rem", + top: "1rem", + bottom: "auto" + }, + blur: "8px", + background: "rgba(255,255,255,0.1)", + borderColor: "rgba(255,255,255,0.2)", + borderWidth: "1px", + borderRadius: "30px", + padding: ".5rem", + gap: "0.5rem" + }, + action: { + hoverBackground: "rgba(255,255,255,0.1)", + color: "{surface.50}", + hoverColor: "{surface.0}", + size: "3rem", + iconSize: "1.5rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$X = { + handle: { + size: "15px", + hoverSize: "30px", + background: "rgba(255,255,255,0.3)", + hoverBackground: "rgba(255,255,255,0.3)", + borderColor: "unset", + hoverBorderColor: "unset", + borderWidth: "0", + borderRadius: "50%", + transitionDuration: "{transition.duration}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "rgba(255,255,255,0.3)", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$W = { + root: { + padding: "{form.field.padding.y} {form.field.padding.x}", + borderRadius: "{content.border.radius}", + gap: "0.5rem" + }, + text: { + fontWeight: "500" + }, + icon: { + size: "1rem" + }, + colorScheme: { + light: { + info: { + background: "color-mix(in srgb, {blue.50}, transparent 5%)", + borderColor: "{blue.200}", + color: "{blue.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)" + }, + success: { + background: "color-mix(in srgb, {green.50}, transparent 5%)", + borderColor: "{green.200}", + color: "{green.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)" + }, + warn: { + background: "color-mix(in srgb,{yellow.50}, transparent 5%)", + borderColor: "{yellow.200}", + color: "{yellow.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)" + }, + error: { + background: "color-mix(in srgb, {red.50}, transparent 5%)", + borderColor: "{red.200}", + color: "{red.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)" + }, + secondary: { + background: "{surface.100}", + borderColor: "{surface.200}", + color: "{surface.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)" + }, + contrast: { + background: "{surface.900}", + borderColor: "{surface.950}", + color: "{surface.50}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)" + } + }, + dark: { + info: { + background: "color-mix(in srgb, {blue.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {blue.700}, transparent 64%)", + color: "{blue.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)" + }, + success: { + background: "color-mix(in srgb, {green.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {green.700}, transparent 64%)", + color: "{green.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)" + }, + warn: { + background: "color-mix(in srgb, {yellow.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {yellow.700}, transparent 64%)", + color: "{yellow.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)" + }, + error: { + background: "color-mix(in srgb, {red.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {red.700}, transparent 64%)", + color: "{red.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)" + }, + secondary: { + background: "{surface.800}", + borderColor: "{surface.700}", + color: "{surface.300}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)" + }, + contrast: { + background: "{surface.0}", + borderColor: "{surface.100}", + color: "{surface.950}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)" + } + } + } +}; +var index$V = { + root: { + padding: "{form.field.padding.y} {form.field.padding.x}", + borderRadius: "{content.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + transitionDuration: "{transition.duration}" + }, + display: { + hoverBackground: "{content.hover.background}", + hoverColor: "{content.hover.color}" + } +}; +var index$U = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}" + }, + chip: { + borderRadius: "{border.radius.sm}" + }, + colorScheme: { + light: { + chip: { + focusBackground: "{surface.200}", + color: "{surface.800}" + } + }, + dark: { + chip: { + focusBackground: "{surface.700}", + color: "{surface.0}" + } + } + } +}; +var index$T = { + addon: { + background: "{form.field.background}", + borderColor: "{form.field.border.color}", + color: "{form.field.icon.color}", + borderRadius: "{form.field.border.radius}", + padding: "0.5rem", + minWidth: "2.5rem" + } +}; +var index$S = { + root: { + transitionDuration: "{transition.duration}" + }, + button: { + width: "2.5rem", + borderRadius: "{form.field.border.radius}", + verticalPadding: "{form.field.padding.y}" + }, + colorScheme: { + light: { + button: { + background: "transparent", + hoverBackground: "{surface.100}", + activeBackground: "{surface.200}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.border.color}", + activeBorderColor: "{form.field.border.color}", + color: "{surface.400}", + hoverColor: "{surface.500}", + activeColor: "{surface.600}" + } + }, + dark: { + button: { + background: "transparent", + hoverBackground: "{surface.800}", + activeBackground: "{surface.700}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.border.color}", + activeBorderColor: "{form.field.border.color}", + color: "{surface.400}", + hoverColor: "{surface.300}", + activeColor: "{surface.200}" + } + } + } +}; +var index$R = { + root: { + gap: "0.5rem" + }, + input: { + width: "2.5rem", + sm: { + width: "2rem" + }, + lg: { + width: "3rem" + } + } +}; +var index$Q = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledHoverBackground: "{form.field.filled.hover.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + invalidPlaceholderColor: "{form.field.invalid.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}", + sm: { + fontSize: "{form.field.sm.font.size}", + paddingX: "{form.field.sm.padding.x}", + paddingY: "{form.field.sm.padding.y}" + }, + lg: { + fontSize: "{form.field.lg.font.size}", + paddingX: "{form.field.lg.padding.x}", + paddingY: "{form.field.lg.padding.y}" + } + } +}; +var index$P = { + root: { + transitionDuration: "{transition.duration}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + value: { + background: "{primary.color}" + }, + range: { + background: "{content.border.color}" + }, + text: { + color: "{text.muted.color}" + } +}; +var index$O = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + borderColor: "{form.field.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + shadow: "{form.field.shadow}", + borderRadius: "{form.field.border.radius}", + transitionDuration: "{form.field.transition.duration}" + }, + list: { + padding: "{list.padding}", + gap: "{list.gap}", + header: { + padding: "{list.header.padding}" + } + }, + option: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}" + }, + optionGroup: { + background: "{list.option.group.background}", + color: "{list.option.group.color}", + fontWeight: "{list.option.group.font.weight}", + padding: "{list.option.group.padding}" + }, + checkmark: { + color: "{list.option.color}", + gutterStart: "-0.375rem", + gutterEnd: "0.375rem" + }, + emptyMessage: { + padding: "{list.option.padding}" + }, + colorScheme: { + light: { + option: { + stripedBackground: "{surface.50}" + } + }, + dark: { + option: { + stripedBackground: "{surface.900}" + } + } + } +}; +var index$N = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + color: "{content.color}", + gap: "0.5rem", + verticalOrientation: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}" + }, + horizontalOrientation: { + padding: "0.5rem 0.75rem", + gap: "0.5rem" + }, + transitionDuration: "{transition.duration}" + }, + baseItem: { + borderRadius: "{content.border.radius}", + padding: "{navigation.item.padding}" + }, + item: { + focusBackground: "{navigation.item.focus.background}", + activeBackground: "{navigation.item.active.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + activeColor: "{navigation.item.active.color}", + padding: "{navigation.item.padding}", + borderRadius: "{navigation.item.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}", + activeColor: "{navigation.item.icon.active.color}" + } + }, + overlay: { + padding: "0", + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + color: "{content.color}", + shadow: "{overlay.navigation.shadow}", + gap: "0.5rem" + }, + submenu: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}" + }, + submenuLabel: { + padding: "{navigation.submenu.label.padding}", + fontWeight: "{navigation.submenu.label.font.weight}", + background: "{navigation.submenu.label.background.}", + color: "{navigation.submenu.label.color}" + }, + submenuIcon: { + size: "{navigation.submenu.icon.size}", + color: "{navigation.submenu.icon.color}", + focusColor: "{navigation.submenu.icon.focus.color}", + activeColor: "{navigation.submenu.icon.active.color}" + }, + separator: { + borderColor: "{content.border.color}" + }, + mobileButton: { + borderRadius: "50%", + size: "1.75rem", + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}", + hoverBackground: "{content.hover.background}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$M = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}", + shadow: "{overlay.navigation.shadow}", + transitionDuration: "{transition.duration}" + }, + list: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}" + }, + item: { + focusBackground: "{navigation.item.focus.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + padding: "{navigation.item.padding}", + borderRadius: "{navigation.item.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}" + } + }, + submenuLabel: { + padding: "{navigation.submenu.label.padding}", + fontWeight: "{navigation.submenu.label.font.weight}", + background: "{navigation.submenu.label.background}", + color: "{navigation.submenu.label.color}" + }, + separator: { + borderColor: "{content.border.color}" + } +}; +var index$L = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + color: "{content.color}", + gap: "0.5rem", + padding: "0.5rem 0.75rem", + transitionDuration: "{transition.duration}" + }, + baseItem: { + borderRadius: "{content.border.radius}", + padding: "{navigation.item.padding}" + }, + item: { + focusBackground: "{navigation.item.focus.background}", + activeBackground: "{navigation.item.active.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + activeColor: "{navigation.item.active.color}", + padding: "{navigation.item.padding}", + borderRadius: "{navigation.item.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}", + activeColor: "{navigation.item.icon.active.color}" + } + }, + submenu: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}", + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + shadow: "{overlay.navigation.shadow}", + mobileIndent: "1rem", + icon: { + size: "{navigation.submenu.icon.size}", + color: "{navigation.submenu.icon.color}", + focusColor: "{navigation.submenu.icon.focus.color}", + activeColor: "{navigation.submenu.icon.active.color}" + } + }, + separator: { + borderColor: "{content.border.color}" + }, + mobileButton: { + borderRadius: "50%", + size: "1.75rem", + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}", + hoverBackground: "{content.hover.background}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$K = { + root: { + borderRadius: "{content.border.radius}", + borderWidth: "1px", + transitionDuration: "{transition.duration}" + }, + content: { + padding: "0.5rem 0.75rem", + gap: "0.5rem", + sm: { + padding: "0.375rem 0.625rem" + }, + lg: { + padding: "0.625rem 0.875rem" + } + }, + text: { + fontSize: "1rem", + fontWeight: "500", + sm: { + fontSize: "0.875rem" + }, + lg: { + fontSize: "1.125rem" + } + }, + icon: { + size: "1.125rem", + sm: { + size: "1rem" + }, + lg: { + size: "1.25rem" + } + }, + closeButton: { + width: "1.75rem", + height: "1.75rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + offset: "{focus.ring.offset}" + } + }, + closeIcon: { + size: "1rem", + sm: { + size: "0.875rem" + }, + lg: { + size: "1.125rem" + } + }, + outlined: { + root: { + borderWidth: "1px" + } + }, + simple: { + content: { + padding: "0" + } + }, + colorScheme: { + light: { + info: { + background: "color-mix(in srgb, {blue.50}, transparent 5%)", + borderColor: "{blue.200}", + color: "{blue.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", + closeButton: { + hoverBackground: "{blue.100}", + focusRing: { + color: "{blue.600}", + shadow: "none" + } + }, + outlined: { + color: "{blue.600}", + borderColor: "{blue.600}" + }, + simple: { + color: "{blue.600}" + } + }, + success: { + background: "color-mix(in srgb, {green.50}, transparent 5%)", + borderColor: "{green.200}", + color: "{green.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", + closeButton: { + hoverBackground: "{green.100}", + focusRing: { + color: "{green.600}", + shadow: "none" + } + }, + outlined: { + color: "{green.600}", + borderColor: "{green.600}" + }, + simple: { + color: "{green.600}" + } + }, + warn: { + background: "color-mix(in srgb,{yellow.50}, transparent 5%)", + borderColor: "{yellow.200}", + color: "{yellow.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", + closeButton: { + hoverBackground: "{yellow.100}", + focusRing: { + color: "{yellow.600}", + shadow: "none" + } + }, + outlined: { + color: "{yellow.600}", + borderColor: "{yellow.600}" + }, + simple: { + color: "{yellow.600}" + } + }, + error: { + background: "color-mix(in srgb, {red.50}, transparent 5%)", + borderColor: "{red.200}", + color: "{red.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", + closeButton: { + hoverBackground: "{red.100}", + focusRing: { + color: "{red.600}", + shadow: "none" + } + }, + outlined: { + color: "{red.600}", + borderColor: "{red.600}" + }, + simple: { + color: "{red.600}" + } + }, + secondary: { + background: "{surface.100}", + borderColor: "{surface.200}", + color: "{surface.600}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.200}", + focusRing: { + color: "{surface.600}", + shadow: "none" + } + }, + outlined: { + color: "{surface.500}", + borderColor: "{surface.500}" + }, + simple: { + color: "{surface.500}" + } + }, + contrast: { + background: "{surface.900}", + borderColor: "{surface.950}", + color: "{surface.50}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.800}", + focusRing: { + color: "{surface.50}", + shadow: "none" + } + }, + outlined: { + color: "{surface.950}", + borderColor: "{surface.950}" + }, + simple: { + color: "{surface.950}" + } + } + }, + dark: { + info: { + background: "color-mix(in srgb, {blue.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {blue.700}, transparent 64%)", + color: "{blue.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{blue.500}", + shadow: "none" + } + }, + outlined: { + color: "{blue.500}", + borderColor: "{blue.500}" + }, + simple: { + color: "{blue.500}" + } + }, + success: { + background: "color-mix(in srgb, {green.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {green.700}, transparent 64%)", + color: "{green.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{green.500}", + shadow: "none" + } + }, + outlined: { + color: "{green.500}", + borderColor: "{green.500}" + }, + simple: { + color: "{green.500}" + } + }, + warn: { + background: "color-mix(in srgb, {yellow.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {yellow.700}, transparent 64%)", + color: "{yellow.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{yellow.500}", + shadow: "none" + } + }, + outlined: { + color: "{yellow.500}", + borderColor: "{yellow.500}" + }, + simple: { + color: "{yellow.500}" + } + }, + error: { + background: "color-mix(in srgb, {red.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {red.700}, transparent 64%)", + color: "{red.500}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{red.500}", + shadow: "none" + } + }, + outlined: { + color: "{red.500}", + borderColor: "{red.500}" + }, + simple: { + color: "{red.500}" + } + }, + secondary: { + background: "{surface.800}", + borderColor: "{surface.700}", + color: "{surface.300}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.700}", + focusRing: { + color: "{surface.300}", + shadow: "none" + } + }, + outlined: { + color: "{surface.400}", + borderColor: "{surface.400}" + }, + simple: { + color: "{surface.400}" + } + }, + contrast: { + background: "{surface.0}", + borderColor: "{surface.100}", + color: "{surface.950}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.100}", + focusRing: { + color: "{surface.950}", + shadow: "none" + } + }, + outlined: { + color: "{surface.0}", + borderColor: "{surface.0}" + }, + simple: { + color: "{surface.0}" + } + } + } + } +}; +var index$J = { + root: { + borderRadius: "{content.border.radius}", + gap: "1rem" + }, + meters: { + background: "{content.border.color}", + size: "0.5rem" + }, + label: { + gap: "0.5rem" + }, + labelMarker: { + size: "0.5rem" + }, + labelIcon: { + size: "1rem" + }, + labelList: { + verticalGap: "0.5rem", + horizontalGap: "1rem" + } +}; +var index$I = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledHoverBackground: "{form.field.filled.hover.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + invalidPlaceholderColor: "{form.field.invalid.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}", + sm: { + fontSize: "{form.field.sm.font.size}", + paddingX: "{form.field.sm.padding.x}", + paddingY: "{form.field.sm.padding.y}" + }, + lg: { + fontSize: "{form.field.lg.font.size}", + paddingX: "{form.field.lg.padding.x}", + paddingY: "{form.field.lg.padding.y}" + } + }, + dropdown: { + width: "2.5rem", + color: "{form.field.icon.color}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + list: { + padding: "{list.padding}", + gap: "{list.gap}", + header: { + padding: "{list.header.padding}" + } + }, + option: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}", + gap: "0.5rem" + }, + optionGroup: { + background: "{list.option.group.background}", + color: "{list.option.group.color}", + fontWeight: "{list.option.group.font.weight}", + padding: "{list.option.group.padding}" + }, + clearIcon: { + color: "{form.field.icon.color}" + }, + chip: { + borderRadius: "{border.radius.sm}" + }, + emptyMessage: { + padding: "{list.option.padding}" + } +}; +var index$H = { + root: { + gap: "1.125rem" + }, + controls: { + gap: "0.5rem" + } +}; +var index$G = { + root: { + gutter: "0.75rem", + transitionDuration: "{transition.duration}" + }, + node: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + selectedColor: "{highlight.color}", + hoverColor: "{content.hover.color}", + padding: "0.75rem 1rem", + toggleablePadding: "0.75rem 1rem 1.25rem 1rem", + borderRadius: "{content.border.radius}" + }, + nodeToggleButton: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + borderColor: "{content.border.color}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + size: "1.5rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + connector: { + color: "{content.border.color}", + borderRadius: "{content.border.radius}", + height: "24px" + } +}; +var index$F = { + root: { + outline: { + width: "2px", + color: "{content.background}" + } + } +}; +var index$E = { + root: { + padding: "0.5rem 1rem", + gap: "0.25rem", + borderRadius: "{content.border.radius}", + background: "{content.background}", + color: "{content.color}", + transitionDuration: "{transition.duration}" + }, + navButton: { + background: "transparent", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}", + selectedColor: "{highlight.color}", + width: "2.5rem", + height: "2.5rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + currentPageReport: { + color: "{text.muted.color}" + }, + jumpToPageInput: { + maxWidth: "2.5rem" + } +}; +var index$D = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}" + }, + header: { + background: "transparent", + color: "{text.color}", + padding: "1.125rem", + borderColor: "{content.border.color}", + borderWidth: "0", + borderRadius: "0" + }, + toggleableHeader: { + padding: "0.375rem 1.125rem" + }, + title: { + fontWeight: "600" + }, + content: { + padding: "0 1.125rem 1.125rem 1.125rem" + }, + footer: { + padding: "0 1.125rem 1.125rem 1.125rem" + } +}; +var index$C = { + root: { + gap: "0.5rem", + transitionDuration: "{transition.duration}" + }, + panel: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderWidth: "1px", + color: "{content.color}", + padding: "0.25rem 0.25rem", + borderRadius: "{content.border.radius}", + first: { + borderWidth: "1px", + topBorderRadius: "{content.border.radius}" + }, + last: { + borderWidth: "1px", + bottomBorderRadius: "{content.border.radius}" + } + }, + item: { + focusBackground: "{navigation.item.focus.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + gap: "0.5rem", + padding: "{navigation.item.padding}", + borderRadius: "{content.border.radius}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}" + } + }, + submenu: { + indent: "1rem" + }, + submenuIcon: { + color: "{navigation.submenu.icon.color}", + focusColor: "{navigation.submenu.icon.focus.color}" + } +}; +var index$B = { + meter: { + background: "{content.border.color}", + borderRadius: "{content.border.radius}", + height: ".75rem" + }, + icon: { + color: "{form.field.icon.color}" + }, + overlay: { + background: "{overlay.popover.background}", + borderColor: "{overlay.popover.border.color}", + borderRadius: "{overlay.popover.border.radius}", + color: "{overlay.popover.color}", + padding: "{overlay.popover.padding}", + shadow: "{overlay.popover.shadow}" + }, + content: { + gap: "0.5rem" + }, + colorScheme: { + light: { + strength: { + weakBackground: "{red.500}", + mediumBackground: "{amber.500}", + strongBackground: "{green.500}" + } + }, + dark: { + strength: { + weakBackground: "{red.400}", + mediumBackground: "{amber.400}", + strongBackground: "{green.400}" + } + } + } +}; +var index$A = { + root: { + gap: "1.125rem" + }, + controls: { + gap: "0.5rem" + } +}; +var index$z = { + root: { + background: "{overlay.popover.background}", + borderColor: "{overlay.popover.border.color}", + color: "{overlay.popover.color}", + borderRadius: "{overlay.popover.border.radius}", + shadow: "{overlay.popover.shadow}", + gutter: "10px", + arrowOffset: "1.25rem" + }, + content: { + padding: "{overlay.popover.padding}" + } +}; +var index$y = { + root: { + background: "{content.border.color}", + borderRadius: "{content.border.radius}", + height: "1.25rem" + }, + value: { + background: "{primary.color}" + }, + label: { + color: "{primary.contrast.color}", + fontSize: "0.75rem", + fontWeight: "600" + } +}; +var index$x = { + colorScheme: { + light: { + root: { + "color.1": "{red.500}", + "color.2": "{blue.500}", + "color.3": "{green.500}", + "color.4": "{yellow.500}" + } + }, + dark: { + root: { + "color.1": "{red.400}", + "color.2": "{blue.400}", + "color.3": "{green.400}", + "color.4": "{yellow.400}" + } + } + } +}; +var index$w = { + root: { + width: "1.25rem", + height: "1.25rem", + background: "{form.field.background}", + checkedBackground: "{primary.color}", + checkedHoverBackground: "{primary.hover.color}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.border.color}", + checkedBorderColor: "{primary.color}", + checkedHoverBorderColor: "{primary.hover.color}", + checkedFocusBorderColor: "{primary.color}", + checkedDisabledBorderColor: "{form.field.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + shadow: "{form.field.shadow}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}", + sm: { + width: "1rem", + height: "1rem" + }, + lg: { + width: "1.5rem", + height: "1.5rem" + } + }, + icon: { + size: "0.75rem", + checkedColor: "{primary.contrast.color}", + checkedHoverColor: "{primary.contrast.color}", + disabledColor: "{form.field.disabled.color}", + sm: { + size: "0.5rem" + }, + lg: { + size: "1rem" + } + } +}; +var index$v = { + root: { + gap: "0.25rem", + transitionDuration: "{transition.duration}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + icon: { + size: "1rem", + color: "{text.muted.color}", + hoverColor: "{primary.color}", + activeColor: "{primary.color}" + } +}; +var index$u = { + colorScheme: { + light: { + root: { + background: "rgba(0,0,0,0.1)" + } + }, + dark: { + root: { + background: "rgba(255,255,255,0.3)" + } + } + } +}; +var index$t = { + root: { + transitionDuration: "{transition.duration}" + }, + bar: { + size: "9px", + borderRadius: "{border.radius.sm}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + colorScheme: { + light: { + bar: { + background: "{surface.100}" + } + }, + dark: { + bar: { + background: "{surface.800}" + } + } + } +}; +var index$s = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledHoverBackground: "{form.field.filled.hover.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + invalidPlaceholderColor: "{form.field.invalid.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}", + sm: { + fontSize: "{form.field.sm.font.size}", + paddingX: "{form.field.sm.padding.x}", + paddingY: "{form.field.sm.padding.y}" + }, + lg: { + fontSize: "{form.field.lg.font.size}", + paddingX: "{form.field.lg.padding.x}", + paddingY: "{form.field.lg.padding.y}" + } + }, + dropdown: { + width: "2.5rem", + color: "{form.field.icon.color}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + list: { + padding: "{list.padding}", + gap: "{list.gap}", + header: { + padding: "{list.header.padding}" + } + }, + option: { + focusBackground: "{list.option.focus.background}", + selectedBackground: "{list.option.selected.background}", + selectedFocusBackground: "{list.option.selected.focus.background}", + color: "{list.option.color}", + focusColor: "{list.option.focus.color}", + selectedColor: "{list.option.selected.color}", + selectedFocusColor: "{list.option.selected.focus.color}", + padding: "{list.option.padding}", + borderRadius: "{list.option.border.radius}" + }, + optionGroup: { + background: "{list.option.group.background}", + color: "{list.option.group.color}", + fontWeight: "{list.option.group.font.weight}", + padding: "{list.option.group.padding}" + }, + clearIcon: { + color: "{form.field.icon.color}" + }, + checkmark: { + color: "{list.option.color}", + gutterStart: "-0.375rem", + gutterEnd: "0.375rem" + }, + emptyMessage: { + padding: "{list.option.padding}" + } +}; +var index$r = { + root: { + borderRadius: "{form.field.border.radius}" + }, + colorScheme: { + light: { + root: { + invalidBorderColor: "{form.field.invalid.border.color}" + } + }, + dark: { + root: { + invalidBorderColor: "{form.field.invalid.border.color}" + } + } + } +}; +var index$q = { + root: { + borderRadius: "{content.border.radius}" + }, + colorScheme: { + light: { + root: { + background: "{surface.200}", + animationBackground: "rgba(255,255,255,0.4)" + } + }, + dark: { + root: { + background: "rgba(255, 255, 255, 0.06)", + animationBackground: "rgba(255, 255, 255, 0.04)" + } + } + } +}; +var index$p = { + root: { + transitionDuration: "{transition.duration}" + }, + track: { + background: "{content.border.color}", + borderRadius: "{content.border.radius}", + size: "3px" + }, + range: { + background: "{primary.color}" + }, + handle: { + width: "20px", + height: "20px", + borderRadius: "50%", + background: "{content.border.color}", + hoverBackground: "{content.border.color}", + content: { + borderRadius: "50%", + hoverBackground: "{content.background}", + width: "16px", + height: "16px", + shadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.08), 0px 1px 1px 0px rgba(0, 0, 0, 0.14)" + }, + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + colorScheme: { + light: { + handle: { + contentBackground: "{surface.0}" + } + }, + dark: { + handle: { + contentBackground: "{surface.950}" + } + } + } +}; +var index$o = { + root: { + gap: "0.5rem", + transitionDuration: "{transition.duration}" + } +}; +var index$n = { + root: { + borderRadius: "{form.field.border.radius}", + roundedBorderRadius: "2rem", + raisedShadow: "0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)" + } +}; +var index$m = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + transitionDuration: "{transition.duration}" + }, + gutter: { + background: "{content.border.color}" + }, + handle: { + size: "24px", + background: "transparent", + borderRadius: "{content.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + } +}; +var index$l = { + root: { + transitionDuration: "{transition.duration}" + }, + separator: { + background: "{content.border.color}", + activeBackground: "{primary.color}", + margin: "0 0 0 1.625rem", + size: "2px" + }, + step: { + padding: "0.5rem", + gap: "1rem" + }, + stepHeader: { + padding: "0", + borderRadius: "{content.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + gap: "0.5rem" + }, + stepTitle: { + color: "{text.muted.color}", + activeColor: "{primary.color}", + fontWeight: "500" + }, + stepNumber: { + background: "{content.background}", + activeBackground: "{content.background}", + borderColor: "{content.border.color}", + activeBorderColor: "{content.border.color}", + color: "{text.muted.color}", + activeColor: "{primary.color}", + size: "2rem", + fontSize: "1.143rem", + fontWeight: "500", + borderRadius: "50%", + shadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)" + }, + steppanels: { + padding: "0.875rem 0.5rem 1.125rem 0.5rem" + }, + steppanel: { + background: "{content.background}", + color: "{content.color}", + padding: "0", + indent: "1rem" + } +}; +var index$k = { + root: { + transitionDuration: "{transition.duration}" + }, + separator: { + background: "{content.border.color}" + }, + itemLink: { + borderRadius: "{content.border.radius}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + gap: "0.5rem" + }, + itemLabel: { + color: "{text.muted.color}", + activeColor: "{primary.color}", + fontWeight: "500" + }, + itemNumber: { + background: "{content.background}", + activeBackground: "{content.background}", + borderColor: "{content.border.color}", + activeBorderColor: "{content.border.color}", + color: "{text.muted.color}", + activeColor: "{primary.color}", + size: "2rem", + fontSize: "1.143rem", + fontWeight: "500", + borderRadius: "50%", + shadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)" + } +}; +var index$j = { + root: { + transitionDuration: "{transition.duration}" + }, + tablist: { + borderWidth: "0 0 1px 0", + background: "{content.background}", + borderColor: "{content.border.color}" + }, + item: { + background: "transparent", + hoverBackground: "transparent", + activeBackground: "transparent", + borderWidth: "0 0 1px 0", + borderColor: "{content.border.color}", + hoverBorderColor: "{content.border.color}", + activeBorderColor: "{primary.color}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{primary.color}", + padding: "1rem 1.125rem", + fontWeight: "600", + margin: "0 0 -1px 0", + gap: "0.5rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + itemIcon: { + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{primary.color}" + }, + activeBar: { + height: "1px", + bottom: "-1px", + background: "{primary.color}" + } +}; +var index$i = { + root: { + transitionDuration: "{transition.duration}" + }, + tablist: { + borderWidth: "0 0 1px 0", + background: "{content.background}", + borderColor: "{content.border.color}" + }, + tab: { + background: "transparent", + hoverBackground: "transparent", + activeBackground: "transparent", + borderWidth: "0 0 1px 0", + borderColor: "{content.border.color}", + hoverBorderColor: "{content.border.color}", + activeBorderColor: "{primary.color}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{primary.color}", + padding: "1rem 1.125rem", + fontWeight: "600", + margin: "0 0 -1px 0", + gap: "0.5rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + tabpanel: { + background: "{content.background}", + color: "{content.color}", + padding: "0.875rem 1.125rem 1.125rem 1.125rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "inset {focus.ring.shadow}" + } + }, + navButton: { + background: "{content.background}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + width: "2.5rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + activeBar: { + height: "1px", + bottom: "-1px", + background: "{primary.color}" + }, + colorScheme: { + light: { + navButton: { + shadow: "0px 0px 10px 50px rgba(255, 255, 255, 0.6)" + } + }, + dark: { + navButton: { + shadow: "0px 0px 10px 50px color-mix(in srgb, {content.background}, transparent 50%)" + } + } + } +}; +var index$h = { + root: { + transitionDuration: "{transition.duration}" + }, + tabList: { + background: "{content.background}", + borderColor: "{content.border.color}" + }, + tab: { + borderColor: "{content.border.color}", + activeBorderColor: "{primary.color}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + activeColor: "{primary.color}" + }, + tabPanel: { + background: "{content.background}", + color: "{content.color}" + }, + navButton: { + background: "{content.background}", + color: "{text.muted.color}", + hoverColor: "{text.color}" + }, + colorScheme: { + light: { + navButton: { + shadow: "0px 0px 10px 50px rgba(255, 255, 255, 0.6)" + } + }, + dark: { + navButton: { + shadow: "0px 0px 10px 50px color-mix(in srgb, {content.background}, transparent 50%)" + } + } + } +}; +var index$g = { + root: { + fontSize: "0.875rem", + fontWeight: "700", + padding: "0.25rem 0.5rem", + gap: "0.25rem", + borderRadius: "{content.border.radius}", + roundedBorderRadius: "{border.radius.xl}" + }, + icon: { + size: "0.75rem" + }, + colorScheme: { + light: { + primary: { + background: "{primary.100}", + color: "{primary.700}" + }, + secondary: { + background: "{surface.100}", + color: "{surface.600}" + }, + success: { + background: "{green.100}", + color: "{green.700}" + }, + info: { + background: "{sky.100}", + color: "{sky.700}" + }, + warn: { + background: "{orange.100}", + color: "{orange.700}" + }, + danger: { + background: "{red.100}", + color: "{red.700}" + }, + contrast: { + background: "{surface.950}", + color: "{surface.0}" + } + }, + dark: { + primary: { + background: "color-mix(in srgb, {primary.500}, transparent 84%)", + color: "{primary.300}" + }, + secondary: { + background: "{surface.800}", + color: "{surface.300}" + }, + success: { + background: "color-mix(in srgb, {green.500}, transparent 84%)", + color: "{green.300}" + }, + info: { + background: "color-mix(in srgb, {sky.500}, transparent 84%)", + color: "{sky.300}" + }, + warn: { + background: "color-mix(in srgb, {orange.500}, transparent 84%)", + color: "{orange.300}" + }, + danger: { + background: "color-mix(in srgb, {red.500}, transparent 84%)", + color: "{red.300}" + }, + contrast: { + background: "{surface.0}", + color: "{surface.950}" + } + } + } +}; +var index$f = { + root: { + background: "{form.field.background}", + borderColor: "{form.field.border.color}", + color: "{form.field.color}", + height: "18rem", + padding: "{form.field.padding.y} {form.field.padding.x}", + borderRadius: "{form.field.border.radius}" + }, + prompt: { + gap: "0.25rem" + }, + commandResponse: { + margin: "2px 0" + } +}; +var index$e = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + invalidPlaceholderColor: "{form.field.invalid.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}", + sm: { + fontSize: "{form.field.sm.font.size}", + paddingX: "{form.field.sm.padding.x}", + paddingY: "{form.field.sm.padding.y}" + }, + lg: { + fontSize: "{form.field.lg.font.size}", + paddingX: "{form.field.lg.padding.x}", + paddingY: "{form.field.lg.padding.y}" + } + } +}; +var index$d = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + color: "{content.color}", + borderRadius: "{content.border.radius}", + shadow: "{overlay.navigation.shadow}", + transitionDuration: "{transition.duration}" + }, + list: { + padding: "{navigation.list.padding}", + gap: "{navigation.list.gap}" + }, + item: { + focusBackground: "{navigation.item.focus.background}", + activeBackground: "{navigation.item.active.background}", + color: "{navigation.item.color}", + focusColor: "{navigation.item.focus.color}", + activeColor: "{navigation.item.active.color}", + padding: "{navigation.item.padding}", + borderRadius: "{navigation.item.border.radius}", + gap: "{navigation.item.gap}", + icon: { + color: "{navigation.item.icon.color}", + focusColor: "{navigation.item.icon.focus.color}", + activeColor: "{navigation.item.icon.active.color}" + } + }, + submenu: { + mobileIndent: "1rem" + }, + submenuIcon: { + size: "{navigation.submenu.icon.size}", + color: "{navigation.submenu.icon.color}", + focusColor: "{navigation.submenu.icon.focus.color}", + activeColor: "{navigation.submenu.icon.active.color}" + }, + separator: { + borderColor: "{content.border.color}" + } +}; +var index$c = { + event: { + minHeight: "5rem" + }, + horizontal: { + eventContent: { + padding: "1rem 0" + } + }, + vertical: { + eventContent: { + padding: "0 1rem" + } + }, + eventMarker: { + size: "1.125rem", + borderRadius: "50%", + borderWidth: "2px", + background: "{content.background}", + borderColor: "{content.border.color}", + content: { + borderRadius: "50%", + size: "0.375rem", + background: "{primary.color}", + insetShadow: "0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)" + } + }, + eventConnector: { + color: "{content.border.color}", + size: "2px" + } +}; +var index$b = { + root: { + width: "25rem", + borderRadius: "{content.border.radius}", + borderWidth: "1px", + transitionDuration: "{transition.duration}" + }, + icon: { + size: "1.125rem" + }, + content: { + padding: "{overlay.popover.padding}", + gap: "0.5rem" + }, + text: { + gap: "0.5rem" + }, + summary: { + fontWeight: "500", + fontSize: "1rem" + }, + detail: { + fontWeight: "500", + fontSize: "0.875rem" + }, + closeButton: { + width: "1.75rem", + height: "1.75rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + offset: "{focus.ring.offset}" + } + }, + closeIcon: { + size: "1rem" + }, + colorScheme: { + light: { + blur: "1.5px", + info: { + background: "color-mix(in srgb, {blue.50}, transparent 5%)", + borderColor: "{blue.200}", + color: "{blue.600}", + detailColor: "{surface.700}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", + closeButton: { + hoverBackground: "{blue.100}", + focusRing: { + color: "{blue.600}", + shadow: "none" + } + } + }, + success: { + background: "color-mix(in srgb, {green.50}, transparent 5%)", + borderColor: "{green.200}", + color: "{green.600}", + detailColor: "{surface.700}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", + closeButton: { + hoverBackground: "{green.100}", + focusRing: { + color: "{green.600}", + shadow: "none" + } + } + }, + warn: { + background: "color-mix(in srgb,{yellow.50}, transparent 5%)", + borderColor: "{yellow.200}", + color: "{yellow.600}", + detailColor: "{surface.700}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", + closeButton: { + hoverBackground: "{yellow.100}", + focusRing: { + color: "{yellow.600}", + shadow: "none" + } + } + }, + error: { + background: "color-mix(in srgb, {red.50}, transparent 5%)", + borderColor: "{red.200}", + color: "{red.600}", + detailColor: "{surface.700}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", + closeButton: { + hoverBackground: "{red.100}", + focusRing: { + color: "{red.600}", + shadow: "none" + } + } + }, + secondary: { + background: "{surface.100}", + borderColor: "{surface.200}", + color: "{surface.600}", + detailColor: "{surface.700}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.200}", + focusRing: { + color: "{surface.600}", + shadow: "none" + } + } + }, + contrast: { + background: "{surface.900}", + borderColor: "{surface.950}", + color: "{surface.50}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.800}", + focusRing: { + color: "{surface.50}", + shadow: "none" + } + } + } + }, + dark: { + blur: "10px", + info: { + background: "color-mix(in srgb, {blue.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {blue.700}, transparent 64%)", + color: "{blue.500}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{blue.500}", + shadow: "none" + } + } + }, + success: { + background: "color-mix(in srgb, {green.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {green.700}, transparent 64%)", + color: "{green.500}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{green.500}", + shadow: "none" + } + } + }, + warn: { + background: "color-mix(in srgb, {yellow.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {yellow.700}, transparent 64%)", + color: "{yellow.500}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{yellow.500}", + shadow: "none" + } + } + }, + error: { + background: "color-mix(in srgb, {red.500}, transparent 84%)", + borderColor: "color-mix(in srgb, {red.700}, transparent 64%)", + color: "{red.500}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)", + closeButton: { + hoverBackground: "rgba(255, 255, 255, 0.05)", + focusRing: { + color: "{red.500}", + shadow: "none" + } + } + }, + secondary: { + background: "{surface.800}", + borderColor: "{surface.700}", + color: "{surface.300}", + detailColor: "{surface.0}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.700}", + focusRing: { + color: "{surface.300}", + shadow: "none" + } + } + }, + contrast: { + background: "{surface.0}", + borderColor: "{surface.100}", + color: "{surface.950}", + detailColor: "{surface.950}", + shadow: "0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)", + closeButton: { + hoverBackground: "{surface.100}", + focusRing: { + color: "{surface.950}", + shadow: "none" + } + } + } + } + } +}; +var index$a = { + root: { + padding: "0.5rem 1rem", + borderRadius: "{content.border.radius}", + gap: "0.5rem", + fontWeight: "500", + disabledBackground: "{form.field.disabled.background}", + disabledBorderColor: "{form.field.disabled.background}", + disabledColor: "{form.field.disabled.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}", + sm: { + fontSize: "{form.field.sm.font.size}", + padding: "0.375rem 0.75rem" + }, + lg: { + fontSize: "{form.field.lg.font.size}", + padding: "0.625rem 1.25rem" + } + }, + icon: { + disabledColor: "{form.field.disabled.color}" + }, + content: { + left: "0.25rem", + top: "0.25rem", + checkedShadow: "0px 1px 2px 0px rgba(0, 0, 0, 0.02), 0px 1px 2px 0px rgba(0, 0, 0, 0.04)" + }, + colorScheme: { + light: { + root: { + background: "{surface.100}", + checkedBackground: "{surface.100}", + hoverBackground: "{surface.100}", + borderColor: "{surface.100}", + color: "{surface.500}", + hoverColor: "{surface.700}", + checkedColor: "{surface.900}", + checkedBorderColor: "{surface.100}" + }, + content: { + checkedBackground: "{surface.0}" + }, + icon: { + color: "{surface.500}", + hoverColor: "{surface.700}", + checkedColor: "{surface.900}" + } + }, + dark: { + root: { + background: "{surface.950}", + checkedBackground: "{surface.950}", + hoverBackground: "{surface.950}", + borderColor: "{surface.950}", + color: "{surface.400}", + hoverColor: "{surface.300}", + checkedColor: "{surface.0}", + checkedBorderColor: "{surface.950}" + }, + content: { + checkedBackground: "{surface.800}" + }, + icon: { + color: "{surface.400}", + hoverColor: "{surface.300}", + checkedColor: "{surface.0}" + } + } + } +}; +var index$9 = { + root: { + width: "2.5rem", + height: "1.5rem", + borderRadius: "30px", + gap: "0.25rem", + shadow: "{form.field.shadow}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + }, + borderWidth: "1px", + borderColor: "transparent", + hoverBorderColor: "transparent", + checkedBorderColor: "transparent", + checkedHoverBorderColor: "transparent", + invalidBorderColor: "{form.field.invalid.border.color}", + transitionDuration: "{form.field.transition.duration}", + slideDuration: "0.2s" + }, + handle: { + borderRadius: "50%", + size: "1rem" + }, + colorScheme: { + light: { + root: { + background: "{surface.300}", + disabledBackground: "{form.field.disabled.background}", + hoverBackground: "{surface.400}", + checkedBackground: "{primary.color}", + checkedHoverBackground: "{primary.hover.color}" + }, + handle: { + background: "{surface.0}", + disabledBackground: "{form.field.disabled.color}", + hoverBackground: "{surface.0}", + checkedBackground: "{surface.0}", + checkedHoverBackground: "{surface.0}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + checkedColor: "{primary.color}", + checkedHoverColor: "{primary.hover.color}" + } + }, + dark: { + root: { + background: "{surface.700}", + disabledBackground: "{surface.600}", + hoverBackground: "{surface.600}", + checkedBackground: "{primary.color}", + checkedHoverBackground: "{primary.hover.color}" + }, + handle: { + background: "{surface.400}", + disabledBackground: "{surface.900}", + hoverBackground: "{surface.300}", + checkedBackground: "{surface.900}", + checkedHoverBackground: "{surface.900}", + color: "{surface.900}", + hoverColor: "{surface.800}", + checkedColor: "{primary.color}", + checkedHoverColor: "{primary.hover.color}" + } + } + } +}; +var index$8 = { + root: { + background: "{content.background}", + borderColor: "{content.border.color}", + borderRadius: "{content.border.radius}", + color: "{content.color}", + gap: "0.5rem", + padding: "0.75rem" + } +}; +var index$7 = { + root: { + maxWidth: "12.5rem", + gutter: "0.25rem", + shadow: "{overlay.popover.shadow}", + padding: "0.5rem 0.75rem", + borderRadius: "{overlay.popover.border.radius}" + }, + colorScheme: { + light: { + root: { + background: "{surface.700}", + color: "{surface.0}" + } + }, + dark: { + root: { + background: "{surface.700}", + color: "{surface.0}" + } + } + } +}; +var index$6 = { + root: { + background: "{content.background}", + color: "{content.color}", + padding: "1rem", + gap: "2px", + indent: "1rem", + transitionDuration: "{transition.duration}" + }, + node: { + padding: "0.25rem 0.5rem", + borderRadius: "{content.border.radius}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + color: "{text.color}", + hoverColor: "{text.hover.color}", + selectedColor: "{highlight.color}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + }, + gap: "0.25rem" + }, + nodeIcon: { + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}", + selectedColor: "{highlight.color}" + }, + nodeToggleButton: { + borderRadius: "50%", + size: "1.75rem", + hoverBackground: "{content.hover.background}", + selectedHoverBackground: "{content.background}", + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}", + selectedHoverColor: "{primary.color}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + loadingIcon: { + size: "2rem" + }, + filter: { + margin: "0 0 0.5rem 0" + } +}; +var index$5 = { + root: { + background: "{form.field.background}", + disabledBackground: "{form.field.disabled.background}", + filledBackground: "{form.field.filled.background}", + filledHoverBackground: "{form.field.filled.hover.background}", + filledFocusBackground: "{form.field.filled.focus.background}", + borderColor: "{form.field.border.color}", + hoverBorderColor: "{form.field.hover.border.color}", + focusBorderColor: "{form.field.focus.border.color}", + invalidBorderColor: "{form.field.invalid.border.color}", + color: "{form.field.color}", + disabledColor: "{form.field.disabled.color}", + placeholderColor: "{form.field.placeholder.color}", + invalidPlaceholderColor: "{form.field.invalid.placeholder.color}", + shadow: "{form.field.shadow}", + paddingX: "{form.field.padding.x}", + paddingY: "{form.field.padding.y}", + borderRadius: "{form.field.border.radius}", + focusRing: { + width: "{form.field.focus.ring.width}", + style: "{form.field.focus.ring.style}", + color: "{form.field.focus.ring.color}", + offset: "{form.field.focus.ring.offset}", + shadow: "{form.field.focus.ring.shadow}" + }, + transitionDuration: "{form.field.transition.duration}", + sm: { + fontSize: "{form.field.sm.font.size}", + paddingX: "{form.field.sm.padding.x}", + paddingY: "{form.field.sm.padding.y}" + }, + lg: { + fontSize: "{form.field.lg.font.size}", + paddingX: "{form.field.lg.padding.x}", + paddingY: "{form.field.lg.padding.y}" + } + }, + dropdown: { + width: "2.5rem", + color: "{form.field.icon.color}" + }, + overlay: { + background: "{overlay.select.background}", + borderColor: "{overlay.select.border.color}", + borderRadius: "{overlay.select.border.radius}", + color: "{overlay.select.color}", + shadow: "{overlay.select.shadow}" + }, + tree: { + padding: "{list.padding}" + }, + clearIcon: { + color: "{form.field.icon.color}" + }, + emptyMessage: { + padding: "{list.option.padding}" + }, + chip: { + borderRadius: "{border.radius.sm}" + } +}; +var index$4 = { + root: { + transitionDuration: "{transition.duration}" + }, + header: { + background: "{content.background}", + borderColor: "{treetable.border.color}", + color: "{content.color}", + borderWidth: "0 0 1px 0", + padding: "0.75rem 1rem" + }, + headerCell: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + borderColor: "{treetable.border.color}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + selectedColor: "{highlight.color}", + gap: "0.5rem", + padding: "0.75rem 1rem", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + columnTitle: { + fontWeight: "600" + }, + row: { + background: "{content.background}", + hoverBackground: "{content.hover.background}", + selectedBackground: "{highlight.background}", + color: "{content.color}", + hoverColor: "{content.hover.color}", + selectedColor: "{highlight.color}", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "-1px", + shadow: "{focus.ring.shadow}" + } + }, + bodyCell: { + borderColor: "{treetable.border.color}", + padding: "0.75rem 1rem", + gap: "0.5rem" + }, + footerCell: { + background: "{content.background}", + borderColor: "{treetable.border.color}", + color: "{content.color}", + padding: "0.75rem 1rem" + }, + columnFooter: { + fontWeight: "600" + }, + footer: { + background: "{content.background}", + borderColor: "{treetable.border.color}", + color: "{content.color}", + borderWidth: "0 0 1px 0", + padding: "0.75rem 1rem" + }, + columnResizerWidth: "0.5rem", + resizeIndicator: { + width: "1px", + color: "{primary.color}" + }, + sortIcon: { + color: "{text.muted.color}", + hoverColor: "{text.hover.muted.color}", + size: "0.875rem" + }, + loadingIcon: { + size: "2rem" + }, + nodeToggleButton: { + hoverBackground: "{content.hover.background}", + selectedHoverBackground: "{content.background}", + color: "{text.muted.color}", + hoverColor: "{text.color}", + selectedHoverColor: "{primary.color}", + size: "1.75rem", + borderRadius: "50%", + focusRing: { + width: "{focus.ring.width}", + style: "{focus.ring.style}", + color: "{focus.ring.color}", + offset: "{focus.ring.offset}", + shadow: "{focus.ring.shadow}" + } + }, + paginatorTop: { + borderColor: "{content.border.color}", + borderWidth: "0 0 1px 0" + }, + paginatorBottom: { + borderColor: "{content.border.color}", + borderWidth: "0 0 1px 0" + }, + colorScheme: { + light: { + root: { + borderColor: "{content.border.color}" + }, + bodyCell: { + selectedBorderColor: "{primary.100}" + } + }, + dark: { + root: { + borderColor: "{surface.800}" + }, + bodyCell: { + selectedBorderColor: "{primary.900}" + } + } + } +}; +var index$3 = { + loader: { + mask: { + background: "{content.background}", + color: "{text.muted.color}" + }, + icon: { + size: "2rem" + } + } +}; +function _typeof$t(o2) { + "@babel/helpers - typeof"; + return _typeof$t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { + return typeof o3; + } : function(o3) { + return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3; + }, _typeof$t(o2); +} +__name(_typeof$t, "_typeof$t"); +function ownKeys$r(e2, r2) { + var t2 = Object.keys(e2); + if (Object.getOwnPropertySymbols) { + var o2 = Object.getOwnPropertySymbols(e2); + r2 && (o2 = o2.filter(function(r3) { + return Object.getOwnPropertyDescriptor(e2, r3).enumerable; + })), t2.push.apply(t2, o2); + } + return t2; +} +__name(ownKeys$r, "ownKeys$r"); +function _objectSpread$r(e2) { + for (var r2 = 1; r2 < arguments.length; r2++) { + var t2 = null != arguments[r2] ? arguments[r2] : {}; + r2 % 2 ? ownKeys$r(Object(t2), true).forEach(function(r3) { + _defineProperty$v(e2, r3, t2[r3]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$r(Object(t2)).forEach(function(r3) { + Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3)); + }); + } + return e2; +} +__name(_objectSpread$r, "_objectSpread$r"); +function _defineProperty$v(e2, r2, t2) { + return (r2 = _toPropertyKey$s(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; +} +__name(_defineProperty$v, "_defineProperty$v"); +function _toPropertyKey$s(t2) { + var i2 = _toPrimitive$s(t2, "string"); + return "symbol" == _typeof$t(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$s, "_toPropertyKey$s"); +function _toPrimitive$s(t2, r2) { + if ("object" != _typeof$t(t2) || !t2) return t2; + var e2 = t2[Symbol.toPrimitive]; + if (void 0 !== e2) { + var i2 = e2.call(t2, r2 || "default"); + if ("object" != _typeof$t(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r2 ? String : Number)(t2); +} +__name(_toPrimitive$s, "_toPrimitive$s"); +var index$2 = _objectSpread$r(_objectSpread$r({}, index$1n), {}, { components: { - accordion: index$1n, - autocomplete: index$1m, - avatar: index$1l, - badge: index$1k, - blockui: index$1j, - breadcrumb: index$1i, - button: index$1h, - datepicker: index$15, - card: index$1g, - carousel: index$1f, - cascadeselect: index$1e, - checkbox: index$1d, - chip: index$1c, - colorpicker: index$1b, - confirmdialog: index$1a, - confirmpopup: index$19, - contextmenu: index$18, - dataview: index$16, - datatable: index$17, - dialog: index$14, - divider: index$13, - dock: index$12, - drawer: index$11, - editor: index$10, - fieldset: index$$, - fileupload: index$_, - floatlabel: index$Z, - galleria: index$Y, - iconfield: index$X, - image: index$W, - inlinemessage: index$V, - inplace: index$U, - inputchips: index$T, - inputgroup: index$S, - inputnumber: index$R, + accordion: index$1r, + autocomplete: index$1q, + avatar: index$1p, + badge: index$1o, + blockui: index$1m, + breadcrumb: index$1l, + button: index$1k, + datepicker: index$18, + card: index$1j, + carousel: index$1i, + cascadeselect: index$1h, + checkbox: index$1g, + chip: index$1f, + colorpicker: index$1e, + confirmdialog: index$1d, + confirmpopup: index$1c, + contextmenu: index$1b, + dataview: index$19, + datatable: index$1a, + dialog: index$17, + divider: index$16, + dock: index$15, + drawer: index$14, + editor: index$13, + fieldset: index$12, + fileupload: index$11, + iftalabel: index$Z, + floatlabel: index$10, + galleria: index$$, + iconfield: index$_, + image: index$Y, + imagecompare: index$X, + inlinemessage: index$W, + inplace: index$V, + inputchips: index$U, + inputgroup: index$T, + inputnumber: index$S, + inputotp: index$R, inputtext: index$Q, knob: index$P, listbox: index$O, @@ -5972,7 +6540,7 @@ var index$2 = { tooltip: index$7, ripple: index$u } -}; +}); const DEBUG_BUILD$6 = typeof __SENTRY_DEBUG__ === "undefined" || __SENTRY_DEBUG__; const SDK_VERSION = "8.48.0"; const GLOBAL_OBJ = globalThis; @@ -6144,9 +6712,9 @@ function getFramesFromEvent(event) { __name(getFramesFromEvent, "getFramesFromEvent"); const handlers$4 = {}; const instrumented$1 = {}; -function addHandler$1(type, handler6) { +function addHandler$1(type, handler12) { handlers$4[type] = handlers$4[type] || []; - handlers$4[type].push(handler6); + handlers$4[type].push(handler12); } __name(addHandler$1, "addHandler$1"); function resetInstrumentationHandlers() { @@ -6166,19 +6734,19 @@ function maybeInstrument(type, instrumentFn) { } } __name(maybeInstrument, "maybeInstrument"); -function triggerHandlers$1(type, data25) { +function triggerHandlers$1(type, data26) { const typeHandlers = type && handlers$4[type]; if (!typeHandlers) { return; } - for (const handler6 of typeHandlers) { + for (const handler12 of typeHandlers) { try { - handler6(data25); + handler12(data26); } catch (e2) { DEBUG_BUILD$5 && logger$2.error( `Error while triggering instrumentation handler. Type: ${type} -Name: ${getFunctionName(handler6)} +Name: ${getFunctionName(handler12)} Error:`, e2 ); @@ -6187,9 +6755,9 @@ Error:`, } __name(triggerHandlers$1, "triggerHandlers$1"); let _oldOnErrorHandler = null; -function addGlobalErrorInstrumentationHandler(handler6) { +function addGlobalErrorInstrumentationHandler(handler12) { const type = "error"; - addHandler$1(type, handler6); + addHandler$1(type, handler12); maybeInstrument(type, instrumentError); } __name(addGlobalErrorInstrumentationHandler, "addGlobalErrorInstrumentationHandler"); @@ -6213,9 +6781,9 @@ function instrumentError() { } __name(instrumentError, "instrumentError"); let _oldOnUnhandledRejectionHandler = null; -function addGlobalUnhandledRejectionInstrumentationHandler(handler6) { +function addGlobalUnhandledRejectionInstrumentationHandler(handler12) { const type = "unhandledrejection"; - addHandler$1(type, handler6); + addHandler$1(type, handler12); maybeInstrument(type, instrumentUnhandledRejection); } __name(addGlobalUnhandledRejectionInstrumentationHandler, "addGlobalUnhandledRejectionInstrumentationHandler"); @@ -6272,10 +6840,10 @@ function isDOMException(wat) { return isBuiltin(wat, "DOMException"); } __name(isDOMException, "isDOMException"); -function isString$8(wat) { +function isString$a(wat) { return isBuiltin(wat, "String"); } -__name(isString$8, "isString$8"); +__name(isString$a, "isString$a"); function isParameterizedString(wat) { return typeof wat === "object" && wat !== null && "__sentry_template_string__" in wat && "__sentry_template_values__" in wat; } @@ -6379,7 +6947,7 @@ function _htmlElementAsString(el, keyAttrs) { out.push(`#${elem.id}`); } const className = elem.className; - if (className && isString$8(className)) { + if (className && isString$a(className)) { const classes2 = className.split(/\s+/); for (const c2 of classes2) { out.push(`.${c2}`); @@ -6492,13 +7060,13 @@ function safeJoin(input, delimiter2) { } __name(safeJoin, "safeJoin"); function isMatchingPattern(value4, pattern, requireExactStringMatch = false) { - if (!isString$8(value4)) { + if (!isString$a(value4)) { return false; } if (isRegExp$5(pattern)) { return pattern.test(value4); } - if (isString$8(pattern)) { + if (isString$a(pattern)) { return requireExactStringMatch ? value4 === pattern : value4.includes(pattern); } return false; @@ -6578,9 +7146,9 @@ function convertToPlainObject(value4) { } } __name(convertToPlainObject, "convertToPlainObject"); -function serializeEventTarget(target) { +function serializeEventTarget(target2) { try { - return isElement$3(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target); + return isElement$3(target2) ? htmlTreeAsString(target2) : Object.prototype.toString.call(target2); } catch (_oO) { return ""; } @@ -6996,17 +7564,17 @@ class SyncPromise { } const cachedHandlers = this._handlers.slice(); this._handlers = []; - cachedHandlers.forEach((handler6) => { - if (handler6[0]) { + cachedHandlers.forEach((handler12) => { + if (handler12[0]) { return; } if (this._state === States.RESOLVED) { - handler6[1](this._value); + handler12[1](this._value); } if (this._state === States.REJECTED) { - handler6[2](this._value); + handler12[2](this._value); } - handler6[0] = true; + handler12[0] = true; }); }; } @@ -7132,7 +7700,7 @@ function generateSpanId() { return uuid4().substring(16); } __name(generateSpanId, "generateSpanId"); -function merge$1(initialObj, mergeObj, levels = 2) { +function merge$2(initialObj, mergeObj, levels = 2) { if (!mergeObj || typeof mergeObj !== "object" || levels <= 0) { return mergeObj; } @@ -7142,12 +7710,12 @@ function merge$1(initialObj, mergeObj, levels = 2) { const output = { ...initialObj }; for (const key in mergeObj) { if (Object.prototype.hasOwnProperty.call(mergeObj, key)) { - output[key] = merge$1(output[key], mergeObj[key], levels - 1); + output[key] = merge$2(output[key], mergeObj[key], levels - 1); } } return output; } -__name(merge$1, "merge$1"); +__name(merge$2, "merge$2"); const SCOPE_SPAN_FIELD = "_sentrySpan"; function _setSpanForScope(scope, span) { if (span) { @@ -7526,7 +8094,7 @@ class ScopeClass { * @inheritDoc */ setSDKProcessingMetadata(newData) { - this._sdkProcessingMetadata = merge$1(this._sdkProcessingMetadata, newData, 2); + this._sdkProcessingMetadata = merge$2(this._sdkProcessingMetadata, newData, 2); return this; } /** @@ -7973,7 +8541,7 @@ function dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext) { } __name(dynamicSamplingContextToSentryBaggageHeader, "dynamicSamplingContextToSentryBaggageHeader"); function parseBaggageHeader(baggageHeader) { - if (!baggageHeader || !isString$8(baggageHeader) && !Array.isArray(baggageHeader)) { + if (!baggageHeader || !isString$a(baggageHeader) && !Array.isArray(baggageHeader)) { return void 0; } if (Array.isArray(baggageHeader)) { @@ -8071,12 +8639,12 @@ const TRACE_FLAG_SAMPLED = 1; let hasShownSpanDropWarning = false; function spanToTransactionTraceContext(span) { const { spanId: span_id, traceId: trace_id } = span.spanContext(); - const { data: data25, op, parent_span_id, status, origin: origin2 } = spanToJSON(span); + const { data: data26, op, parent_span_id, status, origin: origin2 } = spanToJSON(span); return dropUndefinedKeys({ parent_span_id, span_id, trace_id, - data: data25, + data: data26, op, status, origin: origin2 @@ -9694,7 +10262,7 @@ function startIdleSpan(startSpanOptions, options4 = {}) { const previousActiveSpan = getActiveSpan(); const span = _startIdleSpan(startSpanOptions); span.end = new Proxy(span.end, { - apply(target, thisArg, args) { + apply(target2, thisArg, args) { if (beforeSpanEnd) { beforeSpanEnd(span); } @@ -9704,7 +10272,7 @@ function startIdleSpan(startSpanOptions, options4 = {}) { const spans = getSpanDescendants(span).filter((child) => child !== span); if (!spans.length) { onIdleSpanEnded(spanEndTimestamp); - return Reflect.apply(target, thisArg, [spanEndTimestamp, ...rest]); + return Reflect.apply(target2, thisArg, [spanEndTimestamp, ...rest]); } const childEndTimestamps = spans.map((span2) => spanToJSON(span2).timestamp).filter((timestamp3) => !!timestamp3); const latestSpanEndTimestamp = childEndTimestamps.length ? Math.max(...childEndTimestamps) : void 0; @@ -9714,7 +10282,7 @@ function startIdleSpan(startSpanOptions, options4 = {}) { Math.max(spanStartTimestamp || -Infinity, Math.min(spanEndTimestamp, latestSpanEndTimestamp || Infinity)) ); onIdleSpanEnded(endTimestamp); - return Reflect.apply(target, thisArg, [endTimestamp, ...rest]); + return Reflect.apply(target2, thisArg, [endTimestamp, ...rest]); } }); function _cancelIdleTimeout() { @@ -9929,9 +10497,9 @@ function getDebugImagesForResources(stackParser, resource_paths) { return images; } __name(getDebugImagesForResources, "getDebugImagesForResources"); -function applyScopeDataToEvent(event, data25) { - const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data25; - applyDataToEvent(event, data25); +function applyScopeDataToEvent(event, data26) { + const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data26; + applyDataToEvent(event, data26); if (span) { applySpanToEvent(event, span); } @@ -9940,7 +10508,7 @@ function applyScopeDataToEvent(event, data25) { applySdkMetadataToEvent(event, sdkProcessingMetadata); } __name(applyScopeDataToEvent, "applyScopeDataToEvent"); -function mergeScopeData(data25, mergeData) { +function mergeScopeData(data26, mergeData) { const { extra, tags, @@ -9956,41 +10524,41 @@ function mergeScopeData(data25, mergeData) { transactionName, span } = mergeData; - mergeAndOverwriteScopeData(data25, "extra", extra); - mergeAndOverwriteScopeData(data25, "tags", tags); - mergeAndOverwriteScopeData(data25, "user", user); - mergeAndOverwriteScopeData(data25, "contexts", contexts); - data25.sdkProcessingMetadata = merge$1(data25.sdkProcessingMetadata, sdkProcessingMetadata, 2); + mergeAndOverwriteScopeData(data26, "extra", extra); + mergeAndOverwriteScopeData(data26, "tags", tags); + mergeAndOverwriteScopeData(data26, "user", user); + mergeAndOverwriteScopeData(data26, "contexts", contexts); + data26.sdkProcessingMetadata = merge$2(data26.sdkProcessingMetadata, sdkProcessingMetadata, 2); if (level) { - data25.level = level; + data26.level = level; } if (transactionName) { - data25.transactionName = transactionName; + data26.transactionName = transactionName; } if (span) { - data25.span = span; + data26.span = span; } if (breadcrumbs.length) { - data25.breadcrumbs = [...data25.breadcrumbs, ...breadcrumbs]; + data26.breadcrumbs = [...data26.breadcrumbs, ...breadcrumbs]; } if (fingerprint.length) { - data25.fingerprint = [...data25.fingerprint, ...fingerprint]; + data26.fingerprint = [...data26.fingerprint, ...fingerprint]; } if (eventProcessors.length) { - data25.eventProcessors = [...data25.eventProcessors, ...eventProcessors]; + data26.eventProcessors = [...data26.eventProcessors, ...eventProcessors]; } if (attachments.length) { - data25.attachments = [...data25.attachments, ...attachments]; + data26.attachments = [...data26.attachments, ...attachments]; } - data25.propagationContext = { ...data25.propagationContext, ...propagationContext }; + data26.propagationContext = { ...data26.propagationContext, ...propagationContext }; } __name(mergeScopeData, "mergeScopeData"); -function mergeAndOverwriteScopeData(data25, prop2, mergeVal) { - data25[prop2] = merge$1(data25[prop2], mergeVal, 1); +function mergeAndOverwriteScopeData(data26, prop2, mergeVal) { + data26[prop2] = merge$2(data26[prop2], mergeVal, 1); } __name(mergeAndOverwriteScopeData, "mergeAndOverwriteScopeData"); -function applyDataToEvent(event, data25) { - const { extra, tags, user, contexts, level, transactionName } = data25; +function applyDataToEvent(event, data26) { + const { extra, tags, user, contexts, level, transactionName } = data26; const cleanedExtra = dropUndefinedKeys(extra); if (cleanedExtra && Object.keys(cleanedExtra).length) { event.extra = { ...cleanedExtra, ...event.extra }; @@ -10074,24 +10642,24 @@ function prepareEvent(options4, event, hint, scope, client, isolationScope) { addExceptionMechanism(prepared, hint.mechanism); } const clientEventProcessors = client ? client.getEventProcessors() : []; - const data25 = getGlobalScope().getScopeData(); + const data26 = getGlobalScope().getScopeData(); if (isolationScope) { const isolationData = isolationScope.getScopeData(); - mergeScopeData(data25, isolationData); + mergeScopeData(data26, isolationData); } if (finalScope) { const finalScopeData = finalScope.getScopeData(); - mergeScopeData(data25, finalScopeData); + mergeScopeData(data26, finalScopeData); } - const attachments = [...hint.attachments || [], ...data25.attachments]; + const attachments = [...hint.attachments || [], ...data26.attachments]; if (attachments.length) { hint.attachments = attachments; } - applyScopeDataToEvent(prepared, data25); + applyScopeDataToEvent(prepared, data26); const eventProcessors = [ ...clientEventProcessors, // Run scope event processors _after_ all other processors - ...data25.eventProcessors + ...data26.eventProcessors ]; const result = notifyEventProcessors(eventProcessors, prepared, hint); return result.then((evt) => { @@ -10444,7 +11012,7 @@ class SessionFlusher { __name(this, "SessionFlusher"); } // We adjust the type here to add the `unref()` part, as setInterval can technically return a number or a NodeJS.Timer - constructor(client, attrs4) { + constructor(client, attrs6) { this._client = client; this.flushTimeout = 60; this._pendingAggregates = /* @__PURE__ */ new Map(); @@ -10453,7 +11021,7 @@ class SessionFlusher { if (this._intervalId.unref) { this._intervalId.unref(); } - this._sessionAttrs = attrs4; + this._sessionAttrs = attrs6; } /** Checks if `pendingAggregates` has entries, and if it does flushes them by calling `sendSession` */ flush() { @@ -12747,7 +13315,7 @@ function extractRequestData(req, options4 = {}) { } const body = req.body; if (body !== void 0) { - const stringBody = isString$8(body) ? body : isPlainObject$5(body) ? JSON.stringify(normalize$2(body)) : truncate(`${body}`, 1024); + const stringBody = isString$a(body) ? body : isPlainObject$5(body) ? JSON.stringify(normalize$2(body)) : truncate(`${body}`, 1024); if (stringBody) { requestData.data = stringBody; } @@ -12898,7 +13466,7 @@ function httpRequestToRequestData(request) { const protocol = request.socket && request.socket.encrypted ? "https" : "http"; const originalUrl = request.url || ""; const absoluteUrl = originalUrl.startsWith(protocol) ? originalUrl : `${protocol}://${host}${originalUrl}`; - const data25 = request.body || void 0; + const data26 = request.body || void 0; const cookies2 = request.cookies; return dropUndefinedKeys({ url: absoluteUrl, @@ -12906,7 +13474,7 @@ function httpRequestToRequestData(request) { query_string: extractQueryParamsFromUrl(originalUrl), headers: headersToDict(headers), cookies: cookies2, - data: data25 + data: data26 }); } __name(httpRequestToRequestData, "httpRequestToRequestData"); @@ -13043,9 +13611,9 @@ function convertReqDataIntegrationOptsToAddReqDataOpts(integrationOptions) { }; } __name(convertReqDataIntegrationOptsToAddReqDataOpts, "convertReqDataIntegrationOptsToAddReqDataOpts"); -function addConsoleInstrumentationHandler(handler6) { +function addConsoleInstrumentationHandler(handler12) { const type = "console"; - addHandler$1(type, handler6); + addHandler$1(type, handler12); maybeInstrument(type, instrumentConsole); } __name(addConsoleInstrumentationHandler, "addConsoleInstrumentationHandler"); @@ -13381,7 +13949,7 @@ function splitPath(filename) { return parts2 ? parts2.slice(1) : []; } __name(splitPath, "splitPath"); -function resolve$1(...args) { +function resolve$3(...args) { let resolvedPath = ""; let resolvedAbsolute = false; for (let i2 = args.length - 1; i2 >= -1 && !resolvedAbsolute; i2--) { @@ -13398,7 +13966,7 @@ function resolve$1(...args) { ).join("/"); return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; } -__name(resolve$1, "resolve$1"); +__name(resolve$3, "resolve$3"); function trim$1(arr) { let start2 = 0; for (; start2 < arr.length; start2++) { @@ -13419,8 +13987,8 @@ function trim$1(arr) { } __name(trim$1, "trim$1"); function relative(from2, to) { - from2 = resolve$1(from2).slice(1); - to = resolve$1(to).slice(1); + from2 = resolve$3(from2).slice(1); + to = resolve$3(to).slice(1); const fromParts = trim$1(from2.split("/")); const toParts = trim$1(to.split("/")); const length = Math.min(fromParts.length, toParts.length); @@ -13465,15 +14033,15 @@ function join$3(...args) { __name(join$3, "join$3"); function dirname(path) { const result = splitPath(path); - const root27 = result[0] || ""; + const root29 = result[0] || ""; let dir = result[1]; - if (!root27 && !dir) { + if (!root29 && !dir) { return "."; } if (dir) { dir = dir.slice(0, dir.length - 1); } - return root27 + dir; + return root29 + dir; } __name(dirname, "dirname"); function basename(path, ext) { @@ -13486,10 +14054,10 @@ function basename(path, ext) { __name(basename, "basename"); const INTEGRATION_NAME$d = "RewriteFrames"; const rewriteFramesIntegration = defineIntegration((options4 = {}) => { - const root27 = options4.root; + const root29 = options4.root; const prefix2 = options4.prefix || "app:///"; const isBrowser2 = "window" in GLOBAL_OBJ && GLOBAL_OBJ.window !== void 0; - const iteratee = options4.iteratee || generateIteratee({ isBrowser: isBrowser2, root: root27, prefix: prefix2 }); + const iteratee = options4.iteratee || generateIteratee({ isBrowser: isBrowser2, root: root29, prefix: prefix2 }); function _processExceptionsEvent(event) { try { return { @@ -13529,7 +14097,7 @@ const rewriteFramesIntegration = defineIntegration((options4 = {}) => { }); function generateIteratee({ isBrowser: isBrowser2, - root: root27, + root: root29, prefix: prefix2 }) { return (frame) => { @@ -13540,16 +14108,16 @@ function generateIteratee({ frame.filename.includes("\\") && !frame.filename.includes("/"); const startsWithSlash = /^\//.test(frame.filename); if (isBrowser2) { - if (root27) { + if (root29) { const oldFilename = frame.filename; - if (oldFilename.indexOf(root27) === 0) { - frame.filename = oldFilename.replace(root27, prefix2); + if (oldFilename.indexOf(root29) === 0) { + frame.filename = oldFilename.replace(root29, prefix2); } } } else { if (isWindowsFrame || startsWithSlash) { const filename = isWindowsFrame ? frame.filename.replace(/^[a-zA-Z]:/, "").replace(/\\/g, "/") : frame.filename; - const base2 = root27 ? relative(root27, filename) : basename(filename); + const base2 = root29 ? relative(root29, filename) : basename(filename); frame.filename = `${prefix2}${base2}`; } } @@ -13718,15 +14286,15 @@ function getMetricsAggregatorForClient$1(client, Aggregator) { return newAggregator; } __name(getMetricsAggregatorForClient$1, "getMetricsAggregatorForClient$1"); -function addToMetricsAggregator(Aggregator, metricType, name2, value4, data25 = {}) { - const client = data25.client || getClient(); +function addToMetricsAggregator(Aggregator, metricType, name2, value4, data26 = {}) { + const client = data26.client || getClient(); if (!client) { return; } const span = getActiveSpan(); const rootSpan = span ? getRootSpan(span) : void 0; const transactionName = rootSpan && spanToJSON(rootSpan).description; - const { unit, tags, timestamp: timestamp2 } = data25; + const { unit, tags, timestamp: timestamp2 } = data26; const { release, environment } = client.getOptions(); const metricTags = {}; if (release) { @@ -13743,15 +14311,15 @@ function addToMetricsAggregator(Aggregator, metricType, name2, value4, data25 = aggregator.add(metricType, name2, value4, unit, { ...metricTags, ...tags }, timestamp2); } __name(addToMetricsAggregator, "addToMetricsAggregator"); -function increment$2(aggregator, name2, value4 = 1, data25) { - addToMetricsAggregator(aggregator, COUNTER_METRIC_TYPE, name2, ensureNumber(value4), data25); +function increment$2(aggregator, name2, value4 = 1, data26) { + addToMetricsAggregator(aggregator, COUNTER_METRIC_TYPE, name2, ensureNumber(value4), data26); } __name(increment$2, "increment$2"); -function distribution$2(aggregator, name2, value4, data25) { - addToMetricsAggregator(aggregator, DISTRIBUTION_METRIC_TYPE, name2, ensureNumber(value4), data25); +function distribution$2(aggregator, name2, value4, data26) { + addToMetricsAggregator(aggregator, DISTRIBUTION_METRIC_TYPE, name2, ensureNumber(value4), data26); } __name(distribution$2, "distribution$2"); -function timing$2(aggregator, name2, value4, unit = "second", data25) { +function timing$2(aggregator, name2, value4, unit = "second", data26) { if (typeof value4 === "function") { const startTime = timestampInSeconds(); return startSpanManual( @@ -13769,28 +14337,28 @@ function timing$2(aggregator, name2, value4, unit = "second", data25) { () => { const endTime = timestampInSeconds(); const timeDiff = endTime - startTime; - distribution$2(aggregator, name2, timeDiff, { ...data25, unit: "second" }); + distribution$2(aggregator, name2, timeDiff, { ...data26, unit: "second" }); span.end(endTime); } ); } ); } - distribution$2(aggregator, name2, value4, { ...data25, unit }); + distribution$2(aggregator, name2, value4, { ...data26, unit }); } __name(timing$2, "timing$2"); -function set$7(aggregator, name2, value4, data25) { - addToMetricsAggregator(aggregator, SET_METRIC_TYPE, name2, value4, data25); +function set$6(aggregator, name2, value4, data26) { + addToMetricsAggregator(aggregator, SET_METRIC_TYPE, name2, value4, data26); } -__name(set$7, "set$7"); -function gauge$2(aggregator, name2, value4, data25) { - addToMetricsAggregator(aggregator, GAUGE_METRIC_TYPE, name2, ensureNumber(value4), data25); +__name(set$6, "set$6"); +function gauge$2(aggregator, name2, value4, data26) { + addToMetricsAggregator(aggregator, GAUGE_METRIC_TYPE, name2, ensureNumber(value4), data26); } __name(gauge$2, "gauge$2"); const metrics$1 = { increment: increment$2, distribution: distribution$2, - set: set$7, + set: set$6, gauge: gauge$2, timing: timing$2, /** @@ -14169,24 +14737,24 @@ class MetricsAggregator { } } } -function increment$1(name2, value4 = 1, data25) { - metrics$1.increment(MetricsAggregator, name2, value4, data25); +function increment$1(name2, value4 = 1, data26) { + metrics$1.increment(MetricsAggregator, name2, value4, data26); } __name(increment$1, "increment$1"); -function distribution$1(name2, value4, data25) { - metrics$1.distribution(MetricsAggregator, name2, value4, data25); +function distribution$1(name2, value4, data26) { + metrics$1.distribution(MetricsAggregator, name2, value4, data26); } __name(distribution$1, "distribution$1"); -function set$6(name2, value4, data25) { - metrics$1.set(MetricsAggregator, name2, value4, data25); +function set$5(name2, value4, data26) { + metrics$1.set(MetricsAggregator, name2, value4, data26); } -__name(set$6, "set$6"); -function gauge$1(name2, value4, data25) { - metrics$1.gauge(MetricsAggregator, name2, value4, data25); +__name(set$5, "set$5"); +function gauge$1(name2, value4, data26) { + metrics$1.gauge(MetricsAggregator, name2, value4, data26); } __name(gauge$1, "gauge$1"); -function timing$1(name2, value4, unit = "second", data25) { - return metrics$1.timing(MetricsAggregator, name2, value4, unit, data25); +function timing$1(name2, value4, unit = "second", data26) { + return metrics$1.timing(MetricsAggregator, name2, value4, unit, data26); } __name(timing$1, "timing$1"); function getMetricsAggregatorForClient(client) { @@ -14196,7 +14764,7 @@ __name(getMetricsAggregatorForClient, "getMetricsAggregatorForClient"); const metricsDefault = { increment: increment$1, distribution: distribution$1, - set: set$6, + set: set$5, gauge: gauge$1, timing: timing$1, /** @@ -14676,15 +15244,15 @@ function supportsReferrerPolicy() { } } __name(supportsReferrerPolicy, "supportsReferrerPolicy"); -function addFetchInstrumentationHandler(handler6, skipNativeFetchCheck) { +function addFetchInstrumentationHandler(handler12, skipNativeFetchCheck) { const type = "fetch"; - addHandler$1(type, handler6); + addHandler$1(type, handler12); maybeInstrument(type, () => instrumentFetch(void 0, skipNativeFetchCheck)); } __name(addFetchInstrumentationHandler, "addFetchInstrumentationHandler"); -function addFetchEndInstrumentationHandler(handler6) { +function addFetchEndInstrumentationHandler(handler12) { const type = "fetch-body-resolved"; - addHandler$1(type, handler6); + addHandler$1(type, handler12); maybeInstrument(type, () => instrumentFetch(streamHandler)); } __name(addFetchEndInstrumentationHandler, "addFetchEndInstrumentationHandler"); @@ -14957,12 +15525,12 @@ function _parseIntOrUndefined(input) { return parseInt(input || "", 10) || void 0; } __name(_parseIntOrUndefined, "_parseIntOrUndefined"); -function makeFifoCache(size2) { +function makeFifoCache(size) { let evictionOrder = []; let cache2 = {}; return { add(key, value4) { - while (evictionOrder.length >= size2) { + while (evictionOrder.length >= size) { const evictCandidate = evictionOrder.shift(); if (evictCandidate !== void 0) { delete cache2[evictCandidate]; @@ -16043,19 +16611,19 @@ function addPerformanceInstrumentationHandler(type, callback) { return getCleanupCallback(type, callback); } __name(addPerformanceInstrumentationHandler, "addPerformanceInstrumentationHandler"); -function triggerHandlers(type, data25) { +function triggerHandlers(type, data26) { const typeHandlers = handlers$3[type]; if (!typeHandlers || !typeHandlers.length) { return; } - for (const handler6 of typeHandlers) { + for (const handler12 of typeHandlers) { try { - handler6(data25); + handler12(data26); } catch (e2) { DEBUG_BUILD$3 && logger$2.error( `Error while triggering instrumentation handler. Type: ${type} -Name: ${getFunctionName(handler6)} +Name: ${getFunctionName(handler12)} Error:`, e2 ); @@ -16145,9 +16713,9 @@ function instrumentPerformanceObserver(type) { ); } __name(instrumentPerformanceObserver, "instrumentPerformanceObserver"); -function addHandler(type, handler6) { +function addHandler(type, handler12) { handlers$3[type] = handlers$3[type] || []; - handlers$3[type].push(handler6); + handlers$3[type].push(handler12); } __name(addHandler, "addHandler"); function getCleanupCallback(type, callback, stopListening) { @@ -16753,9 +17321,9 @@ const DEBOUNCE_DURATION = 1e3; let debounceTimerID; let lastCapturedEventType; let lastCapturedEventTargetId; -function addClickKeypressInstrumentationHandler(handler6) { +function addClickKeypressInstrumentationHandler(handler12) { const type = "dom"; - addHandler$1(type, handler6); + addHandler$1(type, handler12); maybeInstrument(type, instrumentDOM); } __name(addClickKeypressInstrumentationHandler, "addClickKeypressInstrumentationHandler"); @@ -16767,9 +17335,9 @@ function instrumentDOM() { const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true); WINDOW$4.document.addEventListener("click", globalDOMEventHandler, false); WINDOW$4.document.addEventListener("keypress", globalDOMEventHandler, false); - ["EventTarget", "Node"].forEach((target) => { + ["EventTarget", "Node"].forEach((target2) => { const globalObject = WINDOW$4; - const targetObj = globalObject[target]; + const targetObj = globalObject[target2]; const proto = targetObj && targetObj.prototype; if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty("addEventListener")) { return; @@ -16781,9 +17349,9 @@ function instrumentDOM() { const handlers2 = this.__sentry_instrumentation_handlers__ = this.__sentry_instrumentation_handlers__ || {}; const handlerForType = handlers2[type] = handlers2[type] || { refCount: 0 }; if (!handlerForType.handler) { - const handler6 = makeDOMEventHandler(triggerDOMHandler); - handlerForType.handler = handler6; - originalAddEventListener.call(this, type, handler6, options4); + const handler12 = makeDOMEventHandler(triggerDOMHandler); + handlerForType.handler = handler12; + originalAddEventListener.call(this, type, handler12, options4); } handlerForType.refCount++; } catch (e2) { @@ -16835,38 +17403,38 @@ function isSimilarToLastCapturedEvent(event) { return true; } __name(isSimilarToLastCapturedEvent, "isSimilarToLastCapturedEvent"); -function shouldSkipDOMEvent(eventType, target) { +function shouldSkipDOMEvent(eventType, target2) { if (eventType !== "keypress") { return false; } - if (!target || !target.tagName) { + if (!target2 || !target2.tagName) { return true; } - if (target.tagName === "INPUT" || target.tagName === "TEXTAREA" || target.isContentEditable) { + if (target2.tagName === "INPUT" || target2.tagName === "TEXTAREA" || target2.isContentEditable) { return false; } return true; } __name(shouldSkipDOMEvent, "shouldSkipDOMEvent"); -function makeDOMEventHandler(handler6, globalListener = false) { +function makeDOMEventHandler(handler12, globalListener = false) { return (event) => { if (!event || event["_sentryCaptured"]) { return; } - const target = getEventTarget$1(event); - if (shouldSkipDOMEvent(event.type, target)) { + const target2 = getEventTarget$1(event); + if (shouldSkipDOMEvent(event.type, target2)) { return; } addNonEnumerableProperty(event, "_sentryCaptured", true); - if (target && !target._sentryId) { - addNonEnumerableProperty(target, "_sentryId", uuid4()); + if (target2 && !target2._sentryId) { + addNonEnumerableProperty(target2, "_sentryId", uuid4()); } const name2 = event.type === "keypress" ? "input" : event.type; if (!isSimilarToLastCapturedEvent(event)) { const handlerData = { event, name: name2, global: globalListener }; - handler6(handlerData); + handler12(handlerData); lastCapturedEventType = event.type; - lastCapturedEventTargetId = target ? target._sentryId : void 0; + lastCapturedEventTargetId = target2 ? target2._sentryId : void 0; } clearTimeout(debounceTimerID); debounceTimerID = WINDOW$4.setTimeout(() => { @@ -16885,9 +17453,9 @@ function getEventTarget$1(event) { } __name(getEventTarget$1, "getEventTarget$1"); let lastHref; -function addHistoryInstrumentationHandler(handler6) { +function addHistoryInstrumentationHandler(handler12) { const type = "history"; - addHandler$1(type, handler6); + addHandler$1(type, handler12); maybeInstrument(type, instrumentHistory); } __name(addHistoryInstrumentationHandler, "addHistoryInstrumentationHandler"); @@ -16971,9 +17539,9 @@ function setTimeout$3(...rest) { } __name(setTimeout$3, "setTimeout$3"); const SENTRY_XHR_DATA_KEY = "__sentry_xhr_v3__"; -function addXhrInstrumentationHandler(handler6) { +function addXhrInstrumentationHandler(handler12) { const type = "xhr"; - addHandler$1(type, handler6); + addHandler$1(type, handler12); maybeInstrument(type, instrumentXHR); } __name(addXhrInstrumentationHandler, "addXhrInstrumentationHandler"); @@ -16986,7 +17554,7 @@ function instrumentXHR() { apply(originalOpen, xhrOpenThisArg, xhrOpenArgArray) { const virtualError = new Error(); const startTimestamp = timestampInSeconds() * 1e3; - const method = isString$8(xhrOpenArgArray[0]) ? xhrOpenArgArray[0].toUpperCase() : void 0; + const method = isString$a(xhrOpenArgArray[0]) ? xhrOpenArgArray[0].toUpperCase() : void 0; const url = parseUrl(xhrOpenArgArray[1]); if (!method || !url) { return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray); @@ -17032,7 +17600,7 @@ function instrumentXHR() { apply(originalSetRequestHeader, setRequestHeaderThisArg, setRequestHeaderArgArray) { const [header3, value4] = setRequestHeaderArgArray; const xhrInfo = setRequestHeaderThisArg[SENTRY_XHR_DATA_KEY]; - if (xhrInfo && isString$8(header3) && isString$8(value4)) { + if (xhrInfo && isString$a(header3) && isString$a(value4)) { xhrInfo.request_headers[header3.toLowerCase()] = value4; } return originalSetRequestHeader.apply(setRequestHeaderThisArg, setRequestHeaderArgArray); @@ -17061,7 +17629,7 @@ function instrumentXHR() { } __name(instrumentXHR, "instrumentXHR"); function parseUrl(url) { - if (isString$8(url)) { + if (isString$a(url)) { return url; } try { @@ -17391,7 +17959,7 @@ function _getDomBreadcrumbHandler(client, dom) { if (getClient() !== client) { return; } - let target; + let target2; let componentName; let keyAttrs = typeof dom === "object" ? dom.serializeAttribute : void 0; let maxStringLength = typeof dom === "object" && typeof dom.maxStringLength === "number" ? dom.maxStringLength : void 0; @@ -17407,17 +17975,17 @@ function _getDomBreadcrumbHandler(client, dom) { try { const event = handlerData.event; const element = _isEvent(event) ? event.target : event; - target = htmlTreeAsString(element, { keyAttrs, maxStringLength }); + target2 = htmlTreeAsString(element, { keyAttrs, maxStringLength }); componentName = getComponentName$1(element); } catch (e2) { - target = ""; + target2 = ""; } - if (target.length === 0) { + if (target2.length === 0) { return; } const breadcrumb = { category: `ui.${handlerData.name}`, - message: target + message: target2 }; if (componentName) { breadcrumb.data = { "ui.component_name": componentName }; @@ -17470,7 +18038,7 @@ function _getXhrBreadcrumbHandler(client) { return; } const { method, url, status_code, body } = sentryXhrData; - const data25 = { + const data26 = { method, url, status_code @@ -17485,7 +18053,7 @@ function _getXhrBreadcrumbHandler(client) { addBreadcrumb( { category: "xhr", - data: data25, + data: data26, type: "http", level }, @@ -17507,7 +18075,7 @@ function _getFetchBreadcrumbHandler(client) { return; } if (handlerData.error) { - const data25 = handlerData.fetchData; + const data26 = handlerData.fetchData; const hint = { data: handlerData.error, input: handlerData.args, @@ -17517,7 +18085,7 @@ function _getFetchBreadcrumbHandler(client) { addBreadcrumb( { category: "fetch", - data: data25, + data: data26, level: "error", type: "http" }, @@ -17525,7 +18093,7 @@ function _getFetchBreadcrumbHandler(client) { ); } else { const response = handlerData.response; - const data25 = { + const data26 = { ...handlerData.fetchData, status_code: response && response.status }; @@ -17535,11 +18103,11 @@ function _getFetchBreadcrumbHandler(client) { startTimestamp, endTimestamp }; - const level = getBreadcrumbLogLevelFromHttpStatusCode(data25.status_code); + const level = getBreadcrumbLogLevelFromHttpStatusCode(data26.status_code); addBreadcrumb( { category: "fetch", - data: data25, + data: data26, type: "http", level }, @@ -17711,9 +18279,9 @@ function _wrapXHR$1(originalSend) { }; } __name(_wrapXHR$1, "_wrapXHR$1"); -function _wrapEventTarget(target) { +function _wrapEventTarget(target2) { const globalObject = WINDOW$5; - const targetObj = globalObject[target]; + const targetObj = globalObject[target2]; const proto = targetObj && targetObj.prototype; if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty("addEventListener")) { return; @@ -17727,7 +18295,7 @@ function _wrapEventTarget(target) { data: { function: "handleEvent", handler: getFunctionName(fn), - target + target: target2 }, handled: false, type: "instrument" @@ -17743,7 +18311,7 @@ function _wrapEventTarget(target) { data: { function: "addEventListener", handler: getFunctionName(fn), - target + target: target2 }, handled: false, type: "instrument" @@ -17816,12 +18384,12 @@ const _globalHandlersIntegration = /* @__PURE__ */ __name((options4 = {}) => { }, "_globalHandlersIntegration"); const globalHandlersIntegration = defineIntegration(_globalHandlersIntegration); function _installGlobalOnErrorHandler(client) { - addGlobalErrorInstrumentationHandler((data25) => { + addGlobalErrorInstrumentationHandler((data26) => { const { stackParser, attachStacktrace } = getOptions(); if (getClient() !== client || shouldIgnoreOnError()) { return; } - const { msg, url, line, column, error: error2 } = data25; + const { msg, url, line, column, error: error2 } = data26; const event = _enhanceEventWithInitialFrame( eventFromUnknownInput(stackParser, error2 || msg, void 0, attachStacktrace, false), url, @@ -17896,7 +18464,7 @@ function _enhanceEventWithInitialFrame(event, url, line, column) { const ev0sf = ev0s.frames = ev0s.frames || []; const colno = column; const lineno = line; - const filename = isString$8(url) && url.length > 0 ? url : getLocationHref(); + const filename = isString$a(url) && url.length > 0 ? url : getLocationHref(); if (ev0sf.length === 0) { ev0sf.push({ colno, @@ -18176,7 +18744,7 @@ const INTEGRATION_NAME$6 = "ReportingObserver"; const SETUP_CLIENTS = /* @__PURE__ */ new WeakMap(); const _reportingObserverIntegration = /* @__PURE__ */ __name((options4 = {}) => { const types = options4.types || ["crash", "deprecation", "intervention"]; - function handler6(reports) { + function handler12(reports) { if (!SETUP_CLIENTS.has(getClient())) { return; } @@ -18203,7 +18771,7 @@ const _reportingObserverIntegration = /* @__PURE__ */ __name((options4 = {}) => }); } } - __name(handler6, "handler"); + __name(handler12, "handler"); return { name: INTEGRATION_NAME$6, setupOnce() { @@ -18211,7 +18779,7 @@ const _reportingObserverIntegration = /* @__PURE__ */ __name((options4 = {}) => return; } const observer = new WINDOW$3.ReportingObserver( - handler6, + handler12, { buffered: true, types @@ -18349,12 +18917,12 @@ function _getXHRResponseHeaders(xhr) { }, {}); } __name(_getXHRResponseHeaders, "_getXHRResponseHeaders"); -function _isInGivenRequestTargets(failedRequestTargets, target) { +function _isInGivenRequestTargets(failedRequestTargets, target2) { return failedRequestTargets.some((givenRequestTarget) => { if (typeof givenRequestTarget === "string") { - return target.includes(givenRequestTarget); + return target2.includes(givenRequestTarget); } - return givenRequestTarget.test(target); + return givenRequestTarget.test(target2); }); } __name(_isInGivenRequestTargets, "_isInGivenRequestTargets"); @@ -18411,11 +18979,11 @@ function _shouldCaptureResponse(options4, status, url) { return _isInGivenStatusRanges(options4.failedRequestStatusCodes, status) && _isInGivenRequestTargets(options4.failedRequestTargets, url) && !isSentryRequestUrl(url, getClient()); } __name(_shouldCaptureResponse, "_shouldCaptureResponse"); -function _createEvent(data25) { +function _createEvent(data26) { const client = getClient(); - const virtualStackTrace = client && data25.error && data25.error instanceof Error ? data25.error.stack : void 0; + const virtualStackTrace = client && data26.error && data26.error instanceof Error ? data26.error.stack : void 0; const stack2 = virtualStackTrace && client ? client.getOptions().stackParser(virtualStackTrace, 0, 1) : void 0; - const message3 = `HTTP Client Error with status code: ${data25.status}`; + const message3 = `HTTP Client Error with status code: ${data26.status}`; const event = { message: message3, exception: { @@ -18428,17 +18996,17 @@ function _createEvent(data25) { ] }, request: { - url: data25.url, - method: data25.method, - headers: data25.requestHeaders, - cookies: data25.requestCookies + url: data26.url, + method: data26.method, + headers: data26.requestHeaders, + cookies: data26.requestCookies }, contexts: { response: { - status_code: data25.status, - headers: data25.responseHeaders, - cookies: data25.responseCookies, - body_size: _getResponseSizeFromHeaders(data25.responseHeaders) + status_code: data26.status, + headers: data26.responseHeaders, + cookies: data26.responseCookies, + body_size: _getResponseSizeFromHeaders(data26.responseHeaders) } } }; @@ -18569,10 +19137,10 @@ var NodeType$3; NodeType3[NodeType3["CDATA"] = 4] = "CDATA"; NodeType3[NodeType3["Comment"] = 5] = "Comment"; })(NodeType$3 || (NodeType$3 = {})); -function isElement$1(n2) { +function isElement$1$1(n2) { return n2.nodeType === n2.ELEMENT_NODE; } -__name(isElement$1, "isElement$1"); +__name(isElement$1$1, "isElement$1$1"); function isShadowRoot(n2) { const host = _optionalChain$5([n2, "optionalAccess", (_2) => _2.host]); return Boolean(_optionalChain$5([host, "optionalAccess", (_2) => _2.shadowRoot]) === n2); @@ -18831,11 +19399,11 @@ function getIframeContentDocument(iframe) { } } __name(getIframeContentDocument, "getIframeContentDocument"); -let _id$2 = 1; +let _id$3 = 1; const tagNameRegex = new RegExp("[^a-z0-9-_:]"); const IGNORED_NODE = -2; function genId() { - return _id$2++; + return _id$3++; } __name(genId, "genId"); function getValidTagName(element) { @@ -19596,7 +20164,7 @@ function serializeNodeWithId(n2, options4) { serializedNode.childNodes.push(serializedChildNode); } } - if (isElement$1(n2) && n2.shadowRoot) { + if (isElement$1$1(n2) && n2.shadowRoot) { for (const childN of Array.from(n2.shadowRoot.childNodes)) { const serializedChildNode = serializeNodeWithId(childN, bypassOptions); if (serializedChildNode) { @@ -19774,10 +20342,10 @@ function _optionalChain$4(ops) { return value4; } __name(_optionalChain$4, "_optionalChain$4"); -function on(type, fn, target = document) { +function on(type, fn, target2 = document) { const options4 = { capture: true, passive: true }; - target.addEventListener(type, fn, options4); - return () => target.removeEventListener(type, fn, options4); + target2.addEventListener(type, fn, options4); + return () => target2.removeEventListener(type, fn, options4); } __name(on, "on"); const DEPARTED_MIRROR_ACCESS_WARNING$1 = "Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording."; @@ -19804,11 +20372,11 @@ let _mirror$1 = { }; if (typeof window !== "undefined" && window.Proxy && window.Reflect) { _mirror$1 = new Proxy(_mirror$1, { - get(target, prop2, receiver) { + get(target2, prop2, receiver) { if (prop2 === "map") { console.error(DEPARTED_MIRROR_ACCESS_WARNING$1); } - return Reflect.get(target, prop2, receiver); + return Reflect.get(target2, prop2, receiver); } }); } @@ -19839,9 +20407,9 @@ function throttle$1(func, wait, options4 = {}) { }; } __name(throttle$1, "throttle$1"); -function hookSetter$1(target, key, d2, isRevoked, win = window) { - const original = win.Object.getOwnPropertyDescriptor(target, key); - win.Object.defineProperty(target, key, isRevoked ? d2 : { +function hookSetter$1(target2, key, d2, isRevoked, win = window) { + const original = win.Object.getOwnPropertyDescriptor(target2, key); + win.Object.defineProperty(target2, key, isRevoked ? d2 : { set(value4) { setTimeout$1$1(() => { d2.set.call(this, value4); @@ -19851,7 +20419,7 @@ function hookSetter$1(target, key, d2, isRevoked, win = window) { } } }); - return () => hookSetter$1(target, key, original || {}, true); + return () => hookSetter$1(target2, key, original || {}, true); } __name(hookSetter$1, "hookSetter$1"); function patch$2(source, name2, replacement) { @@ -19944,21 +20512,21 @@ function isIgnored(n2, mirror2) { return mirror2.getId(n2) === IGNORED_NODE; } __name(isIgnored, "isIgnored"); -function isAncestorRemoved(target, mirror2) { - if (isShadowRoot(target)) { +function isAncestorRemoved(target2, mirror2) { + if (isShadowRoot(target2)) { return false; } - const id3 = mirror2.getId(target); + const id3 = mirror2.getId(target2); if (!mirror2.has(id3)) { return true; } - if (target.parentNode && target.parentNode.nodeType === target.DOCUMENT_NODE) { + if (target2.parentNode && target2.parentNode.nodeType === target2.DOCUMENT_NODE) { return false; } - if (!target.parentNode) { + if (!target2.parentNode) { return true; } - return isAncestorRemoved(target.parentNode, mirror2); + return isAncestorRemoved(target2.parentNode, mirror2); } __name(isAncestorRemoved, "isAncestorRemoved"); function legacy_isTouchEvent(event) { @@ -20519,13 +21087,13 @@ class MutationBuffer { break; } case "attributes": { - const target = m2.target; + const target2 = m2.target; let attributeName = m2.attributeName; let value4 = m2.target.getAttribute(attributeName); if (attributeName === "value") { - const type = getInputType(target); - const tagName = target.tagName; - value4 = getInputValue(target, tagName, type); + const type = getInputType(target2); + const tagName = target2.tagName; + value4 = getInputValue(target2, tagName, type); const isInputMasked = shouldMaskInput({ maskInputOptions: this.maskInputOptions, tagName, @@ -20534,7 +21102,7 @@ class MutationBuffer { const forceMask = needMaskingText(m2.target, this.maskTextClass, this.maskTextSelector, this.unmaskTextClass, this.unmaskTextSelector, isInputMasked); value4 = maskInputValue({ isMasked: forceMask, - element: target, + element: target2, value: value4, maskInputFn: this.maskInputFn }); @@ -20543,8 +21111,8 @@ class MutationBuffer { return; } let item3 = this.attributeMap.get(m2.target); - if (target.tagName === "IFRAME" && attributeName === "src" && !this.keepIframeSrcFn(value4)) { - const iframeDoc = getIFrameContentDocument(target); + if (target2.tagName === "IFRAME" && attributeName === "src" && !this.keepIframeSrcFn(value4)) { + const iframeDoc = getIFrameContentDocument(target2); if (!iframeDoc) { attributeName = "rr_src"; } else { @@ -20561,11 +21129,11 @@ class MutationBuffer { this.attributes.push(item3); this.attributeMap.set(m2.target, item3); } - if (attributeName === "type" && target.tagName === "INPUT" && (m2.oldValue || "").toLowerCase() === "password") { - target.setAttribute("data-rr-is-password", "true"); + if (attributeName === "type" && target2.tagName === "INPUT" && (m2.oldValue || "").toLowerCase() === "password") { + target2.setAttribute("data-rr-is-password", "true"); } - if (!ignoreAttribute(target.tagName, attributeName)) { - item3.attributes[attributeName] = transformAttribute(this.doc, toLowerCase(target.tagName), toLowerCase(attributeName), value4, target, this.maskAttributeFn); + if (!ignoreAttribute(target2.tagName, attributeName)) { + item3.attributes[attributeName] = transformAttribute(this.doc, toLowerCase(target2.tagName), toLowerCase(attributeName), value4, target2, this.maskAttributeFn); if (attributeName === "style") { if (!this.unattachedDoc) { try { @@ -20578,9 +21146,9 @@ class MutationBuffer { if (m2.oldValue) { old.setAttribute("style", m2.oldValue); } - for (const pname of Array.from(target.style)) { - const newValue2 = target.style.getPropertyValue(pname); - const newPriority = target.style.getPropertyPriority(pname); + for (const pname of Array.from(target2.style)) { + const newValue2 = target2.style.getPropertyValue(pname); + const newPriority = target2.style.getPropertyPriority(pname); if (newValue2 !== old.style.getPropertyValue(pname) || newPriority !== old.style.getPropertyPriority(pname)) { if (newPriority === "") { item3.styleDiff[pname] = newValue2; @@ -20592,7 +21160,7 @@ class MutationBuffer { } } for (const pname of Array.from(old.style)) { - if (target.style.getPropertyValue(pname) === "") { + if (target2.style.getPropertyValue(pname) === "") { item3.styleDiff[pname] = false; } } @@ -20631,7 +21199,7 @@ class MutationBuffer { } } }; - this.genAdds = (n2, target) => { + this.genAdds = (n2, target2) => { if (this.processedNodeManager.inOtherBuffer(n2, this)) return; if (this.addedSet.has(n2) || this.movedSet.has(n2)) @@ -20642,8 +21210,8 @@ class MutationBuffer { } this.movedSet.add(n2); let targetId = null; - if (target && this.mirror.hasNode(target)) { - targetId = this.mirror.getId(target); + if (target2 && this.mirror.hasNode(target2)) { + targetId = this.mirror.getId(target2); } if (targetId && targetId !== -1) { this.movedMap[moveKey(this.mirror.getId(n2), targetId)] = true; @@ -20762,8 +21330,8 @@ function _isAncestorInSet(set3, n2) { } __name(_isAncestorInSet, "_isAncestorInSet"); let errorHandler$1; -function registerErrorHandler$1(handler6) { - errorHandler$1 = handler6; +function registerErrorHandler$1(handler12) { + errorHandler$1 = handler12; } __name(registerErrorHandler$1, "registerErrorHandler$1"); function unregisterErrorHandler() { @@ -20870,7 +21438,7 @@ function initMoveObserver({ mousemoveCb, sampling, doc: doc2, mirror: mirror2 }) timeBaseline = null; }), callbackThreshold); const updatePosition = callbackWrapper$1(throttle$1(callbackWrapper$1((evt) => { - const target = getEventTarget(evt); + const target2 = getEventTarget(evt); const { clientX, clientY } = legacy_isTouchEvent(evt) ? evt.changedTouches[0] : evt; if (!timeBaseline) { timeBaseline = nowTimestamp(); @@ -20878,7 +21446,7 @@ function initMoveObserver({ mousemoveCb, sampling, doc: doc2, mirror: mirror2 }) positions.push({ x: clientX, y: clientY, - id: mirror2.getId(target), + id: mirror2.getId(target2), timeOffset: nowTimestamp() - timeBaseline }); wrappedCb(typeof DragEvent !== "undefined" && evt instanceof DragEvent ? IncrementalSource.Drag : evt instanceof MouseEvent ? IncrementalSource.MouseMove : IncrementalSource.TouchMove); @@ -20905,8 +21473,8 @@ function initMouseInteractionObserver({ mouseInteractionCb, doc: doc2, mirror: m let currentPointerType = null; const getHandler = /* @__PURE__ */ __name((eventKey) => { return (event) => { - const target = getEventTarget(event); - if (isBlocked$1(target, blockClass, blockSelector, unblockSelector, true)) { + const target2 = getEventTarget(event); + if (isBlocked$1(target2, blockClass, blockSelector, unblockSelector, true)) { return; } let pointerType = null; @@ -20946,7 +21514,7 @@ function initMouseInteractionObserver({ mouseInteractionCb, doc: doc2, mirror: m if (!e2) { return; } - const id3 = mirror2.getId(target); + const id3 = mirror2.getId(target2); const { clientX, clientY } = e2; callbackWrapper$1(mouseInteractionCb)({ type: MouseInteractions[thisEventKey], @@ -20959,7 +21527,7 @@ function initMouseInteractionObserver({ mouseInteractionCb, doc: doc2, mirror: m }, "getHandler"); Object.keys(MouseInteractions).filter((key) => Number.isNaN(Number(key)) && !key.endsWith("_Departed") && disableMap[key] !== false).forEach((eventKey) => { let eventName = toLowerCase(eventKey); - const handler6 = getHandler(eventKey); + const handler12 = getHandler(eventKey); if (window.PointerEvent) { switch (MouseInteractions[eventKey]) { case MouseInteractions.MouseDown: @@ -20971,7 +21539,7 @@ function initMouseInteractionObserver({ mouseInteractionCb, doc: doc2, mirror: m return; } } - handlers2.push(on(eventName, handler6, doc2)); + handlers2.push(on(eventName, handler12, doc2)); }); return callbackWrapper$1(() => { handlers2.forEach((h2) => h2()); @@ -20980,12 +21548,12 @@ function initMouseInteractionObserver({ mouseInteractionCb, doc: doc2, mirror: m __name(initMouseInteractionObserver, "initMouseInteractionObserver"); function initScrollObserver({ scrollCb, doc: doc2, mirror: mirror2, blockClass, blockSelector, unblockSelector, sampling }) { const updatePosition = callbackWrapper$1(throttle$1(callbackWrapper$1((evt) => { - const target = getEventTarget(evt); - if (!target || isBlocked$1(target, blockClass, blockSelector, unblockSelector, true)) { + const target2 = getEventTarget(evt); + if (!target2 || isBlocked$1(target2, blockClass, blockSelector, unblockSelector, true)) { return; } - const id3 = mirror2.getId(target); - if (target === doc2 && doc2.defaultView) { + const id3 = mirror2.getId(target2); + if (target2 === doc2 && doc2.defaultView) { const scrollLeftTop = getWindowScroll(doc2.defaultView); scrollCb({ id: id3, @@ -20995,8 +21563,8 @@ function initScrollObserver({ scrollCb, doc: doc2, mirror: mirror2, blockClass, } else { scrollCb({ id: id3, - x: target.scrollLeft, - y: target.scrollTop + x: target2.scrollLeft, + y: target2.scrollTop }); } }), sampling.scroll || 100)); @@ -21025,19 +21593,19 @@ const INPUT_TAGS = ["INPUT", "TEXTAREA", "SELECT"]; const lastInputValueMap = /* @__PURE__ */ new WeakMap(); function initInputObserver({ inputCb, doc: doc2, mirror: mirror2, blockClass, blockSelector, unblockSelector, ignoreClass, ignoreSelector, maskInputOptions, maskInputFn, sampling, userTriggeredOnInput, maskTextClass, unmaskTextClass, maskTextSelector, unmaskTextSelector }) { function eventHandler(event) { - let target = getEventTarget(event); + let target2 = getEventTarget(event); const userTriggered = event.isTrusted; - const tagName = target && toUpperCase(target.tagName); + const tagName = target2 && toUpperCase(target2.tagName); if (tagName === "OPTION") - target = target.parentElement; - if (!target || !tagName || INPUT_TAGS.indexOf(tagName) < 0 || isBlocked$1(target, blockClass, blockSelector, unblockSelector, true)) { + target2 = target2.parentElement; + if (!target2 || !tagName || INPUT_TAGS.indexOf(tagName) < 0 || isBlocked$1(target2, blockClass, blockSelector, unblockSelector, true)) { return; } - const el = target; + const el = target2; if (el.classList.contains(ignoreClass) || ignoreSelector && el.matches(ignoreSelector)) { return; } - const type = getInputType(target); + const type = getInputType(target2); let text2 = getInputValue(el, tagName, type); let isChecked2 = false; const isInputMasked = shouldMaskInput({ @@ -21045,21 +21613,21 @@ function initInputObserver({ inputCb, doc: doc2, mirror: mirror2, blockClass, bl tagName, type }); - const forceMask = needMaskingText(target, maskTextClass, maskTextSelector, unmaskTextClass, unmaskTextSelector, isInputMasked); + const forceMask = needMaskingText(target2, maskTextClass, maskTextSelector, unmaskTextClass, unmaskTextSelector, isInputMasked); if (type === "radio" || type === "checkbox") { - isChecked2 = target.checked; + isChecked2 = target2.checked; } text2 = maskInputValue({ isMasked: forceMask, - element: target, + element: target2, value: text2, maskInputFn }); - cbWithDedup(target, userTriggeredOnInput ? { text: text2, isChecked: isChecked2, userTriggered } : { text: text2, isChecked: isChecked2 }); - const name2 = target.name; + cbWithDedup(target2, userTriggeredOnInput ? { text: text2, isChecked: isChecked2, userTriggered } : { text: text2, isChecked: isChecked2 }); + const name2 = target2.name; if (type === "radio" && name2 && isChecked2) { doc2.querySelectorAll(`input[type="radio"][name="${name2}"]`).forEach((el2) => { - if (el2 !== target) { + if (el2 !== target2) { const text3 = maskInputValue({ isMasked: forceMask, element: el2, @@ -21072,11 +21640,11 @@ function initInputObserver({ inputCb, doc: doc2, mirror: mirror2, blockClass, bl } } __name(eventHandler, "eventHandler"); - function cbWithDedup(target, v2) { - const lastInputValue = lastInputValueMap.get(target); + function cbWithDedup(target2, v2) { + const lastInputValue = lastInputValueMap.get(target2); if (!lastInputValue || lastInputValue.text !== v2.text || lastInputValue.isChecked !== v2.isChecked) { - lastInputValueMap.set(target, v2); - const id3 = mirror2.getId(target); + lastInputValueMap.set(target2, v2); + const id3 = mirror2.getId(target2); callbackWrapper$1(inputCb)({ ...v2, id: id3 @@ -21155,7 +21723,7 @@ function initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetM } const insertRule = win.CSSStyleSheet.prototype.insertRule; win.CSSStyleSheet.prototype.insertRule = new Proxy(insertRule, { - apply: callbackWrapper$1((target, thisArg, argumentsList) => { + apply: callbackWrapper$1((target2, thisArg, argumentsList) => { const [rule, index2] = argumentsList; const { id: id3, styleId } = getIdAndStyleId(thisArg, mirror2, stylesheetManager.styleMirror); if (id3 && id3 !== -1 || styleId && styleId !== -1) { @@ -21165,12 +21733,12 @@ function initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetM adds: [{ rule, index: index2 }] }); } - return target.apply(thisArg, argumentsList); + return target2.apply(thisArg, argumentsList); }) }); const deleteRule = win.CSSStyleSheet.prototype.deleteRule; win.CSSStyleSheet.prototype.deleteRule = new Proxy(deleteRule, { - apply: callbackWrapper$1((target, thisArg, argumentsList) => { + apply: callbackWrapper$1((target2, thisArg, argumentsList) => { const [index2] = argumentsList; const { id: id3, styleId } = getIdAndStyleId(thisArg, mirror2, stylesheetManager.styleMirror); if (id3 && id3 !== -1 || styleId && styleId !== -1) { @@ -21180,14 +21748,14 @@ function initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetM removes: [{ index: index2 }] }); } - return target.apply(thisArg, argumentsList); + return target2.apply(thisArg, argumentsList); }) }); let replace2; if (win.CSSStyleSheet.prototype.replace) { replace2 = win.CSSStyleSheet.prototype.replace; win.CSSStyleSheet.prototype.replace = new Proxy(replace2, { - apply: callbackWrapper$1((target, thisArg, argumentsList) => { + apply: callbackWrapper$1((target2, thisArg, argumentsList) => { const [text2] = argumentsList; const { id: id3, styleId } = getIdAndStyleId(thisArg, mirror2, stylesheetManager.styleMirror); if (id3 && id3 !== -1 || styleId && styleId !== -1) { @@ -21197,7 +21765,7 @@ function initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetM replace: text2 }); } - return target.apply(thisArg, argumentsList); + return target2.apply(thisArg, argumentsList); }) }); } @@ -21205,7 +21773,7 @@ function initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetM if (win.CSSStyleSheet.prototype.replaceSync) { replaceSync = win.CSSStyleSheet.prototype.replaceSync; win.CSSStyleSheet.prototype.replaceSync = new Proxy(replaceSync, { - apply: callbackWrapper$1((target, thisArg, argumentsList) => { + apply: callbackWrapper$1((target2, thisArg, argumentsList) => { const [text2] = argumentsList; const { id: id3, styleId } = getIdAndStyleId(thisArg, mirror2, stylesheetManager.styleMirror); if (id3 && id3 !== -1 || styleId && styleId !== -1) { @@ -21215,7 +21783,7 @@ function initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetM replaceSync: text2 }); } - return target.apply(thisArg, argumentsList); + return target2.apply(thisArg, argumentsList); }) }); } @@ -21240,7 +21808,7 @@ function initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetM deleteRule: type.prototype.deleteRule }; type.prototype.insertRule = new Proxy(unmodifiedFunctions[typeKey].insertRule, { - apply: callbackWrapper$1((target, thisArg, argumentsList) => { + apply: callbackWrapper$1((target2, thisArg, argumentsList) => { const [rule, index2] = argumentsList; const { id: id3, styleId } = getIdAndStyleId(thisArg.parentStyleSheet, mirror2, stylesheetManager.styleMirror); if (id3 && id3 !== -1 || styleId && styleId !== -1) { @@ -21258,11 +21826,11 @@ function initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetM ] }); } - return target.apply(thisArg, argumentsList); + return target2.apply(thisArg, argumentsList); }) }); type.prototype.deleteRule = new Proxy(unmodifiedFunctions[typeKey].deleteRule, { - apply: callbackWrapper$1((target, thisArg, argumentsList) => { + apply: callbackWrapper$1((target2, thisArg, argumentsList) => { const [index2] = argumentsList; const { id: id3, styleId } = getIdAndStyleId(thisArg.parentStyleSheet, mirror2, stylesheetManager.styleMirror); if (id3 && id3 !== -1 || styleId && styleId !== -1) { @@ -21274,7 +21842,7 @@ function initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetM ] }); } - return target.apply(thisArg, argumentsList); + return target2.apply(thisArg, argumentsList); }) }); }); @@ -21331,7 +21899,7 @@ __name(initAdoptedStyleSheetObserver, "initAdoptedStyleSheetObserver"); function initStyleDeclarationObserver({ styleDeclarationCb, mirror: mirror2, ignoreCSSAttributes, stylesheetManager }, { win }) { const setProperty2 = win.CSSStyleDeclaration.prototype.setProperty; win.CSSStyleDeclaration.prototype.setProperty = new Proxy(setProperty2, { - apply: callbackWrapper$1((target, thisArg, argumentsList) => { + apply: callbackWrapper$1((target2, thisArg, argumentsList) => { const [property, value4, priority] = argumentsList; if (ignoreCSSAttributes.has(property)) { return setProperty2.apply(thisArg, [property, value4, priority]); @@ -21349,12 +21917,12 @@ function initStyleDeclarationObserver({ styleDeclarationCb, mirror: mirror2, ign index: getNestedCSSRulePositions(thisArg.parentRule) }); } - return target.apply(thisArg, argumentsList); + return target2.apply(thisArg, argumentsList); }) }); const removeProperty = win.CSSStyleDeclaration.prototype.removeProperty; win.CSSStyleDeclaration.prototype.removeProperty = new Proxy(removeProperty, { - apply: callbackWrapper$1((target, thisArg, argumentsList) => { + apply: callbackWrapper$1((target2, thisArg, argumentsList) => { const [property] = argumentsList; if (ignoreCSSAttributes.has(property)) { return removeProperty.apply(thisArg, [property]); @@ -21370,7 +21938,7 @@ function initStyleDeclarationObserver({ styleDeclarationCb, mirror: mirror2, ign index: getNestedCSSRulePositions(thisArg.parentRule) }); } - return target.apply(thisArg, argumentsList); + return target2.apply(thisArg, argumentsList); }) }); return callbackWrapper$1(() => { @@ -21380,15 +21948,15 @@ function initStyleDeclarationObserver({ styleDeclarationCb, mirror: mirror2, ign } __name(initStyleDeclarationObserver, "initStyleDeclarationObserver"); function initMediaInteractionObserver({ mediaInteractionCb, blockClass, blockSelector, unblockSelector, mirror: mirror2, sampling, doc: doc2 }) { - const handler6 = callbackWrapper$1((type) => throttle$1(callbackWrapper$1((event) => { - const target = getEventTarget(event); - if (!target || isBlocked$1(target, blockClass, blockSelector, unblockSelector, true)) { + const handler12 = callbackWrapper$1((type) => throttle$1(callbackWrapper$1((event) => { + const target2 = getEventTarget(event); + if (!target2 || isBlocked$1(target2, blockClass, blockSelector, unblockSelector, true)) { return; } - const { currentTime, volume, muted, playbackRate } = target; + const { currentTime, volume, muted, playbackRate } = target2; mediaInteractionCb({ type, - id: mirror2.getId(target), + id: mirror2.getId(target2), currentTime, volume, muted, @@ -21396,11 +21964,11 @@ function initMediaInteractionObserver({ mediaInteractionCb, blockClass, blockSel }); }), sampling.media || 500)); const handlers2 = [ - on("play", handler6(0), doc2), - on("pause", handler6(1), doc2), - on("seeked", handler6(2), doc2), - on("volumechange", handler6(3), doc2), - on("ratechange", handler6(4), doc2) + on("play", handler12(0), doc2), + on("pause", handler12(1), doc2), + on("seeked", handler12(2), doc2), + on("volumechange", handler12(3), doc2), + on("ratechange", handler12(4), doc2) ]; return callbackWrapper$1(() => { handlers2.forEach((h2) => h2()); @@ -21953,9 +22521,9 @@ class ShadowDomManager { })); } reset() { - this.restoreHandlers.forEach((handler6) => { + this.restoreHandlers.forEach((handler12) => { try { - handler6(); + handler12(); } catch (e2) { } }); @@ -22605,11 +23173,11 @@ function getClosestInteractive(element) { } __name(getClosestInteractive, "getClosestInteractive"); function getClickTargetNode(event) { - const target = getTargetNode(event); - if (!target || !(target instanceof Element)) { - return target; + const target2 = getTargetNode(event); + if (!target2 || !(target2 instanceof Element)) { + return target2; } - return getClosestInteractive(target); + return getClosestInteractive(target2); } __name(getClickTargetNode, "getClickTargetNode"); function getTargetNode(event) { @@ -22643,7 +23211,7 @@ function monkeyPatchWindowOpen() { return function(...args) { if (handlers$2) { try { - handlers$2.forEach((handler6) => handler6()); + handlers$2.forEach((handler12) => handler12()); } catch (e2) { } } @@ -22950,8 +23518,8 @@ const handleDomListener = /* @__PURE__ */ __name((replay) => { addBreadcrumbEvent(replay, result); }; }, "handleDomListener"); -function getBaseDomBreadcrumb(target, message3) { - const nodeId = record.mirror.getId(target); +function getBaseDomBreadcrumb(target2, message3) { + const nodeId = record.mirror.getId(target2); const node3 = nodeId && record.mirror.getNode(nodeId); const meta = node3 && record.mirror.getMeta(node3); const element = meta && isElement$2(meta) ? meta : null; @@ -22970,24 +23538,24 @@ function getBaseDomBreadcrumb(target, message3) { } __name(getBaseDomBreadcrumb, "getBaseDomBreadcrumb"); function handleDom(handlerData) { - const { target, message: message3 } = getDomTarget(handlerData); + const { target: target2, message: message3 } = getDomTarget(handlerData); return createBreadcrumb({ category: `ui.${handlerData.name}`, - ...getBaseDomBreadcrumb(target, message3) + ...getBaseDomBreadcrumb(target2, message3) }); } __name(handleDom, "handleDom"); function getDomTarget(handlerData) { const isClick = handlerData.name === "click"; let message3; - let target = null; + let target2 = null; try { - target = isClick ? getClickTargetNode(handlerData.event) : getTargetNode(handlerData.event); - message3 = htmlTreeAsString(target, { maxStringLength: 200 }) || ""; + target2 = isClick ? getClickTargetNode(handlerData.event) : getTargetNode(handlerData.event); + message3 = htmlTreeAsString(target2, { maxStringLength: 200 }) || ""; } catch (e2) { message3 = ""; } - return { target, message: message3 }; + return { target: target2, message: message3 }; } __name(getDomTarget, "getDomTarget"); function isElement$2(node3) { @@ -23007,8 +23575,8 @@ function handleKeyboardEvent(replay, event) { } __name(handleKeyboardEvent, "handleKeyboardEvent"); function getKeyboardBreadcrumb(event) { - const { metaKey, shiftKey, ctrlKey, altKey, key, target } = event; - if (!target || isInputElement(target) || !key) { + const { metaKey, shiftKey, ctrlKey, altKey, key, target: target2 } = event; + if (!target2 || isInputElement(target2) || !key) { return null; } const hasModifierKey = metaKey || ctrlKey || altKey; @@ -23016,8 +23584,8 @@ function getKeyboardBreadcrumb(event) { if (!hasModifierKey && isCharacterKey) { return null; } - const message3 = htmlTreeAsString(target, { maxStringLength: 200 }) || ""; - const baseBreadcrumb = getBaseDomBreadcrumb(target, message3); + const message3 = htmlTreeAsString(target2, { maxStringLength: 200 }) || ""; + const baseBreadcrumb = getBaseDomBreadcrumb(target2, message3); return createBreadcrumb({ category: "ui.keyDown", message: message3, @@ -23032,8 +23600,8 @@ function getKeyboardBreadcrumb(event) { }); } __name(getKeyboardBreadcrumb, "getKeyboardBreadcrumb"); -function isInputElement(target) { - return target.tagName === "INPUT" || target.tagName === "TEXTAREA" || target.isContentEditable; +function isInputElement(target2) { + return target2.tagName === "INPUT" || target2.tagName === "TEXTAREA" || target2.isContentEditable; } __name(isInputElement, "isInputElement"); const ENTRY_TYPES = { @@ -23387,8 +23955,8 @@ class WorkerHandler { this._ensureReadyPromise = new Promise((resolve2, reject3) => { this._worker.addEventListener( "message", - ({ data: data25 }) => { - if (data25.success) { + ({ data: data26 }) => { + if (data26.success) { resolve2(); } else { reject3(); @@ -23419,8 +23987,8 @@ class WorkerHandler { postMessage(method, arg) { const id3 = this._getAndIncrementId(); return new Promise((resolve2, reject3) => { - const listener = /* @__PURE__ */ __name(({ data: data25 }) => { - const response = data25; + const listener = /* @__PURE__ */ __name(({ data: data26 }) => { + const response = data26; if (response.method !== method) { return; } @@ -23488,12 +24056,12 @@ class EventBufferCompressionWorker { if (!this._earliestTimestamp || timestamp2 < this._earliestTimestamp) { this._earliestTimestamp = timestamp2; } - const data25 = JSON.stringify(event); - this._totalSize += data25.length; + const data26 = JSON.stringify(event); + this._totalSize += data26.length; if (this._totalSize > REPLAY_MAX_EVENT_BUFFER_SIZE) { return Promise.reject(new EventBufferSizeExceededError()); } - return this._sendEventToWorker(data25); + return this._sendEventToWorker(data26); } /** * Finish the event buffer and return the compressed data. @@ -23517,8 +24085,8 @@ class EventBufferCompressionWorker { /** * Send the event to the worker. */ - _sendEventToWorker(data25) { - return this._worker.postMessage("addEvent", data25); + _sendEventToWorker(data26) { + return this._worker.postMessage("addEvent", data26); } /** * Finish the request and return the compressed data from the worker. @@ -24160,7 +24728,7 @@ function handleGlobalEventListener(replay) { } __name(handleGlobalEventListener, "handleGlobalEventListener"); function createPerformanceSpans(replay, entries) { - return entries.map(({ type, start: start2, end, name: name2, data: data25 }) => { + return entries.map(({ type, start: start2, end, name: name2, data: data26 }) => { const response = replay.throttledAddEvent({ type: EventType.Custom, timestamp: start2, @@ -24171,7 +24739,7 @@ function createPerformanceSpans(replay, entries) { description: name2, startTimestamp: start2, endTimestamp: end, - data: data25 + data: data26 } } }); @@ -24265,8 +24833,8 @@ function parseContentLengthHeader(header3) { if (!header3) { return void 0; } - const size2 = parseInt(header3, 10); - return isNaN(size2) ? void 0 : size2; + const size = parseInt(header3, 10); + return isNaN(size) ? void 0 : size; } __name(parseContentLengthHeader, "parseContentLengthHeader"); function getBodyString(body) { @@ -24308,11 +24876,11 @@ function mergeWarning(info, warning) { return info; } __name(mergeWarning, "mergeWarning"); -function makeNetworkReplayBreadcrumb(type, data25) { - if (!data25) { +function makeNetworkReplayBreadcrumb(type, data26) { + if (!data26) { return null; } - const { startTimestamp, endTimestamp, url, method, statusCode, request, response } = data25; + const { startTimestamp, endTimestamp, url, method, statusCode, request, response } = data26; const result = { type, start: startTimestamp / 1e3, @@ -24444,8 +25012,8 @@ function getFullUrl(url, baseURI = WINDOW$1.document.baseURI) { __name(getFullUrl, "getFullUrl"); async function captureFetchBreadcrumbToReplay(breadcrumb, hint, options4) { try { - const data25 = await _prepareFetchData(breadcrumb, hint, options4); - const result = makeNetworkReplayBreadcrumb("resource.fetch", data25); + const data26 = await _prepareFetchData(breadcrumb, hint, options4); + const result = makeNetworkReplayBreadcrumb("resource.fetch", data26); addNetworkBreadcrumb(options4.replay, result); } catch (error2) { DEBUG_BUILD$2 && logger$1.exception(error2, "Failed to capture fetch breadcrumb"); @@ -24496,11 +25064,11 @@ function _getRequestInfo({ networkCaptureBodies, networkRequestHeaders }, input, } const requestBody = _getFetchRequestArgBody(input); const [bodyStr, warning] = getBodyString(requestBody); - const data25 = buildNetworkRequestOrResponse(headers, requestBodySize, bodyStr); + const data26 = buildNetworkRequestOrResponse(headers, requestBodySize, bodyStr); if (warning) { - return mergeWarning(data25, warning); + return mergeWarning(data26, warning); } - return data25; + return data26; } __name(_getRequestInfo, "_getRequestInfo"); async function _getResponseInfo(captureDetails, { @@ -24534,14 +25102,14 @@ function getResponseData(bodyText, { headers }) { try { - const size2 = bodyText && bodyText.length && responseBodySize === void 0 ? getBodySize(bodyText) : responseBodySize; + const size = bodyText && bodyText.length && responseBodySize === void 0 ? getBodySize(bodyText) : responseBodySize; if (!captureDetails) { - return buildSkippedNetworkRequestOrResponse(size2); + return buildSkippedNetworkRequestOrResponse(size); } if (networkCaptureBodies) { - return buildNetworkRequestOrResponse(headers, size2, bodyText); + return buildNetworkRequestOrResponse(headers, size, bodyText); } - return buildNetworkRequestOrResponse(headers, size2, void 0); + return buildNetworkRequestOrResponse(headers, size, void 0); } catch (error2) { DEBUG_BUILD$2 && logger$1.exception(error2, "Failed to serialize response body"); return buildNetworkRequestOrResponse(headers, responseBodySize, void 0); @@ -24634,8 +25202,8 @@ async function _getResponseText(response) { __name(_getResponseText, "_getResponseText"); async function captureXhrBreadcrumbToReplay(breadcrumb, hint, options4) { try { - const data25 = _prepareXhrData(breadcrumb, hint, options4); - const result = makeNetworkReplayBreadcrumb("resource.xhr", data25); + const data26 = _prepareXhrData(breadcrumb, hint, options4); + const result = makeNetworkReplayBreadcrumb("resource.xhr", data26); addNetworkBreadcrumb(options4.replay, result); } catch (error2) { DEBUG_BUILD$2 && logger$1.exception(error2, "Failed to capture xhr breadcrumb"); @@ -26545,17 +27113,17 @@ let _mirror = { }; if (typeof window !== "undefined" && window.Proxy && window.Reflect) { _mirror = new Proxy(_mirror, { - get(target, prop2, receiver) { + get(target2, prop2, receiver) { if (prop2 === "map") { console.error(DEPARTED_MIRROR_ACCESS_WARNING); } - return Reflect.get(target, prop2, receiver); + return Reflect.get(target2, prop2, receiver); } }); } -function hookSetter(target, key, d2, isRevoked, win = window) { - const original = win.Object.getOwnPropertyDescriptor(target, key); - win.Object.defineProperty(target, key, isRevoked ? d2 : { +function hookSetter(target2, key, d2, isRevoked, win = window) { + const original = win.Object.getOwnPropertyDescriptor(target2, key); + win.Object.defineProperty(target2, key, isRevoked ? d2 : { set(value4) { setTimeout$1(() => { d2.set.call(this, value4); @@ -26565,7 +27133,7 @@ function hookSetter(target, key, d2, isRevoked, win = window) { } } }); - return () => hookSetter(target, key, original || {}, true); + return () => hookSetter(target2, key, original || {}, true); } __name(hookSetter, "hookSetter"); function patch$1(source, name2, replacement) { @@ -26666,8 +27234,8 @@ var CanvasContext = /* @__PURE__ */ ((CanvasContext2) => { return CanvasContext2; })(CanvasContext || {}); let errorHandler; -function registerErrorHandler(handler6) { - errorHandler = handler6; +function registerErrorHandler(handler12) { + errorHandler = handler12; } __name(registerErrorHandler, "registerErrorHandler"); const callbackWrapper = /* @__PURE__ */ __name((cb) => { @@ -26965,9 +27533,9 @@ class CanvasManager { } reset() { this.pendingCanvasMutations.clear(); - this.restoreHandlers.forEach((handler6) => { + this.restoreHandlers.forEach((handler12) => { try { - handler6(); + handler12(); } catch (e2) { } }); @@ -27002,14 +27570,14 @@ class CanvasManager { this.locked = false; this.snapshotInProgressMap = /* @__PURE__ */ new Map(); this.worker = null; - this.processMutation = (target, mutation) => { + this.processMutation = (target2, mutation) => { const newFrame = this.rafStamps.invokeId && this.rafStamps.latestId !== this.rafStamps.invokeId; if (newFrame || !this.rafStamps.invokeId) this.rafStamps.invokeId = this.rafStamps.latestId; - if (!this.pendingCanvasMutations.has(target)) { - this.pendingCanvasMutations.set(target, []); + if (!this.pendingCanvasMutations.has(target2)) { + this.pendingCanvasMutations.set(target2, []); } - this.pendingCanvasMutations.get(target).push(mutation); + this.pendingCanvasMutations.get(target2).push(mutation); }; const { sampling = "all", win, blockClass, blockSelector, unblockSelector, maxCanvasSize, recordCanvas, dataURLOptions, errorHandler: errorHandler2 } = options4; this.mutationCb = options4.mutationCb; @@ -27069,12 +27637,12 @@ class CanvasManager { initFPSWorker() { const worker = new Worker(t$2()); worker.onmessage = (e2) => { - const data25 = e2.data; - const { id: id3 } = data25; + const data26 = e2.data; + const { id: id3 } = data26; this.snapshotInProgressMap.set(id3, false); - if (!("base64" in data25)) + if (!("base64" in data26)) return; - const { base64, type, width: width2, height } = data25; + const { base64, type, width: width2, height } = data26; this.mutationCb({ id: id3, type: CanvasContext["2D"], @@ -27139,8 +27707,8 @@ class CanvasManager { return [canvasElement2]; } const matchedCanvas = []; - const searchCanvas = /* @__PURE__ */ __name((root27) => { - root27.querySelectorAll("canvas").forEach((canvas) => { + const searchCanvas = /* @__PURE__ */ __name((root29) => { + root29.querySelectorAll("canvas").forEach((canvas) => { if (!isBlocked(canvas, blockClass, blockSelector, unblockSelector)) { matchedCanvas.push(canvas); } @@ -27416,9 +27984,9 @@ function mergeOptions$2(defaultOptions2, optionOverrides) { optionOverrides.onFormClose && optionOverrides.onFormClose(); defaultOptions2.onFormClose && defaultOptions2.onFormClose(); }, "onFormClose"), - onSubmitSuccess: /* @__PURE__ */ __name((data25) => { - optionOverrides.onSubmitSuccess && optionOverrides.onSubmitSuccess(data25); - defaultOptions2.onSubmitSuccess && defaultOptions2.onSubmitSuccess(data25); + onSubmitSuccess: /* @__PURE__ */ __name((data26) => { + optionOverrides.onSubmitSuccess && optionOverrides.onSubmitSuccess(data26); + defaultOptions2.onSubmitSuccess && defaultOptions2.onSubmitSuccess(data26); }, "onSubmitSuccess"), onSubmitError: /* @__PURE__ */ __name((error2) => { optionOverrides.onSubmitError && optionOverrides.onSubmitError(error2); @@ -27597,18 +28165,18 @@ const DEFAULT_DARK = { outline: "1px auto var(--accent-background)", interactiveFilter: "brightness(150%)" }; -function getThemedCssVariables(theme42) { +function getThemedCssVariables(theme43) { return ` - --foreground: ${theme42.foreground}; - --background: ${theme42.background}; - --accent-foreground: ${theme42.accentForeground}; - --accent-background: ${theme42.accentBackground}; - --success-color: ${theme42.successColor}; - --error-color: ${theme42.errorColor}; - --border: ${theme42.border}; - --box-shadow: ${theme42.boxShadow}; - --outline: ${theme42.outline}; - --interactive-filter: ${theme42.interactiveFilter}; + --foreground: ${theme43.foreground}; + --background: ${theme43.background}; + --accent-foreground: ${theme43.accentForeground}; + --accent-background: ${theme43.accentBackground}; + --success-color: ${theme43.successColor}; + --error-color: ${theme43.errorColor}; + --border: ${theme43.border}; + --box-shadow: ${theme43.boxShadow}; + --outline: ${theme43.outline}; + --interactive-filter: ${theme43.interactiveFilter}; `; } __name(getThemedCssVariables, "getThemedCssVariables"); @@ -28455,8 +29023,8 @@ function Form({ setShowScreenshotInput(false); }, []); const hasAllRequiredFields = x( - (data25) => { - const missingFields = getMissingFields(data25, { + (data26) => { + const missingFields = getMissingFields(data26, { emailLabel, isEmailRequired, isNameRequired, @@ -28481,27 +29049,27 @@ function Form({ } const formData = new FormData(e2.target); const attachment = await (screenshotInput && showScreenshotInput ? screenshotInput.value() : void 0); - const data25 = { + const data26 = { name: retrieveStringValue(formData, "name"), email: retrieveStringValue(formData, "email"), message: retrieveStringValue(formData, "message"), attachments: attachment ? [attachment] : void 0 }; - if (!hasAllRequiredFields(data25)) { + if (!hasAllRequiredFields(data26)) { return; } try { await onSubmit( { - name: data25.name, - email: data25.email, - message: data25.message, + name: data26.name, + email: data26.email, + message: data26.message, source: FEEDBACK_WIDGET_SOURCE, tags }, - { attachments: data25.attachments } + { attachments: data26.attachments } ); - onSubmitSuccess(data25); + onSubmitSuccess(data26); } catch (error3) { DEBUG_BUILD$1 && logger$2.error(error3); setError(error3); @@ -28674,8 +29242,8 @@ function Dialog({ open: open2, onFormSubmitted, ...props }) { onFormSubmitted(); }, [timeoutId]); const onSubmitSuccess = x( - (data25) => { - props.onSubmitSuccess(data25); + (data26) => { + props.onSubmitSuccess(data26); setTimeoutId( setTimeout(() => { onFormSubmitted(); @@ -29086,9 +29654,9 @@ const feedbackModalIntegration = /* @__PURE__ */ __name(() => { options4.onFormClose && options4.onFormClose(); }, "onFormClose"), onSubmit: sendFeedback2, - onSubmitSuccess: /* @__PURE__ */ __name((data25) => { + onSubmitSuccess: /* @__PURE__ */ __name((data26) => { renderContent(false); - options4.onSubmitSuccess && options4.onSubmitSuccess(data25); + options4.onSubmitSuccess && options4.onSubmitSuccess(data26); }, "onSubmitSuccess"), onSubmitError: /* @__PURE__ */ __name((error2) => { options4.onSubmitError && options4.onSubmitError(error2); @@ -29623,9 +30191,9 @@ const feedbackScreenshotIntegration = /* @__PURE__ */ __name(() => { imageBuffer.toBlob(resolve2, "image/png"); }); if (blob) { - const data25 = new Uint8Array(await blob.arrayBuffer()); + const data26 = new Uint8Array(await blob.arrayBuffer()); const attachment = { - data: data25, + data: data26, filename: "screenshot.png", contentType: "application/png" // attachmentType?: string; @@ -29645,30 +30213,30 @@ const feedbackSyncIntegration = buildFeedbackIntegration({ getModalIntegration: /* @__PURE__ */ __name(() => feedbackModalIntegration, "getModalIntegration"), getScreenshotIntegration: /* @__PURE__ */ __name(() => feedbackScreenshotIntegration, "getScreenshotIntegration") }); -function increment(name2, value4 = 1, data25) { - metrics$1.increment(BrowserMetricsAggregator, name2, value4, data25); +function increment(name2, value4 = 1, data26) { + metrics$1.increment(BrowserMetricsAggregator, name2, value4, data26); } __name(increment, "increment"); -function distribution(name2, value4, data25) { - metrics$1.distribution(BrowserMetricsAggregator, name2, value4, data25); +function distribution(name2, value4, data26) { + metrics$1.distribution(BrowserMetricsAggregator, name2, value4, data26); } __name(distribution, "distribution"); -function set$5(name2, value4, data25) { - metrics$1.set(BrowserMetricsAggregator, name2, value4, data25); +function set$4(name2, value4, data26) { + metrics$1.set(BrowserMetricsAggregator, name2, value4, data26); } -__name(set$5, "set$5"); -function gauge(name2, value4, data25) { - metrics$1.gauge(BrowserMetricsAggregator, name2, value4, data25); +__name(set$4, "set$4"); +function gauge(name2, value4, data26) { + metrics$1.gauge(BrowserMetricsAggregator, name2, value4, data26); } __name(gauge, "gauge"); -function timing(name2, value4, unit = "second", data25) { - return metrics$1.timing(BrowserMetricsAggregator, name2, value4, unit, data25); +function timing(name2, value4, unit = "second", data26) { + return metrics$1.timing(BrowserMetricsAggregator, name2, value4, unit, data26); } __name(timing, "timing"); const metrics = { increment, distribution, - set: set$5, + set: set$4, gauge, timing }; @@ -29763,7 +30331,7 @@ function addHTTPTimings(span) { entries.forEach((entry) => { if (isPerformanceResourceTiming(entry) && entry.name.endsWith(url)) { const spanData = resourceTimingEntryToSpanData(entry); - spanData.forEach((data25) => span.setAttribute(...data25)); + spanData.forEach((data26) => span.setAttribute(...data26)); setTimeout(cleanup); } }); @@ -30307,8 +30875,8 @@ let OS_ARCH = ""; let OS_BROWSER = WINDOW$5.navigator && WINDOW$5.navigator.userAgent || ""; let OS_MODEL = ""; const OS_LOCALE = WINDOW$5.navigator && WINDOW$5.navigator.language || WINDOW$5.navigator && WINDOW$5.navigator.languages && WINDOW$5.navigator.languages[0] || ""; -function isUserAgentData(data25) { - return typeof data25 === "object" && data25 !== null && "getHighEntropyValues" in data25; +function isUserAgentData(data26) { + return typeof data26 === "object" && data26 !== null && "getHighEntropyValues" in data26; } __name(isUserAgentData, "isUserAgentData"); const userAgentData = WINDOW$5.navigator && WINDOW$5.navigator.userAgentData; @@ -31359,15 +31927,16 @@ const createSentryPiniaPlugin = /* @__PURE__ */ __name((options4 = { return plugin; }, "createSentryPiniaPlugin"); /** -* @vue/shared v3.4.31 +* @vue/shared v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ /*! #__NO_SIDE_EFFECTS__ */ // @__NO_SIDE_EFFECTS__ -function makeMap(str, expectsLowerCase) { - const set3 = new Set(str.split(",")); - return expectsLowerCase ? (val) => set3.has(val.toLowerCase()) : (val) => set3.has(val); +function makeMap(str) { + const map3 = /* @__PURE__ */ Object.create(null); + for (const key of str.split(",")) map3[key] = 1; + return (val) => val in map3; } __name(makeMap, "makeMap"); const EMPTY_OBJ = false ? Object.freeze({}) : {}; @@ -31379,25 +31948,25 @@ const isOn = /* @__PURE__ */ __name((key) => key.charCodeAt(0) === 111 && key.ch (key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97), "isOn"); const isModelListener = /* @__PURE__ */ __name((key) => key.startsWith("onUpdate:"), "isModelListener"); const extend$1 = Object.assign; -const remove$1 = /* @__PURE__ */ __name((arr, el) => { +const remove$2 = /* @__PURE__ */ __name((arr, el) => { const i2 = arr.indexOf(el); if (i2 > -1) { arr.splice(i2, 1); } -}, "remove$1"); +}, "remove$2"); const hasOwnProperty$d = Object.prototype.hasOwnProperty; const hasOwn$3 = /* @__PURE__ */ __name((val, key) => hasOwnProperty$d.call(val, key), "hasOwn$3"); -const isArray$9 = Array.isArray; +const isArray$b = Array.isArray; const isMap$3 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Map]", "isMap$3"); const isSet$3 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Set]", "isSet$3"); -const isDate$2 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Date]", "isDate$2"); +const isDate$4 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Date]", "isDate$4"); const isRegExp$4 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object RegExp]", "isRegExp$4"); -const isFunction$8 = /* @__PURE__ */ __name((val) => typeof val === "function", "isFunction$8"); -const isString$7 = /* @__PURE__ */ __name((val) => typeof val === "string", "isString$7"); +const isFunction$c = /* @__PURE__ */ __name((val) => typeof val === "function", "isFunction$c"); +const isString$9 = /* @__PURE__ */ __name((val) => typeof val === "string", "isString$9"); const isSymbol$1 = /* @__PURE__ */ __name((val) => typeof val === "symbol", "isSymbol$1"); -const isObject$d = /* @__PURE__ */ __name((val) => val !== null && typeof val === "object", "isObject$d"); +const isObject$f = /* @__PURE__ */ __name((val) => val !== null && typeof val === "object", "isObject$f"); const isPromise$1 = /* @__PURE__ */ __name((val) => { - return (isObject$d(val) || isFunction$8(val)) && isFunction$8(val.then) && isFunction$8(val.catch); + return (isObject$f(val) || isFunction$c(val)) && isFunction$c(val.then) && isFunction$c(val.catch); }, "isPromise$1"); const objectToString$3 = Object.prototype.toString; const toTypeString$1 = /* @__PURE__ */ __name((value4) => objectToString$3.call(value4), "toTypeString$1"); @@ -31405,7 +31974,7 @@ const toRawType = /* @__PURE__ */ __name((value4) => { return toTypeString$1(value4).slice(8, -1); }, "toRawType"); const isPlainObject$4 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Object]", "isPlainObject$4"); -const isIntegerKey = /* @__PURE__ */ __name((key) => isString$7(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key, "isIntegerKey"); +const isIntegerKey = /* @__PURE__ */ __name((key) => isString$9(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key, "isIntegerKey"); const isReservedProp = /* @__PURE__ */ makeMap( // the leading comma is intentional so empty string "" is also included ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" @@ -31421,9 +31990,11 @@ const cacheStringFunction$1 = /* @__PURE__ */ __name((fn) => { }; }, "cacheStringFunction$1"); const camelizeRE$1 = /-(\w)/g; -const camelize$1 = cacheStringFunction$1((str) => { - return str.replace(camelizeRE$1, (_2, c2) => c2 ? c2.toUpperCase() : ""); -}); +const camelize$1 = cacheStringFunction$1( + (str) => { + return str.replace(camelizeRE$1, (_2, c2) => c2 ? c2.toUpperCase() : ""); + } +); const hyphenateRE$1 = /\B([A-Z])/g; const hyphenate$1 = cacheStringFunction$1( (str) => str.replace(hyphenateRE$1, "-$1").toLowerCase() @@ -31431,10 +32002,12 @@ const hyphenate$1 = cacheStringFunction$1( const capitalize$1 = cacheStringFunction$1((str) => { return str.charAt(0).toUpperCase() + str.slice(1); }); -const toHandlerKey = cacheStringFunction$1((str) => { - const s2 = str ? `on${capitalize$1(str)}` : ``; - return s2; -}); +const toHandlerKey = cacheStringFunction$1( + (str) => { + const s2 = str ? `on${capitalize$1(str)}` : ``; + return s2; + } +); const hasChanged = /* @__PURE__ */ __name((value4, oldValue2) => !Object.is(value4, oldValue2), "hasChanged"); const invokeArrayFns = /* @__PURE__ */ __name((fns, ...arg) => { for (let i2 = 0; i2 < fns.length; i2++) { @@ -31454,7 +32027,7 @@ const looseToNumber = /* @__PURE__ */ __name((val) => { return isNaN(n2) ? val : n2; }, "looseToNumber"); const toNumber = /* @__PURE__ */ __name((val) => { - const n2 = isString$7(val) ? Number(val) : NaN; + const n2 = isString$9(val) ? Number(val) : NaN; return isNaN(n2) ? val : n2; }, "toNumber"); let _globalThis$1; @@ -31466,6 +32039,13 @@ function genPropsAccessExp(name2) { return identRE.test(name2) ? `__props.${name2}` : `__props[${JSON.stringify(name2)}]`; } __name(genPropsAccessExp, "genPropsAccessExp"); +function genCacheKey(source, options4) { + return source + JSON.stringify( + options4, + (_2, val) => typeof val === "function" ? val.toString() : val + ); +} +__name(genCacheKey, "genCacheKey"); const PatchFlags = { "TEXT": 1, "1": "TEXT", @@ -31491,8 +32071,8 @@ const PatchFlags = { "1024": "DYNAMIC_SLOTS", "DEV_ROOT_FRAGMENT": 2048, "2048": "DEV_ROOT_FRAGMENT", - "HOISTED": -1, - "-1": "HOISTED", + "CACHED": -1, + "-1": "CACHED", "BAIL": -2, "-2": "BAIL" }; @@ -31549,7 +32129,7 @@ const slotFlagsText = { [2]: "DYNAMIC", [3]: "FORWARDED" }; -const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error"; +const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol"; const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED); const isGloballyWhitelisted = isGloballyAllowed; const range = 2; @@ -31595,11 +32175,11 @@ function generateCodeFrame$1(source, start2 = 0, end = source.length) { } __name(generateCodeFrame$1, "generateCodeFrame$1"); function normalizeStyle(value4) { - if (isArray$9(value4)) { + if (isArray$b(value4)) { const res = {}; for (let i2 = 0; i2 < value4.length; i2++) { const item3 = value4[i2]; - const normalized = isString$7(item3) ? parseStringStyle(item3) : normalizeStyle(item3); + const normalized = isString$9(item3) ? parseStringStyle(item3) : normalizeStyle(item3); if (normalized) { for (const key in normalized) { res[key] = normalized[key]; @@ -31607,7 +32187,7 @@ function normalizeStyle(value4) { } } return res; - } else if (isString$7(value4) || isObject$d(value4)) { + } else if (isString$9(value4) || isObject$f(value4)) { return value4; } } @@ -31627,13 +32207,12 @@ function parseStringStyle(cssText) { } __name(parseStringStyle, "parseStringStyle"); function stringifyStyle(styles) { + if (!styles) return ""; + if (isString$9(styles)) return styles; let ret = ""; - if (!styles || isString$7(styles)) { - return ret; - } for (const key in styles) { const value4 = styles[key]; - if (isString$7(value4) || typeof value4 === "number") { + if (isString$9(value4) || typeof value4 === "number") { const normalizedKey = key.startsWith(`--`) ? key : hyphenate$1(key); ret += `${normalizedKey}:${value4};`; } @@ -31643,16 +32222,16 @@ function stringifyStyle(styles) { __name(stringifyStyle, "stringifyStyle"); function normalizeClass(value4) { let res = ""; - if (isString$7(value4)) { + if (isString$9(value4)) { res = value4; - } else if (isArray$9(value4)) { + } else if (isArray$b(value4)) { for (let i2 = 0; i2 < value4.length; i2++) { const normalized = normalizeClass(value4[i2]); if (normalized) { res += normalized + " "; } } - } else if (isObject$d(value4)) { + } else if (isObject$f(value4)) { for (const name2 in value4) { if (value4[name2]) { res += name2 + " "; @@ -31665,7 +32244,7 @@ __name(normalizeClass, "normalizeClass"); function normalizeProps(props) { if (!props) return null; let { class: klass, style: style2 } = props; - if (klass && !isString$7(klass)) { + if (klass && !isString$9(klass)) { props.class = normalizeClass(klass); } if (style2) { @@ -31716,6 +32295,9 @@ const isKnownHtmlAttr = /* @__PURE__ */ makeMap( const isKnownSvgAttr = /* @__PURE__ */ makeMap( `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` ); +const isKnownMathMLAttr = /* @__PURE__ */ makeMap( + `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns` +); function isRenderableAttrValue(value4) { if (value4 == null) { return false; @@ -31769,6 +32351,14 @@ function escapeHtmlComment(src) { return src.replace(commentStripRE, ""); } __name(escapeHtmlComment, "escapeHtmlComment"); +const cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g; +function getEscapedCssVarName(key, doubleEscape) { + return key.replace( + cssVarNameEscapeSymbolsRE, + (s2) => doubleEscape ? s2 === '"' ? '\\\\\\"' : `\\\\${s2}` : `\\${s2}` + ); +} +__name(getEscapedCssVarName, "getEscapedCssVarName"); function looseCompareArrays(a2, b2) { if (a2.length !== b2.length) return false; let equal = true; @@ -31780,8 +32370,8 @@ function looseCompareArrays(a2, b2) { __name(looseCompareArrays, "looseCompareArrays"); function looseEqual(a2, b2) { if (a2 === b2) return true; - let aValidType = isDate$2(a2); - let bValidType = isDate$2(b2); + let aValidType = isDate$4(a2); + let bValidType = isDate$4(b2); if (aValidType || bValidType) { return aValidType && bValidType ? a2.getTime() === b2.getTime() : false; } @@ -31790,13 +32380,13 @@ function looseEqual(a2, b2) { if (aValidType || bValidType) { return a2 === b2; } - aValidType = isArray$9(a2); - bValidType = isArray$9(b2); + aValidType = isArray$b(a2); + bValidType = isArray$b(b2); if (aValidType || bValidType) { return aValidType && bValidType ? looseCompareArrays(a2, b2) : false; } - aValidType = isObject$d(a2); - bValidType = isObject$d(b2); + aValidType = isObject$f(a2); + bValidType = isObject$f(b2); if (aValidType || bValidType) { if (!aValidType || !bValidType) { return false; @@ -31822,10 +32412,10 @@ function looseIndexOf(arr, val) { } __name(looseIndexOf, "looseIndexOf"); const isRef$1 = /* @__PURE__ */ __name((val) => { - return !!(val && val.__v_isRef === true); + return !!(val && val["__v_isRef"] === true); }, "isRef$1"); const toDisplayString$1 = /* @__PURE__ */ __name((val) => { - return isString$7(val) ? val : val == null ? "" : isArray$9(val) || isObject$d(val) && (val.toString === objectToString$3 || !isFunction$8(val.toString)) ? isRef$1(val) ? toDisplayString$1(val.value) : JSON.stringify(val, replacer, 2) : String(val); + return isString$9(val) ? val : val == null ? "" : isArray$b(val) || isObject$f(val) && (val.toString === objectToString$3 || !isFunction$c(val.toString)) ? isRef$1(val) ? toDisplayString$1(val.value) : JSON.stringify(val, replacer, 2) : String(val); }, "toDisplayString$1"); const replacer = /* @__PURE__ */ __name((_key, val) => { if (isRef$1(val)) { @@ -31846,7 +32436,7 @@ const replacer = /* @__PURE__ */ __name((_key, val) => { }; } else if (isSymbol$1(val)) { return stringifySymbol(val); - } else if (isObject$d(val) && !isArray$9(val) && !isPlainObject$4(val)) { + } else if (isObject$f(val) && !isArray$b(val) && !isPlainObject$4(val)) { return String(val); } return val; @@ -31860,7 +32450,7 @@ const stringifySymbol = /* @__PURE__ */ __name((v2, i2 = "") => { ); }, "stringifySymbol"); /** -* @vue/reactivity v3.4.31 +* @vue/reactivity v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ @@ -31878,6 +32468,7 @@ class EffectScope { this._active = true; this.effects = []; this.cleanups = []; + this._isPaused = false; this.parent = activeEffectScope; if (!detached && activeEffectScope) { this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( @@ -31888,6 +32479,39 @@ class EffectScope { get active() { return this._active; } + pause() { + if (this._active) { + this._isPaused = true; + let i2, l2; + if (this.scopes) { + for (i2 = 0, l2 = this.scopes.length; i2 < l2; i2++) { + this.scopes[i2].pause(); + } + } + for (i2 = 0, l2 = this.effects.length; i2 < l2; i2++) { + this.effects[i2].pause(); + } + } + } + /** + * Resumes the effect scope, including all child scopes and effects. + */ + resume() { + if (this._active) { + if (this._isPaused) { + this._isPaused = false; + let i2, l2; + if (this.scopes) { + for (i2 = 0, l2 = this.scopes.length; i2 < l2; i2++) { + this.scopes[i2].resume(); + } + } + for (i2 = 0, l2 = this.effects.length; i2 < l2; i2++) { + this.effects[i2].resume(); + } + } + } + } run(fn) { if (this._active) { const currentEffectScope = activeEffectScope; @@ -31917,17 +32541,21 @@ class EffectScope { } stop(fromParent) { if (this._active) { + this._active = false; let i2, l2; for (i2 = 0, l2 = this.effects.length; i2 < l2; i2++) { this.effects[i2].stop(); } + this.effects.length = 0; for (i2 = 0, l2 = this.cleanups.length; i2 < l2; i2++) { this.cleanups[i2](); } + this.cleanups.length = 0; if (this.scopes) { for (i2 = 0, l2 = this.scopes.length; i2 < l2; i2++) { this.scopes[i2].stop(true); } + this.scopes.length = 0; } if (!this.detached && this.parent && !fromParent) { const last = this.parent.scopes.pop(); @@ -31937,7 +32565,6 @@ class EffectScope { } } this.parent = void 0; - this._active = false; } } } @@ -31945,17 +32572,11 @@ function effectScope(detached) { return new EffectScope(detached); } __name(effectScope, "effectScope"); -function recordEffectScope(effect2, scope = activeEffectScope) { - if (scope && scope.active) { - scope.effects.push(effect2); - } -} -__name(recordEffectScope, "recordEffectScope"); function getCurrentScope() { return activeEffectScope; } __name(getCurrentScope, "getCurrentScope"); -function onScopeDispose(fn) { +function onScopeDispose(fn, failSilently = false) { if (activeEffectScope) { activeEffectScope.cleanups.push(fn); } else if (false) { @@ -31965,122 +32586,307 @@ function onScopeDispose(fn) { } } __name(onScopeDispose, "onScopeDispose"); -let activeEffect; +let activeSub; +const EffectFlags = { + "ACTIVE": 1, + "1": "ACTIVE", + "RUNNING": 2, + "2": "RUNNING", + "TRACKING": 4, + "4": "TRACKING", + "NOTIFIED": 8, + "8": "NOTIFIED", + "DIRTY": 16, + "16": "DIRTY", + "ALLOW_RECURSE": 32, + "32": "ALLOW_RECURSE", + "PAUSED": 64, + "64": "PAUSED" +}; +const pausedQueueEffects = /* @__PURE__ */ new WeakSet(); class ReactiveEffect { static { __name(this, "ReactiveEffect"); } - constructor(fn, trigger2, scheduler, scope) { + constructor(fn) { this.fn = fn; - this.trigger = trigger2; - this.scheduler = scheduler; - this.active = true; - this.deps = []; - this._dirtyLevel = 4; - this._trackId = 0; - this._runnings = 0; - this._shouldSchedule = false; - this._depsLength = 0; - recordEffectScope(this, scope); - } - get dirty() { - if (this._dirtyLevel === 2 || this._dirtyLevel === 3) { - this._dirtyLevel = 1; - pauseTracking(); - for (let i2 = 0; i2 < this._depsLength; i2++) { - const dep = this.deps[i2]; - if (dep.computed) { - triggerComputed(dep.computed); - if (this._dirtyLevel >= 4) { - break; - } - } - } - if (this._dirtyLevel === 1) { - this._dirtyLevel = 0; - } - resetTracking(); + this.deps = void 0; + this.depsTail = void 0; + this.flags = 1 | 4; + this.next = void 0; + this.cleanup = void 0; + this.scheduler = void 0; + if (activeEffectScope && activeEffectScope.active) { + activeEffectScope.effects.push(this); } - return this._dirtyLevel >= 4; } - set dirty(v2) { - this._dirtyLevel = v2 ? 4 : 0; + pause() { + this.flags |= 64; + } + resume() { + if (this.flags & 64) { + this.flags &= ~64; + if (pausedQueueEffects.has(this)) { + pausedQueueEffects.delete(this); + this.trigger(); + } + } + } + /** + * @internal + */ + notify() { + if (this.flags & 2 && !(this.flags & 32)) { + return; + } + if (!(this.flags & 8)) { + batch(this); + } } run() { - this._dirtyLevel = 0; - if (!this.active) { + if (!(this.flags & 1)) { return this.fn(); } - let lastShouldTrack = shouldTrack; - let lastEffect = activeEffect; + this.flags |= 2; + cleanupEffect(this); + prepareDeps(this); + const prevEffect = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = this; + shouldTrack = true; try { - shouldTrack = true; - activeEffect = this; - this._runnings++; - preCleanupEffect(this); return this.fn(); } finally { - postCleanupEffect(this); - this._runnings--; - activeEffect = lastEffect; - shouldTrack = lastShouldTrack; + if (false) { + warn$4( + "Active effect was not restored correctly - this is likely a Vue internal bug." + ); + } + cleanupDeps(this); + activeSub = prevEffect; + shouldTrack = prevShouldTrack; + this.flags &= ~2; } } stop() { - if (this.active) { - preCleanupEffect(this); - postCleanupEffect(this); + if (this.flags & 1) { + for (let link2 = this.deps; link2; link2 = link2.nextDep) { + removeSub(link2); + } + this.deps = this.depsTail = void 0; + cleanupEffect(this); this.onStop && this.onStop(); - this.active = false; + this.flags &= ~1; } } -} -function triggerComputed(computed2) { - return computed2.value; -} -__name(triggerComputed, "triggerComputed"); -function preCleanupEffect(effect2) { - effect2._trackId++; - effect2._depsLength = 0; -} -__name(preCleanupEffect, "preCleanupEffect"); -function postCleanupEffect(effect2) { - if (effect2.deps.length > effect2._depsLength) { - for (let i2 = effect2._depsLength; i2 < effect2.deps.length; i2++) { - cleanupDepEffect(effect2.deps[i2], effect2); - } - effect2.deps.length = effect2._depsLength; - } -} -__name(postCleanupEffect, "postCleanupEffect"); -function cleanupDepEffect(dep, effect2) { - const trackId = dep.get(effect2); - if (trackId !== void 0 && effect2._trackId !== trackId) { - dep.delete(effect2); - if (dep.size === 0) { - dep.cleanup(); + trigger() { + if (this.flags & 64) { + pausedQueueEffects.add(this); + } else if (this.scheduler) { + this.scheduler(); + } else { + this.runIfDirty(); } } + /** + * @internal + */ + runIfDirty() { + if (isDirty$1(this)) { + this.run(); + } + } + get dirty() { + return isDirty$1(this); + } } -__name(cleanupDepEffect, "cleanupDepEffect"); +let batchDepth = 0; +let batchedSub; +let batchedComputed; +function batch(sub, isComputed2 = false) { + sub.flags |= 8; + if (isComputed2) { + sub.next = batchedComputed; + batchedComputed = sub; + return; + } + sub.next = batchedSub; + batchedSub = sub; +} +__name(batch, "batch"); +function startBatch() { + batchDepth++; +} +__name(startBatch, "startBatch"); +function endBatch() { + if (--batchDepth > 0) { + return; + } + if (batchedComputed) { + let e2 = batchedComputed; + batchedComputed = void 0; + while (e2) { + const next2 = e2.next; + e2.next = void 0; + e2.flags &= ~8; + e2 = next2; + } + } + let error2; + while (batchedSub) { + let e2 = batchedSub; + batchedSub = void 0; + while (e2) { + const next2 = e2.next; + e2.next = void 0; + e2.flags &= ~8; + if (e2.flags & 1) { + try { + ; + e2.trigger(); + } catch (err) { + if (!error2) error2 = err; + } + } + e2 = next2; + } + } + if (error2) throw error2; +} +__name(endBatch, "endBatch"); +function prepareDeps(sub) { + for (let link2 = sub.deps; link2; link2 = link2.nextDep) { + link2.version = -1; + link2.prevActiveLink = link2.dep.activeLink; + link2.dep.activeLink = link2; + } +} +__name(prepareDeps, "prepareDeps"); +function cleanupDeps(sub) { + let head; + let tail = sub.depsTail; + let link2 = tail; + while (link2) { + const prev2 = link2.prevDep; + if (link2.version === -1) { + if (link2 === tail) tail = prev2; + removeSub(link2); + removeDep(link2); + } else { + head = link2; + } + link2.dep.activeLink = link2.prevActiveLink; + link2.prevActiveLink = void 0; + link2 = prev2; + } + sub.deps = head; + sub.depsTail = tail; +} +__name(cleanupDeps, "cleanupDeps"); +function isDirty$1(sub) { + for (let link2 = sub.deps; link2; link2 = link2.nextDep) { + if (link2.dep.version !== link2.version || link2.dep.computed && (refreshComputed(link2.dep.computed) || link2.dep.version !== link2.version)) { + return true; + } + } + if (sub._dirty) { + return true; + } + return false; +} +__name(isDirty$1, "isDirty$1"); +function refreshComputed(computed2) { + if (computed2.flags & 4 && !(computed2.flags & 16)) { + return; + } + computed2.flags &= ~16; + if (computed2.globalVersion === globalVersion) { + return; + } + computed2.globalVersion = globalVersion; + const dep = computed2.dep; + computed2.flags |= 2; + if (dep.version > 0 && !computed2.isSSR && computed2.deps && !isDirty$1(computed2)) { + computed2.flags &= ~2; + return; + } + const prevSub = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = computed2; + shouldTrack = true; + try { + prepareDeps(computed2); + const value4 = computed2.fn(computed2._value); + if (dep.version === 0 || hasChanged(value4, computed2._value)) { + computed2._value = value4; + dep.version++; + } + } catch (err) { + dep.version++; + throw err; + } finally { + activeSub = prevSub; + shouldTrack = prevShouldTrack; + cleanupDeps(computed2); + computed2.flags &= ~2; + } +} +__name(refreshComputed, "refreshComputed"); +function removeSub(link2, soft = false) { + const { dep, prevSub, nextSub } = link2; + if (prevSub) { + prevSub.nextSub = nextSub; + link2.prevSub = void 0; + } + if (nextSub) { + nextSub.prevSub = prevSub; + link2.nextSub = void 0; + } + if (false) { + dep.subsHead = nextSub; + } + if (dep.subs === link2) { + dep.subs = prevSub; + if (!prevSub && dep.computed) { + dep.computed.flags &= ~4; + for (let l2 = dep.computed.deps; l2; l2 = l2.nextDep) { + removeSub(l2, true); + } + } + } + if (!soft && !--dep.sc && dep.map) { + dep.map.delete(dep.key); + } +} +__name(removeSub, "removeSub"); +function removeDep(link2) { + const { prevDep, nextDep } = link2; + if (prevDep) { + prevDep.nextDep = nextDep; + link2.prevDep = void 0; + } + if (nextDep) { + nextDep.prevDep = prevDep; + link2.nextDep = void 0; + } +} +__name(removeDep, "removeDep"); function effect(fn, options4) { if (fn.effect instanceof ReactiveEffect) { fn = fn.effect.fn; } - const _effect = new ReactiveEffect(fn, NOOP, () => { - if (_effect.dirty) { - _effect.run(); - } - }); + const e2 = new ReactiveEffect(fn); if (options4) { - extend$1(_effect, options4); - if (options4.scope) recordEffectScope(_effect, options4.scope); + extend$1(e2, options4); } - if (!options4 || !options4.lazy) { - _effect.run(); + try { + e2.run(); + } catch (err) { + e2.stop(); + throw err; } - const runner = _effect.run.bind(_effect); - runner.effect = _effect; + const runner = e2.run.bind(e2); + runner.effect = e2; return runner; } __name(effect, "effect"); @@ -32089,7 +32895,6 @@ function stop(runner) { } __name(stop, "stop"); let shouldTrack = true; -let pauseScheduleStack = 0; const trackStack = []; function pauseTracking() { trackStack.push(shouldTrack); @@ -32106,197 +32911,454 @@ function resetTracking() { shouldTrack = last === void 0 ? true : last; } __name(resetTracking, "resetTracking"); -function pauseScheduling() { - pauseScheduleStack++; -} -__name(pauseScheduling, "pauseScheduling"); -function resetScheduling() { - pauseScheduleStack--; - while (!pauseScheduleStack && queueEffectSchedulers.length) { - queueEffectSchedulers.shift()(); - } -} -__name(resetScheduling, "resetScheduling"); -function trackEffect(effect2, dep, debuggerEventExtraInfo) { - var _a2; - if (dep.get(effect2) !== effect2._trackId) { - dep.set(effect2, effect2._trackId); - const oldDep = effect2.deps[effect2._depsLength]; - if (oldDep !== dep) { - if (oldDep) { - cleanupDepEffect(oldDep, effect2); - } - effect2.deps[effect2._depsLength++] = dep; - } else { - effect2._depsLength++; - } - if (false) { - (_a2 = effect2.onTrack) == null ? void 0 : _a2.call(effect2, extend$1({ effect: effect2 }, debuggerEventExtraInfo)); - } - } -} -__name(trackEffect, "trackEffect"); -const queueEffectSchedulers = []; -function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) { - var _a2; - pauseScheduling(); - for (const effect2 of dep.keys()) { - let tracking; - if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { - effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0); - effect2._dirtyLevel = dirtyLevel; - } - if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { - if (false) { - (_a2 = effect2.onTrigger) == null ? void 0 : _a2.call(effect2, extend$1({ effect: effect2 }, debuggerEventExtraInfo)); - } - effect2.trigger(); - if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) { - effect2._shouldSchedule = false; - if (effect2.scheduler) { - queueEffectSchedulers.push(effect2.scheduler); - } - } - } - } - resetScheduling(); -} -__name(triggerEffects, "triggerEffects"); -const createDep = /* @__PURE__ */ __name((cleanup, computed2) => { - const dep = /* @__PURE__ */ new Map(); - dep.cleanup = cleanup; - dep.computed = computed2; - return dep; -}, "createDep"); -const targetMap = /* @__PURE__ */ new WeakMap(); -const ITERATE_KEY = Symbol(false ? "iterate" : ""); -const MAP_KEY_ITERATE_KEY = Symbol(false ? "Map key iterate" : ""); -function track(target, type, key) { - if (shouldTrack && activeEffect) { - let depsMap = targetMap.get(target); - if (!depsMap) { - targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); - } - let dep = depsMap.get(key); - if (!dep) { - depsMap.set(key, dep = createDep(() => depsMap.delete(key))); - } - trackEffect( - activeEffect, - dep, - false ? { - target, - type, - key - } : void 0 +function onEffectCleanup(fn, failSilently = false) { + if (activeSub instanceof ReactiveEffect) { + activeSub.cleanup = fn; + } else if (false) { + warn$4( + `onEffectCleanup() was called when there was no active effect to associate with.` ); } } +__name(onEffectCleanup, "onEffectCleanup"); +function cleanupEffect(e2) { + const { cleanup } = e2; + e2.cleanup = void 0; + if (cleanup) { + const prevSub = activeSub; + activeSub = void 0; + try { + cleanup(); + } finally { + activeSub = prevSub; + } + } +} +__name(cleanupEffect, "cleanupEffect"); +let globalVersion = 0; +let Link$3 = class Link2 { + static { + __name(this, "Link"); + } + constructor(sub, dep) { + this.sub = sub; + this.dep = dep; + this.version = dep.version; + this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; + } +}; +class Dep { + static { + __name(this, "Dep"); + } + constructor(computed2) { + this.computed = computed2; + this.version = 0; + this.activeLink = void 0; + this.subs = void 0; + this.map = void 0; + this.key = void 0; + this.sc = 0; + if (false) { + this.subsHead = void 0; + } + } + track(debugInfo) { + if (!activeSub || !shouldTrack || activeSub === this.computed) { + return; + } + let link2 = this.activeLink; + if (link2 === void 0 || link2.sub !== activeSub) { + link2 = this.activeLink = new Link$3(activeSub, this); + if (!activeSub.deps) { + activeSub.deps = activeSub.depsTail = link2; + } else { + link2.prevDep = activeSub.depsTail; + activeSub.depsTail.nextDep = link2; + activeSub.depsTail = link2; + } + addSub(link2); + } else if (link2.version === -1) { + link2.version = this.version; + if (link2.nextDep) { + const next2 = link2.nextDep; + next2.prevDep = link2.prevDep; + if (link2.prevDep) { + link2.prevDep.nextDep = next2; + } + link2.prevDep = activeSub.depsTail; + link2.nextDep = void 0; + activeSub.depsTail.nextDep = link2; + activeSub.depsTail = link2; + if (activeSub.deps === link2) { + activeSub.deps = next2; + } + } + } + if (false) { + activeSub.onTrack( + extend$1( + { + effect: activeSub + }, + debugInfo + ) + ); + } + return link2; + } + trigger(debugInfo) { + this.version++; + globalVersion++; + this.notify(debugInfo); + } + notify(debugInfo) { + startBatch(); + try { + if (false) { + for (let head = this.subsHead; head; head = head.nextSub) { + if (head.sub.onTrigger && !(head.sub.flags & 8)) { + head.sub.onTrigger( + extend$1( + { + effect: head.sub + }, + debugInfo + ) + ); + } + } + } + for (let link2 = this.subs; link2; link2 = link2.prevSub) { + if (link2.sub.notify()) { + ; + link2.sub.dep.notify(); + } + } + } finally { + endBatch(); + } + } +} +function addSub(link2) { + link2.dep.sc++; + if (link2.sub.flags & 4) { + const computed2 = link2.dep.computed; + if (computed2 && !link2.dep.subs) { + computed2.flags |= 4 | 16; + for (let l2 = computed2.deps; l2; l2 = l2.nextDep) { + addSub(l2); + } + } + const currentTail = link2.dep.subs; + if (currentTail !== link2) { + link2.prevSub = currentTail; + if (currentTail) currentTail.nextSub = link2; + } + if (false) { + link2.dep.subsHead = link2; + } + link2.dep.subs = link2; + } +} +__name(addSub, "addSub"); +const targetMap = /* @__PURE__ */ new WeakMap(); +const ITERATE_KEY = Symbol( + false ? "Object iterate" : "" +); +const MAP_KEY_ITERATE_KEY = Symbol( + false ? "Map keys iterate" : "" +); +const ARRAY_ITERATE_KEY = Symbol( + false ? "Array iterate" : "" +); +function track(target2, type, key) { + if (shouldTrack && activeSub) { + let depsMap = targetMap.get(target2); + if (!depsMap) { + targetMap.set(target2, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = new Dep()); + dep.map = depsMap; + dep.key = key; + } + if (false) { + dep.track({ + target: target2, + type, + key + }); + } else { + dep.track(); + } + } +} __name(track, "track"); -function trigger(target, type, key, newValue2, oldValue2, oldTarget) { - const depsMap = targetMap.get(target); +function trigger(target2, type, key, newValue2, oldValue2, oldTarget) { + const depsMap = targetMap.get(target2); if (!depsMap) { + globalVersion++; return; } - let deps = []; - if (type === "clear") { - deps = [...depsMap.values()]; - } else if (key === "length" && isArray$9(target)) { - const newLength = Number(newValue2); - depsMap.forEach((dep, key2) => { - if (key2 === "length" || !isSymbol$1(key2) && key2 >= newLength) { - deps.push(dep); - } - }); - } else { - if (key !== void 0) { - deps.push(depsMap.get(key)); - } - switch (type) { - case "add": - if (!isArray$9(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - if (isMap$3(target)) { - deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } else if (isIntegerKey(key)) { - deps.push(depsMap.get("length")); - } - break; - case "delete": - if (!isArray$9(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - if (isMap$3(target)) { - deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } - break; - case "set": - if (isMap$3(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - } - break; - } - } - pauseScheduling(); - for (const dep of deps) { + const run2 = /* @__PURE__ */ __name((dep) => { if (dep) { - triggerEffects( - dep, - 4, - false ? { - target, + if (false) { + dep.trigger({ + target: target2, type, key, newValue: newValue2, oldValue: oldValue2, oldTarget - } : void 0 - ); + }); + } else { + dep.trigger(); + } + } + }, "run"); + startBatch(); + if (type === "clear") { + depsMap.forEach(run2); + } else { + const targetIsArray = isArray$b(target2); + const isArrayIndex = targetIsArray && isIntegerKey(key); + if (targetIsArray && key === "length") { + const newLength = Number(newValue2); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol$1(key2) && key2 >= newLength) { + run2(dep); + } + }); + } else { + if (key !== void 0 || depsMap.has(void 0)) { + run2(depsMap.get(key)); + } + if (isArrayIndex) { + run2(depsMap.get(ARRAY_ITERATE_KEY)); + } + switch (type) { + case "add": + if (!targetIsArray) { + run2(depsMap.get(ITERATE_KEY)); + if (isMap$3(target2)) { + run2(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isArrayIndex) { + run2(depsMap.get("length")); + } + break; + case "delete": + if (!targetIsArray) { + run2(depsMap.get(ITERATE_KEY)); + if (isMap$3(target2)) { + run2(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (isMap$3(target2)) { + run2(depsMap.get(ITERATE_KEY)); + } + break; + } } } - resetScheduling(); + endBatch(); } __name(trigger, "trigger"); function getDepFromReactive(object, key) { - const depsMap = targetMap.get(object); - return depsMap && depsMap.get(key); + const depMap = targetMap.get(object); + return depMap && depMap.get(key); } __name(getDepFromReactive, "getDepFromReactive"); +function reactiveReadArray(array) { + const raw = toRaw(array); + if (raw === array) return raw; + track(raw, "iterate", ARRAY_ITERATE_KEY); + return isShallow(array) ? raw : raw.map(toReactive$1); +} +__name(reactiveReadArray, "reactiveReadArray"); +function shallowReadArray(arr) { + track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY); + return arr; +} +__name(shallowReadArray, "shallowReadArray"); +const arrayInstrumentations = { + __proto__: null, + [Symbol.iterator]() { + return iterator(this, Symbol.iterator, toReactive$1); + }, + concat(...args) { + return reactiveReadArray(this).concat( + ...args.map((x2) => isArray$b(x2) ? reactiveReadArray(x2) : x2) + ); + }, + entries() { + return iterator(this, "entries", (value4) => { + value4[1] = toReactive$1(value4[1]); + return value4; + }); + }, + every(fn, thisArg) { + return apply$2(this, "every", fn, thisArg, void 0, arguments); + }, + filter(fn, thisArg) { + return apply$2(this, "filter", fn, thisArg, (v2) => v2.map(toReactive$1), arguments); + }, + find(fn, thisArg) { + return apply$2(this, "find", fn, thisArg, toReactive$1, arguments); + }, + findIndex(fn, thisArg) { + return apply$2(this, "findIndex", fn, thisArg, void 0, arguments); + }, + findLast(fn, thisArg) { + return apply$2(this, "findLast", fn, thisArg, toReactive$1, arguments); + }, + findLastIndex(fn, thisArg) { + return apply$2(this, "findLastIndex", fn, thisArg, void 0, arguments); + }, + // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement + forEach(fn, thisArg) { + return apply$2(this, "forEach", fn, thisArg, void 0, arguments); + }, + includes(...args) { + return searchProxy(this, "includes", args); + }, + indexOf(...args) { + return searchProxy(this, "indexOf", args); + }, + join(separator) { + return reactiveReadArray(this).join(separator); + }, + // keys() iterator only reads `length`, no optimisation required + lastIndexOf(...args) { + return searchProxy(this, "lastIndexOf", args); + }, + map(fn, thisArg) { + return apply$2(this, "map", fn, thisArg, void 0, arguments); + }, + pop() { + return noTracking(this, "pop"); + }, + push(...args) { + return noTracking(this, "push", args); + }, + reduce(fn, ...args) { + return reduce(this, "reduce", fn, args); + }, + reduceRight(fn, ...args) { + return reduce(this, "reduceRight", fn, args); + }, + shift() { + return noTracking(this, "shift"); + }, + // slice could use ARRAY_ITERATE but also seems to beg for range tracking + some(fn, thisArg) { + return apply$2(this, "some", fn, thisArg, void 0, arguments); + }, + splice(...args) { + return noTracking(this, "splice", args); + }, + toReversed() { + return reactiveReadArray(this).toReversed(); + }, + toSorted(comparer) { + return reactiveReadArray(this).toSorted(comparer); + }, + toSpliced(...args) { + return reactiveReadArray(this).toSpliced(...args); + }, + unshift(...args) { + return noTracking(this, "unshift", args); + }, + values() { + return iterator(this, "values", toReactive$1); + } +}; +function iterator(self2, method, wrapValue) { + const arr = shallowReadArray(self2); + const iter = arr[method](); + if (arr !== self2 && !isShallow(self2)) { + iter._next = iter.next; + iter.next = () => { + const result = iter._next(); + if (result.value) { + result.value = wrapValue(result.value); + } + return result; + }; + } + return iter; +} +__name(iterator, "iterator"); +const arrayProto$1 = Array.prototype; +function apply$2(self2, method, fn, thisArg, wrappedRetFn, args) { + const arr = shallowReadArray(self2); + const needsWrap = arr !== self2 && !isShallow(self2); + const methodFn = arr[method]; + if (methodFn !== arrayProto$1[method]) { + const result2 = methodFn.apply(self2, args); + return needsWrap ? toReactive$1(result2) : result2; + } + let wrappedFn = fn; + if (arr !== self2) { + if (needsWrap) { + wrappedFn = /* @__PURE__ */ __name(function(item3, index2) { + return fn.call(this, toReactive$1(item3), index2, self2); + }, "wrappedFn"); + } else if (fn.length > 2) { + wrappedFn = /* @__PURE__ */ __name(function(item3, index2) { + return fn.call(this, item3, index2, self2); + }, "wrappedFn"); + } + } + const result = methodFn.call(arr, wrappedFn, thisArg); + return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; +} +__name(apply$2, "apply$2"); +function reduce(self2, method, fn, args) { + const arr = shallowReadArray(self2); + let wrappedFn = fn; + if (arr !== self2) { + if (!isShallow(self2)) { + wrappedFn = /* @__PURE__ */ __name(function(acc, item3, index2) { + return fn.call(this, acc, toReactive$1(item3), index2, self2); + }, "wrappedFn"); + } else if (fn.length > 3) { + wrappedFn = /* @__PURE__ */ __name(function(acc, item3, index2) { + return fn.call(this, acc, item3, index2, self2); + }, "wrappedFn"); + } + } + return arr[method](wrappedFn, ...args); +} +__name(reduce, "reduce"); +function searchProxy(self2, method, args) { + const arr = toRaw(self2); + track(arr, "iterate", ARRAY_ITERATE_KEY); + const res = arr[method](...args); + if ((res === -1 || res === false) && isProxy(args[0])) { + args[0] = toRaw(args[0]); + return arr[method](...args); + } + return res; +} +__name(searchProxy, "searchProxy"); +function noTracking(self2, method, args = []) { + pauseTracking(); + startBatch(); + const res = toRaw(self2)[method].apply(self2, args); + endBatch(); + resetTracking(); + return res; +} +__name(noTracking, "noTracking"); const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); const builtInSymbols = new Set( /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol$1) ); -const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations(); -function createArrayInstrumentations() { - const instrumentations = {}; - ["includes", "indexOf", "lastIndexOf"].forEach((key) => { - instrumentations[key] = function(...args) { - const arr = toRaw(this); - for (let i2 = 0, l2 = this.length; i2 < l2; i2++) { - track(arr, "get", i2 + ""); - } - const res = arr[key](...args); - if (res === -1 || res === false) { - return arr[key](...args.map(toRaw)); - } else { - return res; - } - }; - }); - ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { - instrumentations[key] = function(...args) { - pauseTracking(); - pauseScheduling(); - const res = toRaw(this)[key].apply(this, args); - resetScheduling(); - resetTracking(); - return res; - }; - }); - return instrumentations; -} -__name(createArrayInstrumentations, "createArrayInstrumentations"); function hasOwnProperty$c(key) { if (!isSymbol$1(key)) key = String(key); const obj = toRaw(this); @@ -32312,7 +33374,8 @@ class BaseReactiveHandler { this._isReadonly = _isReadonly; this._isShallow = _isShallow; } - get(target, key, receiver) { + get(target2, key, receiver) { + if (key === "__v_skip") return target2["__v_skip"]; const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; if (key === "__v_isReactive") { return !isReadonly2; @@ -32321,28 +33384,36 @@ class BaseReactiveHandler { } else if (key === "__v_isShallow") { return isShallow2; } else if (key === "__v_raw") { - if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype - // this means the reciever is a user proxy of the reactive proxy - Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { - return target; + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target2) || // receiver is not the reactive proxy, but has the same prototype + // this means the receiver is a user proxy of the reactive proxy + Object.getPrototypeOf(target2) === Object.getPrototypeOf(receiver)) { + return target2; } return; } - const targetIsArray = isArray$9(target); + const targetIsArray = isArray$b(target2); if (!isReadonly2) { - if (targetIsArray && hasOwn$3(arrayInstrumentations, key)) { - return Reflect.get(arrayInstrumentations, key, receiver); + let fn; + if (targetIsArray && (fn = arrayInstrumentations[key])) { + return fn; } if (key === "hasOwnProperty") { return hasOwnProperty$c; } } - const res = Reflect.get(target, key, receiver); + const res = Reflect.get( + target2, + key, + // if this is a proxy wrapping a ref, return methods using the raw ref + // as receiver so that we don't have to call `toRaw` on the ref in all + // its class methods + isRef(target2) ? target2 : receiver + ); if (isSymbol$1(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { return res; } if (!isReadonly2) { - track(target, "get", key); + track(target2, "get", key); } if (isShallow2) { return res; @@ -32350,7 +33421,7 @@ class BaseReactiveHandler { if (isRef(res)) { return targetIsArray && isIntegerKey(key) ? res : res.value; } - if (isObject$d(res)) { + if (isObject$f(res)) { return isReadonly2 ? readonly(res) : reactive(res); } return res; @@ -32363,15 +33434,15 @@ class MutableReactiveHandler extends BaseReactiveHandler { constructor(isShallow2 = false) { super(false, isShallow2); } - set(target, key, value4, receiver) { - let oldValue2 = target[key]; + set(target2, key, value4, receiver) { + let oldValue2 = target2[key]; if (!this._isShallow) { const isOldValueReadonly = isReadonly(oldValue2); if (!isShallow(value4) && !isReadonly(value4)) { oldValue2 = toRaw(oldValue2); value4 = toRaw(value4); } - if (!isArray$9(target) && isRef(oldValue2) && !isRef(value4)) { + if (!isArray$b(target2) && isRef(oldValue2) && !isRef(value4)) { if (isOldValueReadonly) { return false; } else { @@ -32380,40 +33451,45 @@ class MutableReactiveHandler extends BaseReactiveHandler { } } } - const hadKey = isArray$9(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$3(target, key); - const result = Reflect.set(target, key, value4, receiver); - if (target === toRaw(receiver)) { + const hadKey = isArray$b(target2) && isIntegerKey(key) ? Number(key) < target2.length : hasOwn$3(target2, key); + const result = Reflect.set( + target2, + key, + value4, + isRef(target2) ? target2 : receiver + ); + if (target2 === toRaw(receiver)) { if (!hadKey) { - trigger(target, "add", key, value4); + trigger(target2, "add", key, value4); } else if (hasChanged(value4, oldValue2)) { - trigger(target, "set", key, value4, oldValue2); + trigger(target2, "set", key, value4, oldValue2); } } return result; } - deleteProperty(target, key) { - const hadKey = hasOwn$3(target, key); - const oldValue2 = target[key]; - const result = Reflect.deleteProperty(target, key); + deleteProperty(target2, key) { + const hadKey = hasOwn$3(target2, key); + const oldValue2 = target2[key]; + const result = Reflect.deleteProperty(target2, key); if (result && hadKey) { - trigger(target, "delete", key, void 0, oldValue2); + trigger(target2, "delete", key, void 0, oldValue2); } return result; } - has(target, key) { - const result = Reflect.has(target, key); + has(target2, key) { + const result = Reflect.has(target2, key); if (!isSymbol$1(key) || !builtInSymbols.has(key)) { - track(target, "has", key); + track(target2, "has", key); } return result; } - ownKeys(target) { + ownKeys(target2) { track( - target, + target2, "iterate", - isArray$9(target) ? "length" : ITERATE_KEY + isArray$b(target2) ? "length" : ITERATE_KEY ); - return Reflect.ownKeys(target); + return Reflect.ownKeys(target2); } } class ReadonlyReactiveHandler extends BaseReactiveHandler { @@ -32423,20 +33499,20 @@ class ReadonlyReactiveHandler extends BaseReactiveHandler { constructor(isShallow2 = false) { super(true, isShallow2); } - set(target, key) { + set(target2, key) { if (false) { warn$4( `Set operation on key "${String(key)}" failed: target is readonly.`, - target + target2 ); } return true; } - deleteProperty(target, key) { + deleteProperty(target2, key) { if (false) { warn$4( `Delete operation on key "${String(key)}" failed: target is readonly.`, - target + target2 ); } return true; @@ -32444,135 +33520,18 @@ class ReadonlyReactiveHandler extends BaseReactiveHandler { } const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); -const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler( - true -); +const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true); const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); const toShallow = /* @__PURE__ */ __name((value4) => value4, "toShallow"); const getProto = /* @__PURE__ */ __name((v2) => Reflect.getPrototypeOf(v2), "getProto"); -function get$3(target, key, isReadonly2 = false, isShallow2 = false) { - target = target["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!isReadonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "get", key); - } - track(rawTarget, "get", rawKey); - } - const { has: has2 } = getProto(rawTarget); - const wrap2 = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive$1; - if (has2.call(rawTarget, key)) { - return wrap2(target.get(key)); - } else if (has2.call(rawTarget, rawKey)) { - return wrap2(target.get(rawKey)); - } else if (target !== rawTarget) { - target.get(key); - } -} -__name(get$3, "get$3"); -function has$1(key, isReadonly2 = false) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!isReadonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "has", key); - } - track(rawTarget, "has", rawKey); - } - return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); -} -__name(has$1, "has$1"); -function size(target, isReadonly2 = false) { - target = target["__v_raw"]; - !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); - return Reflect.get(target, "size", target); -} -__name(size, "size"); -function add$1(value4) { - value4 = toRaw(value4); - const target = toRaw(this); - const proto = getProto(target); - const hadKey = proto.has.call(target, value4); - if (!hadKey) { - target.add(value4); - trigger(target, "add", value4, value4); - } - return this; -} -__name(add$1, "add$1"); -function set$4(key, value4) { - value4 = toRaw(value4); - const target = toRaw(this); - const { has: has2, get: get22 } = getProto(target); - let hadKey = has2.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has2.call(target, key); - } else if (false) { - checkIdentityKeys(target, has2, key); - } - const oldValue2 = get22.call(target, key); - target.set(key, value4); - if (!hadKey) { - trigger(target, "add", key, value4); - } else if (hasChanged(value4, oldValue2)) { - trigger(target, "set", key, value4, oldValue2); - } - return this; -} -__name(set$4, "set$4"); -function deleteEntry(key) { - const target = toRaw(this); - const { has: has2, get: get22 } = getProto(target); - let hadKey = has2.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has2.call(target, key); - } else if (false) { - checkIdentityKeys(target, has2, key); - } - const oldValue2 = get22 ? get22.call(target, key) : void 0; - const result = target.delete(key); - if (hadKey) { - trigger(target, "delete", key, void 0, oldValue2); - } - return result; -} -__name(deleteEntry, "deleteEntry"); -function clear() { - const target = toRaw(this); - const hadItems = target.size !== 0; - const oldTarget = false ? isMap$3(target) ? new Map(target) : new Set(target) : void 0; - const result = target.clear(); - if (hadItems) { - trigger(target, "clear", void 0, void 0, oldTarget); - } - return result; -} -__name(clear, "clear"); -function createForEach(isReadonly2, isShallow2) { - return /* @__PURE__ */ __name(function forEach3(callback, thisArg) { - const observed = this; - const target = observed["__v_raw"]; - const rawTarget = toRaw(target); - const wrap2 = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive$1; - !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); - return target.forEach((value4, key) => { - return callback.call(thisArg, wrap2(value4), wrap2(key), observed); - }); - }, "forEach"); -} -__name(createForEach, "createForEach"); function createIterableMethod(method, isReadonly2, isShallow2) { return function(...args) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); + const target2 = this["__v_raw"]; + const rawTarget = toRaw(target2); const targetIsMap = isMap$3(rawTarget); const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; const isKeyOnly = method === "keys" && targetIsMap; - const innerIterator = target[method](...args); + const innerIterator = target2[method](...args); const wrap2 = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive$1; !isReadonly2 && track( rawTarget, @@ -32609,67 +33568,134 @@ function createReadonlyMethod(type) { }; } __name(createReadonlyMethod, "createReadonlyMethod"); -function createInstrumentations() { - const mutableInstrumentations2 = { +function createInstrumentations(readonly2, shallow) { + const instrumentations = { get(key) { - return get$3(this, key); + const target2 = this["__v_raw"]; + const rawTarget = toRaw(target2); + const rawKey = toRaw(key); + if (!readonly2) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has: has2 } = getProto(rawTarget); + const wrap2 = shallow ? toShallow : readonly2 ? toReadonly : toReactive$1; + if (has2.call(rawTarget, key)) { + return wrap2(target2.get(key)); + } else if (has2.call(rawTarget, rawKey)) { + return wrap2(target2.get(rawKey)); + } else if (target2 !== rawTarget) { + target2.get(key); + } }, get size() { - return size(this); - }, - has: has$1, - add: add$1, - set: set$4, - delete: deleteEntry, - clear, - forEach: createForEach(false, false) - }; - const shallowInstrumentations2 = { - get(key) { - return get$3(this, key, false, true); - }, - get size() { - return size(this); - }, - has: has$1, - add: add$1, - set: set$4, - delete: deleteEntry, - clear, - forEach: createForEach(false, true) - }; - const readonlyInstrumentations2 = { - get(key) { - return get$3(this, key, true); - }, - get size() { - return size(this, true); + const target2 = this["__v_raw"]; + !readonly2 && track(toRaw(target2), "iterate", ITERATE_KEY); + return Reflect.get(target2, "size", target2); }, has(key) { - return has$1.call(this, key, true); + const target2 = this["__v_raw"]; + const rawTarget = toRaw(target2); + const rawKey = toRaw(key); + if (!readonly2) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target2.has(key) : target2.has(key) || target2.has(rawKey); }, - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear"), - forEach: createForEach(true, false) - }; - const shallowReadonlyInstrumentations2 = { - get(key) { - return get$3(this, key, true, true); - }, - get size() { - return size(this, true); - }, - has(key) { - return has$1.call(this, key, true); - }, - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear"), - forEach: createForEach(true, true) + forEach(callback, thisArg) { + const observed = this; + const target2 = observed["__v_raw"]; + const rawTarget = toRaw(target2); + const wrap2 = shallow ? toShallow : readonly2 ? toReadonly : toReactive$1; + !readonly2 && track(rawTarget, "iterate", ITERATE_KEY); + return target2.forEach((value4, key) => { + return callback.call(thisArg, wrap2(value4), wrap2(key), observed); + }); + } }; + extend$1( + instrumentations, + readonly2 ? { + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear") + } : { + add(value4) { + if (!shallow && !isShallow(value4) && !isReadonly(value4)) { + value4 = toRaw(value4); + } + const target2 = toRaw(this); + const proto = getProto(target2); + const hadKey = proto.has.call(target2, value4); + if (!hadKey) { + target2.add(value4); + trigger(target2, "add", value4, value4); + } + return this; + }, + set(key, value4) { + if (!shallow && !isShallow(value4) && !isReadonly(value4)) { + value4 = toRaw(value4); + } + const target2 = toRaw(this); + const { has: has2, get: get3 } = getProto(target2); + let hadKey = has2.call(target2, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target2, key); + } else if (false) { + checkIdentityKeys(target2, has2, key); + } + const oldValue2 = get3.call(target2, key); + target2.set(key, value4); + if (!hadKey) { + trigger(target2, "add", key, value4); + } else if (hasChanged(value4, oldValue2)) { + trigger(target2, "set", key, value4, oldValue2); + } + return this; + }, + delete(key) { + const target2 = toRaw(this); + const { has: has2, get: get3 } = getProto(target2); + let hadKey = has2.call(target2, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target2, key); + } else if (false) { + checkIdentityKeys(target2, has2, key); + } + const oldValue2 = get3 ? get3.call(target2, key) : void 0; + const result = target2.delete(key); + if (hadKey) { + trigger(target2, "delete", key, void 0, oldValue2); + } + return result; + }, + clear() { + const target2 = toRaw(this); + const hadItems = target2.size !== 0; + const oldTarget = false ? isMap$3(target2) ? new Map(target2) : new Set(target2) : void 0; + const result = target2.clear(); + if (hadItems) { + trigger( + target2, + "clear", + void 0, + void 0, + oldTarget + ); + } + return result; + } + } + ); const iteratorMethods = [ "keys", "values", @@ -32677,41 +33703,23 @@ function createInstrumentations() { Symbol.iterator ]; iteratorMethods.forEach((method) => { - mutableInstrumentations2[method] = createIterableMethod(method, false, false); - readonlyInstrumentations2[method] = createIterableMethod(method, true, false); - shallowInstrumentations2[method] = createIterableMethod(method, false, true); - shallowReadonlyInstrumentations2[method] = createIterableMethod( - method, - true, - true - ); + instrumentations[method] = createIterableMethod(method, readonly2, shallow); }); - return [ - mutableInstrumentations2, - readonlyInstrumentations2, - shallowInstrumentations2, - shallowReadonlyInstrumentations2 - ]; + return instrumentations; } __name(createInstrumentations, "createInstrumentations"); -const [ - mutableInstrumentations, - readonlyInstrumentations, - shallowInstrumentations, - shallowReadonlyInstrumentations -] = /* @__PURE__ */ createInstrumentations(); function createInstrumentationGetter(isReadonly2, shallow) { - const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; - return (target, key, receiver) => { + const instrumentations = createInstrumentations(isReadonly2, shallow); + return (target2, key, receiver) => { if (key === "__v_isReactive") { return !isReadonly2; } else if (key === "__v_isReadonly") { return isReadonly2; } else if (key === "__v_raw") { - return target; + return target2; } return Reflect.get( - hasOwn$3(instrumentations, key) && key in target ? instrumentations : target, + hasOwn$3(instrumentations, key) && key in target2 ? instrumentations : target2, key, receiver ); @@ -32730,10 +33738,10 @@ const readonlyCollectionHandlers = { const shallowReadonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, true) }; -function checkIdentityKeys(target, has2, key) { +function checkIdentityKeys(target2, has2, key) { const rawKey = toRaw(key); - if (rawKey !== key && has2.call(target, rawKey)) { - const type = toRawType(target); + if (rawKey !== key && has2.call(target2, rawKey)) { + const type = toRawType(target2); warn$4( `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` ); @@ -32763,12 +33771,12 @@ function getTargetType(value4) { return value4["__v_skip"] || !Object.isExtensible(value4) ? 0 : targetTypeMap(toRawType(value4)); } __name(getTargetType, "getTargetType"); -function reactive(target) { - if (isReadonly(target)) { - return target; +function reactive(target2) { + if (isReadonly(target2)) { + return target2; } return createReactiveObject( - target, + target2, false, mutableHandlers, mutableCollectionHandlers, @@ -32776,9 +33784,9 @@ function reactive(target) { ); } __name(reactive, "reactive"); -function shallowReactive(target) { +function shallowReactive(target2) { return createReactiveObject( - target, + target2, false, shallowReactiveHandlers, shallowCollectionHandlers, @@ -32786,9 +33794,9 @@ function shallowReactive(target) { ); } __name(shallowReactive, "shallowReactive"); -function readonly(target) { +function readonly(target2) { return createReactiveObject( - target, + target2, true, readonlyHandlers, readonlyCollectionHandlers, @@ -32796,9 +33804,9 @@ function readonly(target) { ); } __name(readonly, "readonly"); -function shallowReadonly(target) { +function shallowReadonly(target2) { return createReactiveObject( - target, + target2, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, @@ -32806,33 +33814,33 @@ function shallowReadonly(target) { ); } __name(shallowReadonly, "shallowReadonly"); -function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { - if (!isObject$d(target)) { +function createReactiveObject(target2, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject$f(target2)) { if (false) { warn$4( `value cannot be made ${isReadonly2 ? "readonly" : "reactive"}: ${String( - target + target2 )}` ); } - return target; + return target2; } - if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { - return target; + if (target2["__v_raw"] && !(isReadonly2 && target2["__v_isReactive"])) { + return target2; } - const existingProxy = proxyMap.get(target); + const existingProxy = proxyMap.get(target2); if (existingProxy) { return existingProxy; } - const targetType = getTargetType(target); + const targetType = getTargetType(target2); if (targetType === 0) { - return target; + return target2; } const proxy = new Proxy( - target, + target2, targetType === 2 ? collectionHandlers : baseHandlers ); - proxyMap.set(target, proxy); + proxyMap.set(target2, proxy); return proxy; } __name(createReactiveObject, "createReactiveObject"); @@ -32861,124 +33869,16 @@ function toRaw(observed) { } __name(toRaw, "toRaw"); function markRaw(value4) { - if (Object.isExtensible(value4)) { + if (!hasOwn$3(value4, "__v_skip") && Object.isExtensible(value4)) { def(value4, "__v_skip", true); } return value4; } __name(markRaw, "markRaw"); -const toReactive$1 = /* @__PURE__ */ __name((value4) => isObject$d(value4) ? reactive(value4) : value4, "toReactive$1"); -const toReadonly = /* @__PURE__ */ __name((value4) => isObject$d(value4) ? readonly(value4) : value4, "toReadonly"); -const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`; -class ComputedRefImpl { - static { - __name(this, "ComputedRefImpl"); - } - constructor(getter, _setter, isReadonly2, isSSR) { - this.getter = getter; - this._setter = _setter; - this.dep = void 0; - this.__v_isRef = true; - this["__v_isReadonly"] = false; - this.effect = new ReactiveEffect( - () => getter(this._value), - () => triggerRefValue( - this, - this.effect._dirtyLevel === 2 ? 2 : 3 - ) - ); - this.effect.computed = this; - this.effect.active = this._cacheable = !isSSR; - this["__v_isReadonly"] = isReadonly2; - } - get value() { - const self2 = toRaw(this); - if ((!self2._cacheable || self2.effect.dirty) && hasChanged(self2._value, self2._value = self2.effect.run())) { - triggerRefValue(self2, 4); - } - trackRefValue(self2); - if (self2.effect._dirtyLevel >= 2) { - if (false) { - warn$4(COMPUTED_SIDE_EFFECT_WARN, ` - -getter: `, this.getter); - } - triggerRefValue(self2, 2); - } - return self2._value; - } - set value(newValue2) { - this._setter(newValue2); - } - // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x - get _dirty() { - return this.effect.dirty; - } - set _dirty(v2) { - this.effect.dirty = v2; - } - // #endregion -} -function computed$1(getterOrOptions, debugOptions, isSSR = false) { - let getter; - let setter; - const onlyGetter = isFunction$8(getterOrOptions); - if (onlyGetter) { - getter = getterOrOptions; - setter = false ? () => { - warn$4("Write operation failed: computed value is readonly"); - } : NOOP; - } else { - getter = getterOrOptions.get; - setter = getterOrOptions.set; - } - const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); - if (false) { - cRef.effect.onTrack = debugOptions.onTrack; - cRef.effect.onTrigger = debugOptions.onTrigger; - } - return cRef; -} -__name(computed$1, "computed$1"); -function trackRefValue(ref2) { - var _a2; - if (shouldTrack && activeEffect) { - ref2 = toRaw(ref2); - trackEffect( - activeEffect, - (_a2 = ref2.dep) != null ? _a2 : ref2.dep = createDep( - () => ref2.dep = void 0, - ref2 instanceof ComputedRefImpl ? ref2 : void 0 - ), - false ? { - target: ref2, - type: "get", - key: "value" - } : void 0 - ); - } -} -__name(trackRefValue, "trackRefValue"); -function triggerRefValue(ref2, dirtyLevel = 4, newVal, oldVal) { - ref2 = toRaw(ref2); - const dep = ref2.dep; - if (dep) { - triggerEffects( - dep, - dirtyLevel, - false ? { - target: ref2, - type: "set", - key: "value", - newValue: newVal, - oldValue: oldVal - } : void 0 - ); - } -} -__name(triggerRefValue, "triggerRefValue"); +const toReactive$1 = /* @__PURE__ */ __name((value4) => isObject$f(value4) ? reactive(value4) : value4, "toReactive$1"); +const toReadonly = /* @__PURE__ */ __name((value4) => isObject$f(value4) ? readonly(value4) : value4, "toReadonly"); function isRef(r2) { - return !!(r2 && r2.__v_isRef === true); + return r2 ? r2["__v_isRef"] === true : false; } __name(isRef, "isRef"); function ref(value4) { @@ -33000,49 +33900,79 @@ class RefImpl { static { __name(this, "RefImpl"); } - constructor(value4, __v_isShallow) { - this.__v_isShallow = __v_isShallow; - this.dep = void 0; - this.__v_isRef = true; - this._rawValue = __v_isShallow ? value4 : toRaw(value4); - this._value = __v_isShallow ? value4 : toReactive$1(value4); + constructor(value4, isShallow2) { + this.dep = new Dep(); + this["__v_isRef"] = true; + this["__v_isShallow"] = false; + this._rawValue = isShallow2 ? value4 : toRaw(value4); + this._value = isShallow2 ? value4 : toReactive$1(value4); + this["__v_isShallow"] = isShallow2; } get value() { - trackRefValue(this); + if (false) { + this.dep.track({ + target: this, + type: "get", + key: "value" + }); + } else { + this.dep.track(); + } return this._value; } - set value(newVal) { - const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal); - newVal = useDirectValue ? newVal : toRaw(newVal); - if (hasChanged(newVal, this._rawValue)) { - const oldVal = this._rawValue; - this._rawValue = newVal; - this._value = useDirectValue ? newVal : toReactive$1(newVal); - triggerRefValue(this, 4, newVal, oldVal); + set value(newValue2) { + const oldValue2 = this._rawValue; + const useDirectValue = this["__v_isShallow"] || isShallow(newValue2) || isReadonly(newValue2); + newValue2 = useDirectValue ? newValue2 : toRaw(newValue2); + if (hasChanged(newValue2, oldValue2)) { + this._rawValue = newValue2; + this._value = useDirectValue ? newValue2 : toReactive$1(newValue2); + if (false) { + this.dep.trigger({ + target: this, + type: "set", + key: "value", + newValue: newValue2, + oldValue: oldValue2 + }); + } else { + this.dep.trigger(); + } } } } function triggerRef(ref2) { - triggerRefValue(ref2, 4, false ? ref2.value : void 0); + if (ref2.dep) { + if (false) { + ref2.dep.trigger({ + target: ref2, + type: "set", + key: "value", + newValue: ref2._value + }); + } else { + ref2.dep.trigger(); + } + } } __name(triggerRef, "triggerRef"); function unref(ref2) { return isRef(ref2) ? ref2.value : ref2; } __name(unref, "unref"); -function toValue$1(source) { - return isFunction$8(source) ? source() : unref(source); +function toValue$4(source) { + return isFunction$c(source) ? source() : unref(source); } -__name(toValue$1, "toValue$1"); +__name(toValue$4, "toValue$4"); const shallowUnwrapHandlers = { - get: /* @__PURE__ */ __name((target, key, receiver) => unref(Reflect.get(target, key, receiver)), "get"), - set: /* @__PURE__ */ __name((target, key, value4, receiver) => { - const oldValue2 = target[key]; + get: /* @__PURE__ */ __name((target2, key, receiver) => key === "__v_raw" ? target2 : unref(Reflect.get(target2, key, receiver)), "get"), + set: /* @__PURE__ */ __name((target2, key, value4, receiver) => { + const oldValue2 = target2[key]; if (isRef(oldValue2) && !isRef(value4)) { oldValue2.value = value4; return true; } else { - return Reflect.set(target, key, value4, receiver); + return Reflect.set(target2, key, value4, receiver); } }, "set") }; @@ -33055,17 +33985,15 @@ class CustomRefImpl { __name(this, "CustomRefImpl"); } constructor(factory) { - this.dep = void 0; - this.__v_isRef = true; - const { get: get22, set: set22 } = factory( - () => trackRefValue(this), - () => triggerRefValue(this) - ); - this._get = get22; - this._set = set22; + this["__v_isRef"] = true; + this._value = void 0; + const dep = this.dep = new Dep(); + const { get: get3, set: set3 } = factory(dep.track.bind(dep), dep.trigger.bind(dep)); + this._get = get3; + this._set = set3; } get value() { - return this._get(); + return this._value = this._get(); } set value(newVal) { this._set(newVal); @@ -33079,7 +34007,7 @@ function toRefs$1(object) { if (false) { warn$4(`toRefs() expects a reactive object but received a plain one.`); } - const ret = isArray$9(object) ? new Array(object.length) : {}; + const ret = isArray$b(object) ? new Array(object.length) : {}; for (const key in object) { ret[key] = propertyToRef(object, key); } @@ -33094,11 +34022,12 @@ class ObjectRefImpl { this._object = _object; this._key = _key; this._defaultValue = _defaultValue; - this.__v_isRef = true; + this["__v_isRef"] = true; + this._value = void 0; } get value() { const val = this._object[this._key]; - return val === void 0 ? this._defaultValue : val; + return this._value = val === void 0 ? this._defaultValue : val; } set value(newVal) { this._object[this._key] = newVal; @@ -33113,31 +34042,98 @@ class GetterRefImpl { } constructor(_getter) { this._getter = _getter; - this.__v_isRef = true; - this.__v_isReadonly = true; + this["__v_isRef"] = true; + this["__v_isReadonly"] = true; + this._value = void 0; } get value() { - return this._getter(); + return this._value = this._getter(); } } -function toRef$1(source, key, defaultValue) { +function toRef$1(source, key, defaultValue2) { if (isRef(source)) { return source; - } else if (isFunction$8(source)) { + } else if (isFunction$c(source)) { return new GetterRefImpl(source); - } else if (isObject$d(source) && arguments.length > 1) { - return propertyToRef(source, key, defaultValue); + } else if (isObject$f(source) && arguments.length > 1) { + return propertyToRef(source, key, defaultValue2); } else { return ref(source); } } __name(toRef$1, "toRef$1"); -function propertyToRef(source, key, defaultValue) { +function propertyToRef(source, key, defaultValue2) { const val = source[key]; - return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue); + return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue2); } __name(propertyToRef, "propertyToRef"); -const deferredComputed = computed$1; +class ComputedRefImpl { + static { + __name(this, "ComputedRefImpl"); + } + constructor(fn, setter, isSSR) { + this.fn = fn; + this.setter = setter; + this._value = void 0; + this.dep = new Dep(this); + this.__v_isRef = true; + this.deps = void 0; + this.depsTail = void 0; + this.flags = 16; + this.globalVersion = globalVersion - 1; + this.next = void 0; + this.effect = this; + this["__v_isReadonly"] = !setter; + this.isSSR = isSSR; + } + /** + * @internal + */ + notify() { + this.flags |= 16; + if (!(this.flags & 8) && // avoid infinite self recursion + activeSub !== this) { + batch(this, true); + return true; + } else if (false) ; + } + get value() { + const link2 = false ? this.dep.track({ + target: this, + type: "get", + key: "value" + }) : this.dep.track(); + refreshComputed(this); + if (link2) { + link2.version = this.dep.version; + } + return this._value; + } + set value(newValue2) { + if (this.setter) { + this.setter(newValue2); + } else if (false) { + warn$4("Write operation failed: computed value is readonly"); + } + } +} +function computed$1(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + if (isFunction$c(getterOrOptions)) { + getter = getterOrOptions; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, isSSR); + if (false) { + cRef.onTrack = debugOptions.onTrack; + cRef.onTrigger = debugOptions.onTrigger; + } + return cRef; +} +__name(computed$1, "computed$1"); const TrackOpTypes = { "GET": "get", "HAS": "has", @@ -33154,10 +34150,226 @@ const ReactiveFlags = { "IS_REACTIVE": "__v_isReactive", "IS_READONLY": "__v_isReadonly", "IS_SHALLOW": "__v_isShallow", - "RAW": "__v_raw" + "RAW": "__v_raw", + "IS_REF": "__v_isRef" }; +const WatchErrorCodes = { + "WATCH_GETTER": 2, + "2": "WATCH_GETTER", + "WATCH_CALLBACK": 3, + "3": "WATCH_CALLBACK", + "WATCH_CLEANUP": 4, + "4": "WATCH_CLEANUP" +}; +const INITIAL_WATCHER_VALUE = {}; +const cleanupMap = /* @__PURE__ */ new WeakMap(); +let activeWatcher = void 0; +function getCurrentWatcher() { + return activeWatcher; +} +__name(getCurrentWatcher, "getCurrentWatcher"); +function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { + if (owner) { + let cleanups = cleanupMap.get(owner); + if (!cleanups) cleanupMap.set(owner, cleanups = []); + cleanups.push(cleanupFn); + } else if (false) { + warn$4( + `onWatcherCleanup() was called when there was no active watcher to associate with.` + ); + } +} +__name(onWatcherCleanup, "onWatcherCleanup"); +function watch$1(source, cb, options4 = EMPTY_OBJ) { + const { immediate, deep, once: once2, scheduler, augmentJob, call } = options4; + const warnInvalidSource = /* @__PURE__ */ __name((s2) => { + (options4.onWarn || warn$4)( + `Invalid watch source: `, + s2, + `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.` + ); + }, "warnInvalidSource"); + const reactiveGetter = /* @__PURE__ */ __name((source2) => { + if (deep) return source2; + if (isShallow(source2) || deep === false || deep === 0) + return traverse(source2, 1); + return traverse(source2); + }, "reactiveGetter"); + let effect2; + let getter; + let cleanup; + let boundCleanup; + let forceTrigger = false; + let isMultiSource = false; + if (isRef(source)) { + getter = /* @__PURE__ */ __name(() => source.value, "getter"); + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = /* @__PURE__ */ __name(() => reactiveGetter(source), "getter"); + forceTrigger = true; + } else if (isArray$b(source)) { + isMultiSource = true; + forceTrigger = source.some((s2) => isReactive(s2) || isShallow(s2)); + getter = /* @__PURE__ */ __name(() => source.map((s2) => { + if (isRef(s2)) { + return s2.value; + } else if (isReactive(s2)) { + return reactiveGetter(s2); + } else if (isFunction$c(s2)) { + return call ? call(s2, 2) : s2(); + } else { + } + }), "getter"); + } else if (isFunction$c(source)) { + if (cb) { + getter = call ? () => call(source, 2) : source; + } else { + getter = /* @__PURE__ */ __name(() => { + if (cleanup) { + pauseTracking(); + try { + cleanup(); + } finally { + resetTracking(); + } + } + const currentEffect = activeWatcher; + activeWatcher = effect2; + try { + return call ? call(source, 3, [boundCleanup]) : source(boundCleanup); + } finally { + activeWatcher = currentEffect; + } + }, "getter"); + } + } else { + getter = NOOP; + } + if (cb && deep) { + const baseGetter = getter; + const depth = deep === true ? Infinity : deep; + getter = /* @__PURE__ */ __name(() => traverse(baseGetter(), depth), "getter"); + } + const scope = getCurrentScope(); + const watchHandle = /* @__PURE__ */ __name(() => { + effect2.stop(); + if (scope && scope.active) { + remove$2(scope.effects, effect2); + } + }, "watchHandle"); + if (once2 && cb) { + const _cb = cb; + cb = /* @__PURE__ */ __name((...args) => { + _cb(...args); + watchHandle(); + }, "cb"); + } + let oldValue2 = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = /* @__PURE__ */ __name((immediateFirstRun) => { + if (!(effect2.flags & 1) || !effect2.dirty && !immediateFirstRun) { + return; + } + if (cb) { + const newValue2 = effect2.run(); + if (deep || forceTrigger || (isMultiSource ? newValue2.some((v2, i2) => hasChanged(v2, oldValue2[i2])) : hasChanged(newValue2, oldValue2))) { + if (cleanup) { + cleanup(); + } + const currentWatcher = activeWatcher; + activeWatcher = effect2; + try { + const args = [ + newValue2, + // pass undefined as the old value when it's changed for the first time + oldValue2 === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue2[0] === INITIAL_WATCHER_VALUE ? [] : oldValue2, + boundCleanup + ]; + call ? call(cb, 3, args) : ( + // @ts-expect-error + cb(...args) + ); + oldValue2 = newValue2; + } finally { + activeWatcher = currentWatcher; + } + } + } else { + effect2.run(); + } + }, "job"); + if (augmentJob) { + augmentJob(job); + } + effect2 = new ReactiveEffect(getter); + effect2.scheduler = scheduler ? () => scheduler(job, false) : job; + boundCleanup = /* @__PURE__ */ __name((fn) => onWatcherCleanup(fn, false, effect2), "boundCleanup"); + cleanup = effect2.onStop = () => { + const cleanups = cleanupMap.get(effect2); + if (cleanups) { + if (call) { + call(cleanups, 4); + } else { + for (const cleanup2 of cleanups) cleanup2(); + } + cleanupMap.delete(effect2); + } + }; + if (false) { + effect2.onTrack = options4.onTrack; + effect2.onTrigger = options4.onTrigger; + } + if (cb) { + if (immediate) { + job(true); + } else { + oldValue2 = effect2.run(); + } + } else if (scheduler) { + scheduler(job.bind(null, true), true); + } else { + effect2.run(); + } + watchHandle.pause = effect2.pause.bind(effect2); + watchHandle.resume = effect2.resume.bind(effect2); + watchHandle.stop = watchHandle; + return watchHandle; +} +__name(watch$1, "watch$1"); +function traverse(value4, depth = Infinity, seen2) { + if (depth <= 0 || !isObject$f(value4) || value4["__v_skip"]) { + return value4; + } + seen2 = seen2 || /* @__PURE__ */ new Set(); + if (seen2.has(value4)) { + return value4; + } + seen2.add(value4); + depth--; + if (isRef(value4)) { + traverse(value4.value, depth, seen2); + } else if (isArray$b(value4)) { + for (let i2 = 0; i2 < value4.length; i2++) { + traverse(value4[i2], depth, seen2); + } + } else if (isSet$3(value4) || isMap$3(value4)) { + value4.forEach((v2) => { + traverse(v2, depth, seen2); + }); + } else if (isPlainObject$4(value4)) { + for (const key in value4) { + traverse(value4[key], depth, seen2); + } + for (const key of Object.getOwnPropertySymbols(value4)) { + if (Object.prototype.propertyIsEnumerable.call(value4, key)) { + traverse(value4[key], depth, seen2); + } + } + } + return value4; +} +__name(traverse, "traverse"); /** -* @vue/runtime-core v3.4.31 +* @vue/runtime-core v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ @@ -33170,7 +34382,10 @@ function popWarningContext() { stack.pop(); } __name(popWarningContext, "popWarningContext"); +let isWarning = false; function warn$1$1(msg, ...args) { + if (isWarning) return; + isWarning = true; pauseTracking(); const instance = stack.length ? stack[stack.length - 1].component : null; const appWarnHandler = instance && instance.appContext.config.warnHandler; @@ -33203,6 +34418,7 @@ function warn$1$1(msg, ...args) { console.warn(...warnArgs); } resetTracking(); + isWarning = false; } __name(warn$1$1, "warn$1$1"); function getComponentTrace() { @@ -33261,7 +34477,7 @@ function formatProps(props) { } __name(formatProps, "formatProps"); function formatProp(key, value4, raw) { - if (isString$7(value4)) { + if (isString$9(value4)) { value4 = JSON.stringify(value4); return raw ? value4 : [`${key}=${value4}`]; } else if (typeof value4 === "number" || typeof value4 === "boolean" || value4 == null) { @@ -33269,7 +34485,7 @@ function formatProp(key, value4, raw) { } else if (isRef(value4)) { value4 = formatProp(key, toRaw(value4.value), true); return raw ? value4 : [`${key}=Ref<`, value4, `>`]; - } else if (isFunction$8(value4)) { + } else if (isFunction$c(value4)) { return [`${key}=fn${value4.name ? `<${value4.name}>` : ``}`]; } else { value4 = toRaw(value4); @@ -33293,12 +34509,6 @@ const ErrorCodes = { "0": "SETUP_FUNCTION", "RENDER_FUNCTION": 1, "1": "RENDER_FUNCTION", - "WATCH_GETTER": 2, - "2": "WATCH_GETTER", - "WATCH_CALLBACK": 3, - "3": "WATCH_CALLBACK", - "WATCH_CLEANUP": 4, - "4": "WATCH_CLEANUP", "NATIVE_EVENT_HANDLER": 5, "5": "NATIVE_EVENT_HANDLER", "COMPONENT_EVENT_HANDLER": 6, @@ -33318,7 +34528,11 @@ const ErrorCodes = { "ASYNC_COMPONENT_LOADER": 13, "13": "ASYNC_COMPONENT_LOADER", "SCHEDULER": 14, - "14": "SCHEDULER" + "14": "SCHEDULER", + "COMPONENT_UPDATE": 15, + "15": "COMPONENT_UPDATE", + "APP_UNMOUNT_CLEANUP": 16, + "16": "APP_UNMOUNT_CLEANUP" }; const ErrorTypeStrings$1 = { ["sp"]: "serverPrefetch hook", @@ -33349,7 +34563,9 @@ const ErrorTypeStrings$1 = { [11]: "app warnHandler", [12]: "ref function", [13]: "async component loader", - [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ." + [14]: "scheduler flush", + [15]: "component update", + [16]: "app unmount cleanup function" }; function callWithErrorHandling(fn, instance, type, args) { try { @@ -33360,7 +34576,7 @@ function callWithErrorHandling(fn, instance, type, args) { } __name(callWithErrorHandling, "callWithErrorHandling"); function callWithAsyncErrorHandling(fn, instance, type, args) { - if (isFunction$8(fn)) { + if (isFunction$c(fn)) { const res = callWithErrorHandling(fn, instance, type, args); if (res && isPromise$1(res)) { res.catch((err) => { @@ -33369,7 +34585,7 @@ function callWithAsyncErrorHandling(fn, instance, type, args) { } return res; } - if (isArray$9(fn)) { + if (isArray$b(fn)) { const values = []; for (let i2 = 0; i2 < fn.length; i2++) { values.push(callWithAsyncErrorHandling(fn[i2], instance, type, args)); @@ -33384,6 +34600,7 @@ function callWithAsyncErrorHandling(fn, instance, type, args) { __name(callWithAsyncErrorHandling, "callWithAsyncErrorHandling"); function handleError(err, instance, type, throwInDev = true) { const contextVNode = instance ? instance.vnode : null; + const { errorHandler: errorHandler2, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ; if (instance) { let cur = instance.parent; const exposedInstance = instance.proxy; @@ -33399,23 +34616,21 @@ function handleError(err, instance, type, throwInDev = true) { } cur = cur.parent; } - const appErrorHandler = instance.appContext.config.errorHandler; - if (appErrorHandler) { + if (errorHandler2) { pauseTracking(); - callWithErrorHandling( - appErrorHandler, - null, - 10, - [err, exposedInstance, errorInfo] - ); + callWithErrorHandling(errorHandler2, null, 10, [ + err, + exposedInstance, + errorInfo + ]); resetTracking(); return; } } - logError(err, type, contextVNode, throwInDev); + logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); } __name(handleError, "handleError"); -function logError(err, type, contextVNode, throwInDev = true) { +function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { if (false) { const info = ErrorTypeStrings$1[type]; if (contextVNode) { @@ -33430,15 +34645,15 @@ function logError(err, type, contextVNode, throwInDev = true) { } else { console.error(err); } + } else if (throwInProd) { + throw err; } else { console.error(err); } } __name(logError, "logError"); -let isFlushing = false; -let isFlushPending = false; const queue = []; -let flushIndex = 0; +let flushIndex = -1; const pendingPostFlushCbs = []; let activePostFlushCbs = null; let postFlushIndex = 0; @@ -33457,7 +34672,7 @@ function findInsertionIndex$1(id3) { const middle = start2 + end >>> 1; const middleJob = queue[middle]; const middleJobId = getId(middleJob); - if (middleJobId < id3 || middleJobId === id3 && middleJob.pre) { + if (middleJobId < id3 || middleJobId === id3 && middleJob.flags & 2) { start2 = middle + 1; } else { end = middle; @@ -33467,40 +34682,33 @@ function findInsertionIndex$1(id3) { } __name(findInsertionIndex$1, "findInsertionIndex$1"); function queueJob(job) { - if (!queue.length || !queue.includes( - job, - isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex - )) { - if (job.id == null) { + if (!(job.flags & 1)) { + const jobId = getId(job); + const lastJob = queue[queue.length - 1]; + if (!lastJob || // fast path when the job id is larger than the tail + !(job.flags & 2) && jobId >= getId(lastJob)) { queue.push(job); } else { - queue.splice(findInsertionIndex$1(job.id), 0, job); + queue.splice(findInsertionIndex$1(jobId), 0, job); } + job.flags |= 1; queueFlush(); } } __name(queueJob, "queueJob"); function queueFlush() { - if (!isFlushing && !isFlushPending) { - isFlushPending = true; + if (!currentFlushPromise) { currentFlushPromise = resolvedPromise.then(flushJobs); } } __name(queueFlush, "queueFlush"); -function invalidateJob(job) { - const i2 = queue.indexOf(job); - if (i2 > flushIndex) { - queue.splice(i2, 1); - } -} -__name(invalidateJob, "invalidateJob"); function queuePostFlushCb(cb) { - if (!isArray$9(cb)) { - if (!activePostFlushCbs || !activePostFlushCbs.includes( - cb, - cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex - )) { + if (!isArray$b(cb)) { + if (activePostFlushCbs && cb.id === -1) { + activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); + } else if (!(cb.flags & 1)) { pendingPostFlushCbs.push(cb); + cb.flags |= 1; } } else { pendingPostFlushCbs.push(...cb); @@ -33508,13 +34716,13 @@ function queuePostFlushCb(cb) { queueFlush(); } __name(queuePostFlushCb, "queuePostFlushCb"); -function flushPreFlushCbs(instance, seen2, i2 = isFlushing ? flushIndex + 1 : 0) { +function flushPreFlushCbs(instance, seen2, i2 = flushIndex + 1) { if (false) { seen2 = seen2 || /* @__PURE__ */ new Map(); } for (; i2 < queue.length; i2++) { const cb = queue[i2]; - if (cb && cb.pre) { + if (cb && cb.flags & 2) { if (instance && cb.id !== instance.uid) { continue; } @@ -33523,7 +34731,13 @@ function flushPreFlushCbs(instance, seen2, i2 = isFlushing ? flushIndex + 1 : 0) } queue.splice(i2, 1); i2--; + if (cb.flags & 4) { + cb.flags &= ~1; + } cb(); + if (!(cb.flags & 4)) { + cb.flags &= ~1; + } } } } @@ -33547,45 +34761,53 @@ function flushPostFlushCbs(seen2) { if (false) { continue; } - if (cb.active !== false) cb(); + if (cb.flags & 4) { + cb.flags &= ~1; + } + if (!(cb.flags & 8)) cb(); + cb.flags &= ~1; } activePostFlushCbs = null; postFlushIndex = 0; } } __name(flushPostFlushCbs, "flushPostFlushCbs"); -const getId = /* @__PURE__ */ __name((job) => job.id == null ? Infinity : job.id, "getId"); -const comparator = /* @__PURE__ */ __name((a2, b2) => { - const diff2 = getId(a2) - getId(b2); - if (diff2 === 0) { - if (a2.pre && !b2.pre) return -1; - if (b2.pre && !a2.pre) return 1; - } - return diff2; -}, "comparator"); +const getId = /* @__PURE__ */ __name((job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id, "getId"); function flushJobs(seen2) { - isFlushPending = false; - isFlushing = true; if (false) { seen2 = seen2 || /* @__PURE__ */ new Map(); } - queue.sort(comparator); const check = false ? (job) => checkRecursiveUpdates(seen2, job) : NOOP; try { for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { const job = queue[flushIndex]; - if (job && job.active !== false) { + if (job && !(job.flags & 8)) { if (false) { continue; } - callWithErrorHandling(job, null, 14); + if (job.flags & 4) { + job.flags &= ~1; + } + callWithErrorHandling( + job, + job.i, + job.i ? 15 : 14 + ); + if (!(job.flags & 4)) { + job.flags &= ~1; + } } } } finally { - flushIndex = 0; + for (; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job) { + job.flags &= ~1; + } + } + flushIndex = -1; queue.length = 0; flushPostFlushCbs(seen2); - isFlushing = false; currentFlushPromise = null; if (queue.length || pendingPostFlushCbs.length) { flushJobs(seen2); @@ -33594,27 +34816,23 @@ function flushJobs(seen2) { } __name(flushJobs, "flushJobs"); function checkRecursiveUpdates(seen2, fn) { - if (!seen2.has(fn)) { - seen2.set(fn, 1); - } else { - const count = seen2.get(fn); - if (count > RECURSION_LIMIT) { - const instance = fn.ownerInstance; - const componentName = instance && getComponentName(instance.type); - handleError( - `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, - null, - 10 - ); - return true; - } else { - seen2.set(fn, count + 1); - } + const count = seen2.get(fn) || 0; + if (count > RECURSION_LIMIT) { + const instance = fn.i; + const componentName = instance && getComponentName(instance.type); + handleError( + `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, + null, + 10 + ); + return true; } + seen2.set(fn, count + 1); + return false; } __name(checkRecursiveUpdates, "checkRecursiveUpdates"); let isHmrUpdating = false; -const hmrDirtyComponents = /* @__PURE__ */ new Set(); +const hmrDirtyComponents = /* @__PURE__ */ new Map(); if (false) { getGlobalThis$1().__VUE_HMR_RUNTIME__ = { createRecord: tryWrap(createRecord), @@ -33665,7 +34883,6 @@ function rerender(id3, newRender) { } instance.renderCache = []; isHmrUpdating = true; - instance.effect.dirty = true; instance.update(); isHmrUpdating = false; }); @@ -33677,26 +34894,30 @@ function reload(id3, newComp) { newComp = normalizeClassComponent(newComp); updateComponentDef(record2.initialDef, newComp); const instances = [...record2.instances]; - for (const instance of instances) { + for (let i2 = 0; i2 < instances.length; i2++) { + const instance = instances[i2]; const oldComp = normalizeClassComponent(instance.type); - if (!hmrDirtyComponents.has(oldComp)) { + let dirtyInstances = hmrDirtyComponents.get(oldComp); + if (!dirtyInstances) { if (oldComp !== record2.initialDef) { updateComponentDef(oldComp, newComp); } - hmrDirtyComponents.add(oldComp); + hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set()); } + dirtyInstances.add(instance); instance.appContext.propsCache.delete(instance.type); instance.appContext.emitsCache.delete(instance.type); instance.appContext.optionsCache.delete(instance.type); if (instance.ceReload) { - hmrDirtyComponents.add(oldComp); + dirtyInstances.add(instance); instance.ceReload(newComp.styles); - hmrDirtyComponents.delete(oldComp); + dirtyInstances.delete(instance); } else if (instance.parent) { - instance.parent.effect.dirty = true; queueJob(() => { + isHmrUpdating = true; instance.parent.update(); - hmrDirtyComponents.delete(oldComp); + isHmrUpdating = false; + dirtyInstances.delete(instance); }); } else if (instance.appContext.reload) { instance.appContext.reload(); @@ -33707,13 +34928,12 @@ function reload(id3, newComp) { "[HMR] Root or manually mounted instance modified. Full reload required." ); } + if (instance.root.ce && instance !== instance.root) { + instance.root.ce._removeChildStyle(oldComp); + } } queuePostFlushCb(() => { - for (const instance of instances) { - hmrDirtyComponents.delete( - normalizeClassComponent(instance.type) - ); - } + hmrDirtyComponents.clear(); }); } __name(reload, "reload"); @@ -33750,7 +34970,7 @@ function emit$1(event, ...args) { } } __name(emit$1, "emit$1"); -function setDevtoolsHook$1(hook, target) { +function setDevtoolsHook$1(hook, target2) { var _a2, _b; devtools$1 = hook; if (devtools$1) { @@ -33766,13 +34986,13 @@ function setDevtoolsHook$1(hook, target) { // eslint-disable-next-line no-restricted-syntax !((_b = (_a2 = window.navigator) == null ? void 0 : _a2.userAgent) == null ? void 0 : _b.includes("jsdom")) ) { - const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; + const replay = target2.__VUE_DEVTOOLS_HOOK_REPLAY__ = target2.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; replay.push((newHook) => { - setDevtoolsHook$1(newHook, target); + setDevtoolsHook$1(newHook, target2); }); setTimeout(() => { if (!devtools$1) { - target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; + target2.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; devtoolsNotInstalled = true; buffer = []; } @@ -33852,146 +35072,6 @@ function devtoolsComponentEmit(component, event, params) { ); } __name(devtoolsComponentEmit, "devtoolsComponentEmit"); -function emit(instance, event, ...rawArgs) { - if (instance.isUnmounted) return; - const props = instance.vnode.props || EMPTY_OBJ; - if (false) { - const { - emitsOptions, - propsOptions: [propsOptions] - } = instance; - if (emitsOptions) { - if (!(event in emitsOptions) && true) { - if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { - warn$1$1( - `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.` - ); - } - } else { - const validator3 = emitsOptions[event]; - if (isFunction$8(validator3)) { - const isValid2 = validator3(...rawArgs); - if (!isValid2) { - warn$1$1( - `Invalid event arguments: event validation failed for event "${event}".` - ); - } - } - } - } - } - let args = rawArgs; - const isModelListener2 = event.startsWith("update:"); - const modelArg = isModelListener2 && event.slice(7); - if (modelArg && modelArg in props) { - const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; - const { number: number2, trim: trim2 } = props[modifiersKey] || EMPTY_OBJ; - if (trim2) { - args = rawArgs.map((a2) => isString$7(a2) ? a2.trim() : a2); - } - if (number2) { - args = rawArgs.map(looseToNumber); - } - } - if (false) { - devtoolsComponentEmit(instance, event, args); - } - if (false) { - const lowerCaseEvent = event.toLowerCase(); - if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { - warn$1$1( - `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName( - instance, - instance.type - )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate$1( - event - )}" instead of "${event}".` - ); - } - } - let handlerName; - let handler6 = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249) - props[handlerName = toHandlerKey(camelize$1(event))]; - if (!handler6 && isModelListener2) { - handler6 = props[handlerName = toHandlerKey(hyphenate$1(event))]; - } - if (handler6) { - callWithAsyncErrorHandling( - handler6, - instance, - 6, - args - ); - } - const onceHandler = props[handlerName + `Once`]; - if (onceHandler) { - if (!instance.emitted) { - instance.emitted = {}; - } else if (instance.emitted[handlerName]) { - return; - } - instance.emitted[handlerName] = true; - callWithAsyncErrorHandling( - onceHandler, - instance, - 6, - args - ); - } -} -__name(emit, "emit"); -function normalizeEmitsOptions(comp, appContext, asMixin = false) { - const cache2 = appContext.emitsCache; - const cached = cache2.get(comp); - if (cached !== void 0) { - return cached; - } - const raw = comp.emits; - let normalized = {}; - let hasExtends = false; - if (!isFunction$8(comp)) { - const extendEmits = /* @__PURE__ */ __name((raw2) => { - const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); - if (normalizedFromExtend) { - hasExtends = true; - extend$1(normalized, normalizedFromExtend); - } - }, "extendEmits"); - if (!asMixin && appContext.mixins.length) { - appContext.mixins.forEach(extendEmits); - } - if (comp.extends) { - extendEmits(comp.extends); - } - if (comp.mixins) { - comp.mixins.forEach(extendEmits); - } - } - if (!raw && !hasExtends) { - if (isObject$d(comp)) { - cache2.set(comp, null); - } - return null; - } - if (isArray$9(raw)) { - raw.forEach((key) => normalized[key] = null); - } else { - extend$1(normalized, raw); - } - if (isObject$d(comp)) { - cache2.set(comp, normalized); - } - return normalized; -} -__name(normalizeEmitsOptions, "normalizeEmitsOptions"); -function isEmitListener(options4, key) { - if (!options4 || !isOn(key)) { - return false; - } - key = key.slice(2).replace(/Once$/, ""); - return hasOwn$3(options4, key[0].toLowerCase() + key.slice(1)) || hasOwn$3(options4, hyphenate$1(key)) || hasOwn$3(options4, key); -} -__name(isEmitListener, "isEmitListener"); let currentRenderingInstance = null; let currentScopeId = null; function setCurrentRenderingInstance(instance) { @@ -34040,1008 +35120,6 @@ function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { return renderFnWithContext; } __name(withCtx, "withCtx"); -let accessedAttrs = false; -function markAttrsAccessed() { - accessedAttrs = true; -} -__name(markAttrsAccessed, "markAttrsAccessed"); -function renderComponentRoot(instance) { - const { - type: Component, - vnode, - proxy, - withProxy, - propsOptions: [propsOptions], - slots, - attrs: attrs4, - emit: emit2, - render: render2, - renderCache, - props, - data: data25, - setupState, - ctx, - inheritAttrs - } = instance; - const prev2 = setCurrentRenderingInstance(instance); - let result; - let fallthroughAttrs; - if (false) { - accessedAttrs = false; - } - try { - if (vnode.shapeFlag & 4) { - const proxyToUse = withProxy || proxy; - const thisProxy = false ? new Proxy(proxyToUse, { - get(target, key, receiver) { - warn$1$1( - `Property '${String( - key - )}' was accessed via 'this'. Avoid using 'this' in templates.` - ); - return Reflect.get(target, key, receiver); - } - }) : proxyToUse; - result = normalizeVNode( - render2.call( - thisProxy, - proxyToUse, - renderCache, - false ? shallowReadonly(props) : props, - setupState, - data25, - ctx - ) - ); - fallthroughAttrs = attrs4; - } else { - const render22 = Component; - if (false) { - markAttrsAccessed(); - } - result = normalizeVNode( - render22.length > 1 ? render22( - false ? shallowReadonly(props) : props, - false ? { - get attrs() { - markAttrsAccessed(); - return shallowReadonly(attrs4); - }, - slots, - emit: emit2 - } : { attrs: attrs4, slots, emit: emit2 } - ) : render22( - false ? shallowReadonly(props) : props, - null - ) - ); - fallthroughAttrs = Component.props ? attrs4 : getFunctionalFallthrough(attrs4); - } - } catch (err) { - blockStack.length = 0; - handleError(err, instance, 1); - result = createVNode(Comment); - } - let root27 = result; - let setRoot = void 0; - if (false) { - [root27, setRoot] = getChildRoot(result); - } - if (fallthroughAttrs && inheritAttrs !== false) { - const keys2 = Object.keys(fallthroughAttrs); - const { shapeFlag } = root27; - if (keys2.length) { - if (shapeFlag & (1 | 6)) { - if (propsOptions && keys2.some(isModelListener)) { - fallthroughAttrs = filterModelListeners( - fallthroughAttrs, - propsOptions - ); - } - root27 = cloneVNode(root27, fallthroughAttrs, false, true); - } else if (false) { - const allAttrs = Object.keys(attrs4); - const eventAttrs = []; - const extraAttrs = []; - for (let i2 = 0, l2 = allAttrs.length; i2 < l2; i2++) { - const key = allAttrs[i2]; - if (isOn(key)) { - if (!isModelListener(key)) { - eventAttrs.push(key[2].toLowerCase() + key.slice(3)); - } - } else { - extraAttrs.push(key); - } - } - if (extraAttrs.length) { - warn$1$1( - `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.` - ); - } - if (eventAttrs.length) { - warn$1$1( - `Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.` - ); - } - } - } - } - if (vnode.dirs) { - if (false) { - warn$1$1( - `Runtime directive used on component with non-element root node. The directives will not function as intended.` - ); - } - root27 = cloneVNode(root27, null, false, true); - root27.dirs = root27.dirs ? root27.dirs.concat(vnode.dirs) : vnode.dirs; - } - if (vnode.transition) { - if (false) { - warn$1$1( - `Component inside renders non-element root node that cannot be animated.` - ); - } - root27.transition = vnode.transition; - } - if (false) { - setRoot(root27); - } else { - result = root27; - } - setCurrentRenderingInstance(prev2); - return result; -} -__name(renderComponentRoot, "renderComponentRoot"); -const getChildRoot = /* @__PURE__ */ __name((vnode) => { - const rawChildren = vnode.children; - const dynamicChildren = vnode.dynamicChildren; - const childRoot = filterSingleRoot(rawChildren, false); - if (!childRoot) { - return [vnode, void 0]; - } else if (false) { - return getChildRoot(childRoot); - } - const index2 = rawChildren.indexOf(childRoot); - const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1; - const setRoot = /* @__PURE__ */ __name((updatedRoot) => { - rawChildren[index2] = updatedRoot; - if (dynamicChildren) { - if (dynamicIndex > -1) { - dynamicChildren[dynamicIndex] = updatedRoot; - } else if (updatedRoot.patchFlag > 0) { - vnode.dynamicChildren = [...dynamicChildren, updatedRoot]; - } - } - }, "setRoot"); - return [normalizeVNode(childRoot), setRoot]; -}, "getChildRoot"); -function filterSingleRoot(children, recurse = true) { - let singleRoot; - for (let i2 = 0; i2 < children.length; i2++) { - const child = children[i2]; - if (isVNode$1(child)) { - if (child.type !== Comment || child.children === "v-if") { - if (singleRoot) { - return; - } else { - singleRoot = child; - if (false) { - return filterSingleRoot(singleRoot.children); - } - } - } - } else { - return; - } - } - return singleRoot; -} -__name(filterSingleRoot, "filterSingleRoot"); -const getFunctionalFallthrough = /* @__PURE__ */ __name((attrs4) => { - let res; - for (const key in attrs4) { - if (key === "class" || key === "style" || isOn(key)) { - (res || (res = {}))[key] = attrs4[key]; - } - } - return res; -}, "getFunctionalFallthrough"); -const filterModelListeners = /* @__PURE__ */ __name((attrs4, props) => { - const res = {}; - for (const key in attrs4) { - if (!isModelListener(key) || !(key.slice(9) in props)) { - res[key] = attrs4[key]; - } - } - return res; -}, "filterModelListeners"); -const isElementRoot = /* @__PURE__ */ __name((vnode) => { - return vnode.shapeFlag & (6 | 1) || vnode.type === Comment; -}, "isElementRoot"); -function shouldUpdateComponent(prevVNode, nextVNode, optimized) { - const { props: prevProps, children: prevChildren, component } = prevVNode; - const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; - const emits = component.emitsOptions; - if (false) { - return true; - } - if (nextVNode.dirs || nextVNode.transition) { - return true; - } - if (optimized && patchFlag >= 0) { - if (patchFlag & 1024) { - return true; - } - if (patchFlag & 16) { - if (!prevProps) { - return !!nextProps; - } - return hasPropsChanged(prevProps, nextProps, emits); - } else if (patchFlag & 8) { - const dynamicProps = nextVNode.dynamicProps; - for (let i2 = 0; i2 < dynamicProps.length; i2++) { - const key = dynamicProps[i2]; - if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { - return true; - } - } - } - } else { - if (prevChildren || nextChildren) { - if (!nextChildren || !nextChildren.$stable) { - return true; - } - } - if (prevProps === nextProps) { - return false; - } - if (!prevProps) { - return !!nextProps; - } - if (!nextProps) { - return true; - } - return hasPropsChanged(prevProps, nextProps, emits); - } - return false; -} -__name(shouldUpdateComponent, "shouldUpdateComponent"); -function hasPropsChanged(prevProps, nextProps, emitsOptions) { - const nextKeys = Object.keys(nextProps); - if (nextKeys.length !== Object.keys(prevProps).length) { - return true; - } - for (let i2 = 0; i2 < nextKeys.length; i2++) { - const key = nextKeys[i2]; - if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { - return true; - } - } - return false; -} -__name(hasPropsChanged, "hasPropsChanged"); -function updateHOCHostEl({ vnode, parent }, el) { - while (parent) { - const root27 = parent.subTree; - if (root27.suspense && root27.suspense.activeBranch === vnode) { - root27.el = vnode.el; - } - if (root27 === vnode) { - (vnode = parent.vnode).el = el; - parent = parent.parent; - } else { - break; - } - } -} -__name(updateHOCHostEl, "updateHOCHostEl"); -const COMPONENTS = "components"; -const DIRECTIVES = "directives"; -function resolveComponent(name2, maybeSelfReference) { - return resolveAsset(COMPONENTS, name2, true, maybeSelfReference) || name2; -} -__name(resolveComponent, "resolveComponent"); -const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); -function resolveDynamicComponent(component) { - if (isString$7(component)) { - return resolveAsset(COMPONENTS, component, false) || component; - } else { - return component || NULL_DYNAMIC_COMPONENT; - } -} -__name(resolveDynamicComponent, "resolveDynamicComponent"); -function resolveDirective(name2) { - return resolveAsset(DIRECTIVES, name2); -} -__name(resolveDirective, "resolveDirective"); -function resolveAsset(type, name2, warnMissing = true, maybeSelfReference = false) { - const instance = currentRenderingInstance || currentInstance; - if (instance) { - const Component = instance.type; - if (type === COMPONENTS) { - const selfName = getComponentName( - Component, - false - ); - if (selfName && (selfName === name2 || selfName === camelize$1(name2) || selfName === capitalize$1(camelize$1(name2)))) { - return Component; - } - } - const res = ( - // local registration - // check instance[type] first which is resolved for options API - resolve(instance[type] || Component[type], name2) || // global registration - resolve(instance.appContext[type], name2) - ); - if (!res && maybeSelfReference) { - return Component; - } - if (false) { - const extra = type === COMPONENTS ? ` -If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; - warn$1$1(`Failed to resolve ${type.slice(0, -1)}: ${name2}${extra}`); - } - return res; - } else if (false) { - warn$1$1( - `resolve${capitalize$1(type.slice(0, -1))} can only be used in render() or setup().` - ); - } -} -__name(resolveAsset, "resolveAsset"); -function resolve(registry, name2) { - return registry && (registry[name2] || registry[camelize$1(name2)] || registry[capitalize$1(camelize$1(name2))]); -} -__name(resolve, "resolve"); -const isSuspense = /* @__PURE__ */ __name((type) => type.__isSuspense, "isSuspense"); -let suspenseId = 0; -const SuspenseImpl = { - name: "Suspense", - // In order to make Suspense tree-shakable, we need to avoid importing it - // directly in the renderer. The renderer checks for the __isSuspense flag - // on a vnode's type and calls the `process` method, passing in renderer - // internals. - __isSuspense: true, - process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { - if (n1 == null) { - mountSuspense( - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace, - slotScopeIds, - optimized, - rendererInternals - ); - } else { - if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) { - n2.suspense = n1.suspense; - n2.suspense.vnode = n2; - n2.el = n1.el; - return; - } - patchSuspense( - n1, - n2, - container, - anchor, - parentComponent, - namespace, - slotScopeIds, - optimized, - rendererInternals - ); - } - }, - hydrate: hydrateSuspense, - normalize: normalizeSuspenseChildren -}; -const Suspense = SuspenseImpl; -function triggerEvent(vnode, name2) { - const eventListener = vnode.props && vnode.props[name2]; - if (isFunction$8(eventListener)) { - eventListener(); - } -} -__name(triggerEvent, "triggerEvent"); -function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { - const { - p: patch2, - o: { createElement: createElement2 } - } = rendererInternals; - const hiddenContainer = createElement2("div"); - const suspense = vnode.suspense = createSuspenseBoundary( - vnode, - parentSuspense, - parentComponent, - container, - hiddenContainer, - anchor, - namespace, - slotScopeIds, - optimized, - rendererInternals - ); - patch2( - null, - suspense.pendingBranch = vnode.ssContent, - hiddenContainer, - null, - parentComponent, - suspense, - namespace, - slotScopeIds - ); - if (suspense.deps > 0) { - triggerEvent(vnode, "onPending"); - triggerEvent(vnode, "onFallback"); - patch2( - null, - vnode.ssFallback, - container, - anchor, - parentComponent, - null, - // fallback tree will not have suspense context - namespace, - slotScopeIds - ); - setActiveBranch(suspense, vnode.ssFallback); - } else { - suspense.resolve(false, true); - } -} -__name(mountSuspense, "mountSuspense"); -function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch2, um: unmount, o: { createElement: createElement2 } }) { - const suspense = n2.suspense = n1.suspense; - suspense.vnode = n2; - n2.el = n1.el; - const newBranch = n2.ssContent; - const newFallback = n2.ssFallback; - const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense; - if (pendingBranch) { - suspense.pendingBranch = newBranch; - if (isSameVNodeType(newBranch, pendingBranch)) { - patch2( - pendingBranch, - newBranch, - suspense.hiddenContainer, - null, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - if (suspense.deps <= 0) { - suspense.resolve(); - } else if (isInFallback) { - if (!isHydrating) { - patch2( - activeBranch, - newFallback, - container, - anchor, - parentComponent, - null, - // fallback tree will not have suspense context - namespace, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, newFallback); - } - } - } else { - suspense.pendingId = suspenseId++; - if (isHydrating) { - suspense.isHydrating = false; - suspense.activeBranch = pendingBranch; - } else { - unmount(pendingBranch, parentComponent, suspense); - } - suspense.deps = 0; - suspense.effects.length = 0; - suspense.hiddenContainer = createElement2("div"); - if (isInFallback) { - patch2( - null, - newBranch, - suspense.hiddenContainer, - null, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - if (suspense.deps <= 0) { - suspense.resolve(); - } else { - patch2( - activeBranch, - newFallback, - container, - anchor, - parentComponent, - null, - // fallback tree will not have suspense context - namespace, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, newFallback); - } - } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { - patch2( - activeBranch, - newBranch, - container, - anchor, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - suspense.resolve(true); - } else { - patch2( - null, - newBranch, - suspense.hiddenContainer, - null, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - if (suspense.deps <= 0) { - suspense.resolve(); - } - } - } - } else { - if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { - patch2( - activeBranch, - newBranch, - container, - anchor, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, newBranch); - } else { - triggerEvent(n2, "onPending"); - suspense.pendingBranch = newBranch; - if (newBranch.shapeFlag & 512) { - suspense.pendingId = newBranch.component.suspenseId; - } else { - suspense.pendingId = suspenseId++; - } - patch2( - null, - newBranch, - suspense.hiddenContainer, - null, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - if (suspense.deps <= 0) { - suspense.resolve(); - } else { - const { timeout, pendingId } = suspense; - if (timeout > 0) { - setTimeout(() => { - if (suspense.pendingId === pendingId) { - suspense.fallback(newFallback); - } - }, timeout); - } else if (timeout === 0) { - suspense.fallback(newFallback); - } - } - } - } -} -__name(patchSuspense, "patchSuspense"); -let hasWarned$1 = false; -function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) { - if (false) { - hasWarned$1 = true; - console[console.info ? "info" : "log"]( - ` is an experimental feature and its API will likely change.` - ); - } - const { - p: patch2, - m: move, - um: unmount, - n: next2, - o: { parentNode: parentNode2, remove: remove22 } - } = rendererInternals; - let parentSuspenseId; - const isSuspensible = isVNodeSuspensible(vnode); - if (isSuspensible) { - if (parentSuspense && parentSuspense.pendingBranch) { - parentSuspenseId = parentSuspense.pendingId; - parentSuspense.deps++; - } - } - const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0; - if (false) { - assertNumber(timeout, `Suspense timeout`); - } - const initialAnchor = anchor; - const suspense = { - vnode, - parent: parentSuspense, - parentComponent, - namespace, - container, - hiddenContainer, - deps: 0, - pendingId: suspenseId++, - timeout: typeof timeout === "number" ? timeout : -1, - activeBranch: null, - pendingBranch: null, - isInFallback: !isHydrating, - isHydrating, - isUnmounted: false, - effects: [], - resolve(resume = false, sync = false) { - if (false) { - if (!resume && !suspense.pendingBranch) { - throw new Error( - `suspense.resolve() is called without a pending branch.` - ); - } - if (suspense.isUnmounted) { - throw new Error( - `suspense.resolve() is called on an already unmounted suspense boundary.` - ); - } - } - const { - vnode: vnode2, - activeBranch, - pendingBranch, - pendingId, - effects, - parentComponent: parentComponent2, - container: container2 - } = suspense; - let delayEnter = false; - if (suspense.isHydrating) { - suspense.isHydrating = false; - } else if (!resume) { - delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in"; - if (delayEnter) { - activeBranch.transition.afterLeave = () => { - if (pendingId === suspense.pendingId) { - move( - pendingBranch, - container2, - anchor === initialAnchor ? next2(activeBranch) : anchor, - 0 - ); - queuePostFlushCb(effects); - } - }; - } - if (activeBranch) { - if (parentNode2(activeBranch.el) !== suspense.hiddenContainer) { - anchor = next2(activeBranch); - } - unmount(activeBranch, parentComponent2, suspense, true); - } - if (!delayEnter) { - move(pendingBranch, container2, anchor, 0); - } - } - setActiveBranch(suspense, pendingBranch); - suspense.pendingBranch = null; - suspense.isInFallback = false; - let parent = suspense.parent; - let hasUnresolvedAncestor = false; - while (parent) { - if (parent.pendingBranch) { - parent.effects.push(...effects); - hasUnresolvedAncestor = true; - break; - } - parent = parent.parent; - } - if (!hasUnresolvedAncestor && !delayEnter) { - queuePostFlushCb(effects); - } - suspense.effects = []; - if (isSuspensible) { - if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) { - parentSuspense.deps--; - if (parentSuspense.deps === 0 && !sync) { - parentSuspense.resolve(); - } - } - } - triggerEvent(vnode2, "onResolve"); - }, - fallback(fallbackVNode) { - if (!suspense.pendingBranch) { - return; - } - const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense; - triggerEvent(vnode2, "onFallback"); - const anchor2 = next2(activeBranch); - const mountFallback = /* @__PURE__ */ __name(() => { - if (!suspense.isInFallback) { - return; - } - patch2( - null, - fallbackVNode, - container2, - anchor2, - parentComponent2, - null, - // fallback tree will not have suspense context - namespace2, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, fallbackVNode); - }, "mountFallback"); - const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in"; - if (delayEnter) { - activeBranch.transition.afterLeave = mountFallback; - } - suspense.isInFallback = true; - unmount( - activeBranch, - parentComponent2, - null, - // no suspense so unmount hooks fire now - true - // shouldRemove - ); - if (!delayEnter) { - mountFallback(); - } - }, - move(container2, anchor2, type) { - suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type); - suspense.container = container2; - }, - next() { - return suspense.activeBranch && next2(suspense.activeBranch); - }, - registerDep(instance, setupRenderEffect, optimized2) { - const isInPendingSuspense = !!suspense.pendingBranch; - if (isInPendingSuspense) { - suspense.deps++; - } - const hydratedEl = instance.vnode.el; - instance.asyncDep.catch((err) => { - handleError(err, instance, 0); - }).then((asyncSetupResult) => { - if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { - return; - } - instance.asyncResolved = true; - const { vnode: vnode2 } = instance; - if (false) { - pushWarningContext(vnode2); - } - handleSetupResult(instance, asyncSetupResult, false); - if (hydratedEl) { - vnode2.el = hydratedEl; - } - const placeholder = !hydratedEl && instance.subTree.el; - setupRenderEffect( - instance, - vnode2, - // component may have been moved before resolve. - // if this is not a hydration, instance.subTree will be the comment - // placeholder. - parentNode2(hydratedEl || instance.subTree.el), - // anchor will not be used if this is hydration, so only need to - // consider the comment placeholder case. - hydratedEl ? null : next2(instance.subTree), - suspense, - namespace, - optimized2 - ); - if (placeholder) { - remove22(placeholder); - } - updateHOCHostEl(instance, vnode2.el); - if (false) { - popWarningContext(); - } - if (isInPendingSuspense && --suspense.deps === 0) { - suspense.resolve(); - } - }); - }, - unmount(parentSuspense2, doRemove) { - suspense.isUnmounted = true; - if (suspense.activeBranch) { - unmount( - suspense.activeBranch, - parentComponent, - parentSuspense2, - doRemove - ); - } - if (suspense.pendingBranch) { - unmount( - suspense.pendingBranch, - parentComponent, - parentSuspense2, - doRemove - ); - } - } - }; - return suspense; -} -__name(createSuspenseBoundary, "createSuspenseBoundary"); -function hydrateSuspense(node3, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) { - const suspense = vnode.suspense = createSuspenseBoundary( - vnode, - parentSuspense, - parentComponent, - node3.parentNode, - // eslint-disable-next-line no-restricted-globals - document.createElement("div"), - null, - namespace, - slotScopeIds, - optimized, - rendererInternals, - true - ); - const result = hydrateNode( - node3, - suspense.pendingBranch = vnode.ssContent, - parentComponent, - suspense, - slotScopeIds, - optimized - ); - if (suspense.deps === 0) { - suspense.resolve(false, true); - } - return result; -} -__name(hydrateSuspense, "hydrateSuspense"); -function normalizeSuspenseChildren(vnode) { - const { shapeFlag, children } = vnode; - const isSlotChildren = shapeFlag & 32; - vnode.ssContent = normalizeSuspenseSlot( - isSlotChildren ? children.default : children - ); - vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment); -} -__name(normalizeSuspenseChildren, "normalizeSuspenseChildren"); -function normalizeSuspenseSlot(s2) { - let block3; - if (isFunction$8(s2)) { - const trackBlock = isBlockTreeEnabled && s2._c; - if (trackBlock) { - s2._d = false; - openBlock(); - } - s2 = s2(); - if (trackBlock) { - s2._d = true; - block3 = currentBlock; - closeBlock(); - } - } - if (isArray$9(s2)) { - const singleChild = filterSingleRoot(s2); - if (false) { - warn$1$1(` slots expect a single root node.`); - } - s2 = singleChild; - } - s2 = normalizeVNode(s2); - if (block3 && !s2.dynamicChildren) { - s2.dynamicChildren = block3.filter((c2) => c2 !== s2); - } - return s2; -} -__name(normalizeSuspenseSlot, "normalizeSuspenseSlot"); -function queueEffectWithSuspense(fn, suspense) { - if (suspense && suspense.pendingBranch) { - if (isArray$9(fn)) { - suspense.effects.push(...fn); - } else { - suspense.effects.push(fn); - } - } else { - queuePostFlushCb(fn); - } -} -__name(queueEffectWithSuspense, "queueEffectWithSuspense"); -function setActiveBranch(suspense, branch) { - suspense.activeBranch = branch; - const { vnode, parentComponent } = suspense; - let el = branch.el; - while (!el && branch.component) { - branch = branch.component.subTree; - el = branch.el; - } - vnode.el = el; - if (parentComponent && parentComponent.subTree === vnode) { - parentComponent.vnode.el = el; - updateHOCHostEl(parentComponent, el); - } -} -__name(setActiveBranch, "setActiveBranch"); -function isVNodeSuspensible(vnode) { - const suspensible = vnode.props && vnode.props.suspensible; - return suspensible != null && suspensible !== false; -} -__name(isVNodeSuspensible, "isVNodeSuspensible"); -function injectHook(type, hook, target = currentInstance, prepend2 = false) { - if (target) { - const hooks2 = target[type] || (target[type] = []); - const wrappedHook = hook.__weh || (hook.__weh = (...args) => { - pauseTracking(); - const reset2 = setCurrentInstance(target); - const res = callWithAsyncErrorHandling(hook, target, type, args); - reset2(); - resetTracking(); - return res; - }); - if (prepend2) { - hooks2.unshift(wrappedHook); - } else { - hooks2.push(wrappedHook); - } - return wrappedHook; - } else if (false) { - const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, "")); - warn$1$1( - `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` - ); - } -} -__name(injectHook, "injectHook"); -const createHook = /* @__PURE__ */ __name((lifecycle2) => (hook, target = currentInstance) => { - if (!isInSSRComponentSetup || lifecycle2 === "sp") { - injectHook(lifecycle2, (...args) => hook(...args), target); - } -}, "createHook"); -const onBeforeMount = createHook("bm"); -const onMounted = createHook("m"); -const onBeforeUpdate = createHook("bu"); -const onUpdated = createHook("u"); -const onBeforeUnmount = createHook("bum"); -const onUnmounted = createHook("um"); -const onServerPrefetch = createHook("sp"); -const onRenderTriggered = createHook( - "rtg" -); -const onRenderTracked = createHook( - "rtc" -); -function onErrorCaptured(hook, target = currentInstance) { - injectHook("ec", hook, target); -} -__name(onErrorCaptured, "onErrorCaptured"); function validateDirectiveName(name2) { if (isBuiltInDirective(name2)) { warn$1$1("Do not use built-in directive ids as custom directive id: " + name2); @@ -35057,7 +35135,7 @@ function withDirectives(vnode, directives) { for (let i2 = 0; i2 < directives.length; i2++) { let [dir, value4, arg, modifiers2 = EMPTY_OBJ] = directives[i2]; if (dir) { - if (isFunction$8(dir)) { + if (isFunction$c(dir)) { dir = { mounted: dir, updated: dir @@ -35101,1820 +35179,780 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name2) { } } __name(invokeDirectiveHook, "invokeDirectiveHook"); -function renderList(source, renderItem, cache2, index2) { - let ret; - const cached = cache2 && cache2[index2]; - if (isArray$9(source) || isString$7(source)) { - ret = new Array(source.length); - for (let i2 = 0, l2 = source.length; i2 < l2; i2++) { - ret[i2] = renderItem(source[i2], i2, void 0, cached && cached[i2]); - } - } else if (typeof source === "number") { - if (false) { - warn$1$1(`The v-for range expect an integer value but got ${source}.`); - } - ret = new Array(source); - for (let i2 = 0; i2 < source; i2++) { - ret[i2] = renderItem(i2 + 1, i2, void 0, cached && cached[i2]); - } - } else if (isObject$d(source)) { - if (source[Symbol.iterator]) { - ret = Array.from( - source, - (item3, i2) => renderItem(item3, i2, void 0, cached && cached[i2]) - ); +const TeleportEndKey = Symbol("_vte"); +const isTeleport = /* @__PURE__ */ __name((type) => type.__isTeleport, "isTeleport"); +const isTeleportDisabled = /* @__PURE__ */ __name((props) => props && (props.disabled || props.disabled === ""), "isTeleportDisabled"); +const isTeleportDeferred = /* @__PURE__ */ __name((props) => props && (props.defer || props.defer === ""), "isTeleportDeferred"); +const isTargetSVG = /* @__PURE__ */ __name((target2) => typeof SVGElement !== "undefined" && target2 instanceof SVGElement, "isTargetSVG"); +const isTargetMathML = /* @__PURE__ */ __name((target2) => typeof MathMLElement === "function" && target2 instanceof MathMLElement, "isTargetMathML"); +const resolveTarget = /* @__PURE__ */ __name((props, select) => { + const targetSelector = props && props.to; + if (isString$9(targetSelector)) { + if (!select) { + return null; } else { - const keys2 = Object.keys(source); - ret = new Array(keys2.length); - for (let i2 = 0, l2 = keys2.length; i2 < l2; i2++) { - const key = keys2[i2]; - ret[i2] = renderItem(source[key], key, i2, cached && cached[i2]); + const target2 = select(targetSelector); + if (false) { + warn$1$1( + `Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.` + ); } + return target2; } } else { - ret = []; + if (false) { + warn$1$1(`Invalid Teleport target: ${targetSelector}`); + } + return targetSelector; } - if (cache2) { - cache2[index2] = ret; +}, "resolveTarget"); +const TeleportImpl = { + name: "Teleport", + __isTeleport: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) { + const { + mc: mountChildren, + pc: patchChildren, + pbc: patchBlockChildren, + o: { insert: insert2, querySelector, createText, createComment } + } = internals; + const disabled2 = isTeleportDisabled(n2.props); + let { shapeFlag, children, dynamicChildren } = n2; + if (false) { + optimized = false; + dynamicChildren = null; + } + if (n1 == null) { + const placeholder = n2.el = false ? createComment("teleport start") : createText(""); + const mainAnchor = n2.anchor = false ? createComment("teleport end") : createText(""); + insert2(placeholder, container, anchor); + insert2(mainAnchor, container, anchor); + const mount2 = /* @__PURE__ */ __name((container2, anchor2) => { + if (shapeFlag & 16) { + if (parentComponent && parentComponent.isCE) { + parentComponent.ce._teleportTarget = container2; + } + mountChildren( + children, + container2, + anchor2, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }, "mount"); + const mountToTarget = /* @__PURE__ */ __name(() => { + const target2 = n2.target = resolveTarget(n2.props, querySelector); + const targetAnchor = prepareAnchor(target2, n2, createText, insert2); + if (target2) { + if (namespace !== "svg" && isTargetSVG(target2)) { + namespace = "svg"; + } else if (namespace !== "mathml" && isTargetMathML(target2)) { + namespace = "mathml"; + } + if (!disabled2) { + mount2(target2, targetAnchor); + updateCssVars(n2, false); + } + } else if (false) { + warn$1$1( + "Invalid Teleport target on mount:", + target2, + `(${typeof target2})` + ); + } + }, "mountToTarget"); + if (disabled2) { + mount2(container, mainAnchor); + updateCssVars(n2, true); + } + if (isTeleportDeferred(n2.props)) { + queuePostRenderEffect(() => { + mountToTarget(); + n2.el.__isMounted = true; + }, parentSuspense); + } else { + mountToTarget(); + } + } else { + if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) { + queuePostRenderEffect(() => { + TeleportImpl.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + delete n1.el.__isMounted; + }, parentSuspense); + return; + } + n2.el = n1.el; + n2.targetStart = n1.targetStart; + const mainAnchor = n2.anchor = n1.anchor; + const target2 = n2.target = n1.target; + const targetAnchor = n2.targetAnchor = n1.targetAnchor; + const wasDisabled = isTeleportDisabled(n1.props); + const currentContainer = wasDisabled ? container : target2; + const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; + if (namespace === "svg" || isTargetSVG(target2)) { + namespace = "svg"; + } else if (namespace === "mathml" || isTargetMathML(target2)) { + namespace = "mathml"; + } + if (dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + currentContainer, + parentComponent, + parentSuspense, + namespace, + slotScopeIds + ); + traverseStaticChildren(n1, n2, true); + } else if (!optimized) { + patchChildren( + n1, + n2, + currentContainer, + currentAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + false + ); + } + if (disabled2) { + if (!wasDisabled) { + moveTeleport( + n2, + container, + mainAnchor, + internals, + 1 + ); + } else { + if (n2.props && n1.props && n2.props.to !== n1.props.to) { + n2.props.to = n1.props.to; + } + } + } else { + if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { + const nextTarget = n2.target = resolveTarget( + n2.props, + querySelector + ); + if (nextTarget) { + moveTeleport( + n2, + nextTarget, + null, + internals, + 0 + ); + } else if (false) { + warn$1$1( + "Invalid Teleport target on update:", + target2, + `(${typeof target2})` + ); + } + } else if (wasDisabled) { + moveTeleport( + n2, + target2, + targetAnchor, + internals, + 1 + ); + } + } + updateCssVars(n2, disabled2); + } + }, + remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) { + const { + shapeFlag, + children, + anchor, + targetStart, + targetAnchor, + target: target2, + props + } = vnode; + if (target2) { + hostRemove(targetStart); + hostRemove(targetAnchor); + } + doRemove && hostRemove(anchor); + if (shapeFlag & 16) { + const shouldRemove = doRemove || !isTeleportDisabled(props); + for (let i2 = 0; i2 < children.length; i2++) { + const child = children[i2]; + unmount( + child, + parentComponent, + parentSuspense, + shouldRemove, + !!child.dynamicChildren + ); + } + } + }, + move: moveTeleport, + hydrate: hydrateTeleport +}; +function moveTeleport(vnode, container, parentAnchor, { o: { insert: insert2 }, m: move }, moveType = 2) { + if (moveType === 0) { + insert2(vnode.targetAnchor, container, parentAnchor); + } + const { el, anchor, shapeFlag, children, props } = vnode; + const isReorder = moveType === 2; + if (isReorder) { + insert2(el, container, parentAnchor); + } + if (!isReorder || isTeleportDisabled(props)) { + if (shapeFlag & 16) { + for (let i2 = 0; i2 < children.length; i2++) { + move( + children[i2], + container, + parentAnchor, + 2 + ); + } + } + } + if (isReorder) { + insert2(anchor, container, parentAnchor); + } +} +__name(moveTeleport, "moveTeleport"); +function hydrateTeleport(node3, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { + o: { nextSibling, parentNode: parentNode2, querySelector, insert: insert2, createText } +}, hydrateChildren) { + const target2 = vnode.target = resolveTarget( + vnode.props, + querySelector + ); + if (target2) { + const disabled2 = isTeleportDisabled(vnode.props); + const targetNode = target2._lpa || target2.firstChild; + if (vnode.shapeFlag & 16) { + if (disabled2) { + vnode.anchor = hydrateChildren( + nextSibling(node3), + vnode, + parentNode2(node3), + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + vnode.targetStart = targetNode; + vnode.targetAnchor = targetNode && nextSibling(targetNode); + } else { + vnode.anchor = nextSibling(node3); + let targetAnchor = targetNode; + while (targetAnchor) { + if (targetAnchor && targetAnchor.nodeType === 8) { + if (targetAnchor.data === "teleport start anchor") { + vnode.targetStart = targetAnchor; + } else if (targetAnchor.data === "teleport anchor") { + vnode.targetAnchor = targetAnchor; + target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor); + break; + } + } + targetAnchor = nextSibling(targetAnchor); + } + if (!vnode.targetAnchor) { + prepareAnchor(target2, vnode, createText, insert2); + } + hydrateChildren( + targetNode && nextSibling(targetNode), + vnode, + target2, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } + updateCssVars(vnode, disabled2); + } + return vnode.anchor && nextSibling(vnode.anchor); +} +__name(hydrateTeleport, "hydrateTeleport"); +const Teleport = TeleportImpl; +function updateCssVars(vnode, isDisabled) { + const ctx = vnode.ctx; + if (ctx && ctx.ut) { + let node3, anchor; + if (isDisabled) { + node3 = vnode.el; + anchor = vnode.anchor; + } else { + node3 = vnode.targetStart; + anchor = vnode.targetAnchor; + } + while (node3 && node3 !== anchor) { + if (node3.nodeType === 1) node3.setAttribute("data-v-owner", ctx.uid); + node3 = node3.nextSibling; + } + ctx.ut(); + } +} +__name(updateCssVars, "updateCssVars"); +function prepareAnchor(target2, vnode, createText, insert2) { + const targetStart = vnode.targetStart = createText(""); + const targetAnchor = vnode.targetAnchor = createText(""); + targetStart[TeleportEndKey] = targetAnchor; + if (target2) { + insert2(targetStart, target2); + insert2(targetAnchor, target2); + } + return targetAnchor; +} +__name(prepareAnchor, "prepareAnchor"); +const leaveCbKey = Symbol("_leaveCb"); +const enterCbKey$1 = Symbol("_enterCb"); +function useTransitionState() { + const state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */ new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; +} +__name(useTransitionState, "useTransitionState"); +const TransitionHookValidator = [Function, Array]; +const BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + // enter + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + // leave + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + // appear + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator +}; +const recursiveGetSubtree = /* @__PURE__ */ __name((instance) => { + const subTree = instance.subTree; + return subTree.component ? recursiveGetSubtree(subTree.component) : subTree; +}, "recursiveGetSubtree"); +const BaseTransitionImpl = { + name: `BaseTransition`, + props: BaseTransitionPropsValidators, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const state = useTransitionState(); + return () => { + const children = slots.default && getTransitionRawChildren(slots.default(), true); + if (!children || !children.length) { + return; + } + const child = findNonCommentChild(children); + const rawProps = toRaw(props); + const { mode: mode2 } = rawProps; + if (false) { + warn$1$1(`invalid mode: ${mode2}`); + } + if (state.isLeaving) { + return emptyPlaceholder(child); + } + const innerChild = getInnerChild$1(child); + if (!innerChild) { + return emptyPlaceholder(child); + } + let enterHooks = resolveTransitionHooks( + innerChild, + rawProps, + state, + instance, + // #11061, ensure enterHooks is fresh after clone + (hooks2) => enterHooks = hooks2 + ); + if (innerChild.type !== Comment) { + setTransitionHooks(innerChild, enterHooks); + } + let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree); + if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) { + let leavingHooks = resolveTransitionHooks( + oldInnerChild, + rawProps, + state, + instance + ); + setTransitionHooks(oldInnerChild, leavingHooks); + if (mode2 === "out-in" && innerChild.type !== Comment) { + state.isLeaving = true; + leavingHooks.afterLeave = () => { + state.isLeaving = false; + if (!(instance.job.flags & 8)) { + instance.update(); + } + delete leavingHooks.afterLeave; + oldInnerChild = void 0; + }; + return emptyPlaceholder(child); + } else if (mode2 === "in-out" && innerChild.type !== Comment) { + leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { + const leavingVNodesCache = getLeavingNodesForType( + state, + oldInnerChild + ); + leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; + el[leaveCbKey] = () => { + earlyRemove(); + el[leaveCbKey] = void 0; + delete enterHooks.delayedLeave; + oldInnerChild = void 0; + }; + enterHooks.delayedLeave = () => { + delayedLeave(); + delete enterHooks.delayedLeave; + oldInnerChild = void 0; + }; + }; + } else { + oldInnerChild = void 0; + } + } else if (oldInnerChild) { + oldInnerChild = void 0; + } + return child; + }; + } +}; +function findNonCommentChild(children) { + let child = children[0]; + if (children.length > 1) { + let hasFound = false; + for (const c2 of children) { + if (c2.type !== Comment) { + if (false) { + warn$1$1( + " can only be used on a single element or component. Use for lists." + ); + break; + } + child = c2; + hasFound = true; + if (true) break; + } + } + } + return child; +} +__name(findNonCommentChild, "findNonCommentChild"); +const BaseTransition = BaseTransitionImpl; +function getLeavingNodesForType(state, vnode) { + const { leavingVNodes } = state; + let leavingVNodesCache = leavingVNodes.get(vnode.type); + if (!leavingVNodesCache) { + leavingVNodesCache = /* @__PURE__ */ Object.create(null); + leavingVNodes.set(vnode.type, leavingVNodesCache); + } + return leavingVNodesCache; +} +__name(getLeavingNodesForType, "getLeavingNodesForType"); +function resolveTransitionHooks(vnode, props, state, instance, postClone) { + const { + appear, + mode: mode2, + persisted = false, + onBeforeEnter: onBeforeEnter2, + onEnter: onEnter7, + onAfterEnter: onAfterEnter4, + onEnterCancelled, + onBeforeLeave: onBeforeLeave3, + onLeave: onLeave5, + onAfterLeave: onAfterLeave6, + onLeaveCancelled, + onBeforeAppear, + onAppear, + onAfterAppear, + onAppearCancelled + } = props; + const key = String(vnode.key); + const leavingVNodesCache = getLeavingNodesForType(state, vnode); + const callHook2 = /* @__PURE__ */ __name((hook, args) => { + hook && callWithAsyncErrorHandling( + hook, + instance, + 9, + args + ); + }, "callHook2"); + const callAsyncHook = /* @__PURE__ */ __name((hook, args) => { + const done = args[1]; + callHook2(hook, args); + if (isArray$b(hook)) { + if (hook.every((hook2) => hook2.length <= 1)) done(); + } else if (hook.length <= 1) { + done(); + } + }, "callAsyncHook"); + const hooks2 = { + mode: mode2, + persisted, + beforeEnter(el) { + let hook = onBeforeEnter2; + if (!state.isMounted) { + if (appear) { + hook = onBeforeAppear || onBeforeEnter2; + } else { + return; + } + } + if (el[leaveCbKey]) { + el[leaveCbKey]( + true + /* cancelled */ + ); + } + const leavingVNode = leavingVNodesCache[key]; + if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) { + leavingVNode.el[leaveCbKey](); + } + callHook2(hook, [el]); + }, + enter(el) { + let hook = onEnter7; + let afterHook = onAfterEnter4; + let cancelHook = onEnterCancelled; + if (!state.isMounted) { + if (appear) { + hook = onAppear || onEnter7; + afterHook = onAfterAppear || onAfterEnter4; + cancelHook = onAppearCancelled || onEnterCancelled; + } else { + return; + } + } + let called = false; + const done = el[enterCbKey$1] = (cancelled) => { + if (called) return; + called = true; + if (cancelled) { + callHook2(cancelHook, [el]); + } else { + callHook2(afterHook, [el]); + } + if (hooks2.delayedLeave) { + hooks2.delayedLeave(); + } + el[enterCbKey$1] = void 0; + }; + if (hook) { + callAsyncHook(hook, [el, done]); + } else { + done(); + } + }, + leave(el, remove22) { + const key2 = String(vnode.key); + if (el[enterCbKey$1]) { + el[enterCbKey$1]( + true + /* cancelled */ + ); + } + if (state.isUnmounting) { + return remove22(); + } + callHook2(onBeforeLeave3, [el]); + let called = false; + const done = el[leaveCbKey] = (cancelled) => { + if (called) return; + called = true; + remove22(); + if (cancelled) { + callHook2(onLeaveCancelled, [el]); + } else { + callHook2(onAfterLeave6, [el]); + } + el[leaveCbKey] = void 0; + if (leavingVNodesCache[key2] === vnode) { + delete leavingVNodesCache[key2]; + } + }; + leavingVNodesCache[key2] = vnode; + if (onLeave5) { + callAsyncHook(onLeave5, [el, done]); + } else { + done(); + } + }, + clone(vnode2) { + const hooks22 = resolveTransitionHooks( + vnode2, + props, + state, + instance, + postClone + ); + if (postClone) postClone(hooks22); + return hooks22; + } + }; + return hooks2; +} +__name(resolveTransitionHooks, "resolveTransitionHooks"); +function emptyPlaceholder(vnode) { + if (isKeepAlive(vnode)) { + vnode = cloneVNode(vnode); + vnode.children = null; + return vnode; + } +} +__name(emptyPlaceholder, "emptyPlaceholder"); +function getInnerChild$1(vnode) { + if (!isKeepAlive(vnode)) { + if (isTeleport(vnode.type) && vnode.children) { + return findNonCommentChild(vnode.children); + } + return vnode; + } + if (false) { + return vnode.component.subTree; + } + const { shapeFlag, children } = vnode; + if (children) { + if (shapeFlag & 16) { + return children[0]; + } + if (shapeFlag & 32 && isFunction$c(children.default)) { + return children.default(); + } + } +} +__name(getInnerChild$1, "getInnerChild$1"); +function setTransitionHooks(vnode, hooks2) { + if (vnode.shapeFlag & 6 && vnode.component) { + vnode.transition = hooks2; + setTransitionHooks(vnode.component.subTree, hooks2); + } else if (vnode.shapeFlag & 128) { + vnode.ssContent.transition = hooks2.clone(vnode.ssContent); + vnode.ssFallback.transition = hooks2.clone(vnode.ssFallback); + } else { + vnode.transition = hooks2; + } +} +__name(setTransitionHooks, "setTransitionHooks"); +function getTransitionRawChildren(children, keepComment = false, parentKey) { + let ret = []; + let keyedFragmentCount = 0; + for (let i2 = 0; i2 < children.length; i2++) { + let child = children[i2]; + const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i2); + if (child.type === Fragment$1) { + if (child.patchFlag & 128) keyedFragmentCount++; + ret = ret.concat( + getTransitionRawChildren(child.children, keepComment, key) + ); + } else if (keepComment || child.type !== Comment) { + ret.push(key != null ? cloneVNode(child, { key }) : child); + } + } + if (keyedFragmentCount > 1) { + for (let i2 = 0; i2 < ret.length; i2++) { + ret[i2].patchFlag = -2; + } } return ret; } -__name(renderList, "renderList"); -function createSlots(slots, dynamicSlots) { - for (let i2 = 0; i2 < dynamicSlots.length; i2++) { - const slot = dynamicSlots[i2]; - if (isArray$9(slot)) { - for (let j2 = 0; j2 < slot.length; j2++) { - slots[slot[j2].name] = slot[j2].fn; - } - } else if (slot) { - slots[slot.name] = slot.key ? (...args) => { - const res = slot.fn(...args); - if (res) res.key = slot.key; - return res; - } : slot.fn; - } - } - return slots; -} -__name(createSlots, "createSlots"); +__name(getTransitionRawChildren, "getTransitionRawChildren"); /*! #__NO_SIDE_EFFECTS__ */ // @__NO_SIDE_EFFECTS__ function defineComponent(options4, extraOptions) { - return isFunction$8(options4) ? ( - // #8326: extend call and options.name access are considered side-effects + return isFunction$c(options4) ? ( + // #8236: extend call and options.name access are considered side-effects // by Rollup, so we have to wrap it in a pure-annotated IIFE. /* @__PURE__ */ (() => extend$1({ name: options4.name }, extraOptions, { setup: options4 }))() ) : options4; } __name(defineComponent, "defineComponent"); -const isAsyncWrapper = /* @__PURE__ */ __name((i2) => !!i2.type.__asyncLoader, "isAsyncWrapper"); -/*! #__NO_SIDE_EFFECTS__ */ -// @__NO_SIDE_EFFECTS__ -function defineAsyncComponent(source) { - if (isFunction$8(source)) { - source = { loader: source }; - } - const { - loader, - loadingComponent, - errorComponent, - delay = 200, - timeout, - // undefined = never times out - suspensible = true, - onError: userOnError - } = source; - let pendingRequest = null; - let resolvedComp; - let retries = 0; - const retry = /* @__PURE__ */ __name(() => { - retries++; - pendingRequest = null; - return load2(); - }, "retry"); - const load2 = /* @__PURE__ */ __name(() => { - let thisRequest; - return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { - err = err instanceof Error ? err : new Error(String(err)); - if (userOnError) { - return new Promise((resolve2, reject3) => { - const userRetry = /* @__PURE__ */ __name(() => resolve2(retry()), "userRetry"); - const userFail = /* @__PURE__ */ __name(() => reject3(err), "userFail"); - userOnError(err, userRetry, userFail, retries + 1); - }); - } else { - throw err; - } - }).then((comp) => { - if (thisRequest !== pendingRequest && pendingRequest) { - return pendingRequest; - } - if (false) { - warn$1$1( - `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.` - ); - } - if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { - comp = comp.default; - } - if (false) { - throw new Error(`Invalid async component load result: ${comp}`); - } - resolvedComp = comp; - return comp; - })); - }, "load"); - return /* @__PURE__ */ defineComponent({ - name: "AsyncComponentWrapper", - __asyncLoader: load2, - get __asyncResolved() { - return resolvedComp; - }, - setup() { - const instance = currentInstance; - if (resolvedComp) { - return () => createInnerComp(resolvedComp, instance); - } - const onError = /* @__PURE__ */ __name((err) => { - pendingRequest = null; - handleError( - err, - instance, - 13, - !errorComponent - ); - }, "onError"); - if (suspensible && instance.suspense || isInSSRComponentSetup) { - return load2().then((comp) => { - return () => createInnerComp(comp, instance); - }).catch((err) => { - onError(err); - return () => errorComponent ? createVNode(errorComponent, { - error: err - }) : null; - }); - } - const loaded = ref(false); - const error2 = ref(); - const delayed = ref(!!delay); - if (delay) { - setTimeout(() => { - delayed.value = false; - }, delay); - } - if (timeout != null) { - setTimeout(() => { - if (!loaded.value && !error2.value) { - const err = new Error( - `Async component timed out after ${timeout}ms.` - ); - onError(err); - error2.value = err; - } - }, timeout); - } - load2().then(() => { - loaded.value = true; - if (instance.parent && isKeepAlive(instance.parent.vnode)) { - instance.parent.effect.dirty = true; - queueJob(instance.parent.update); - } - }).catch((err) => { - onError(err); - error2.value = err; - }); - return () => { - if (loaded.value && resolvedComp) { - return createInnerComp(resolvedComp, instance); - } else if (error2.value && errorComponent) { - return createVNode(errorComponent, { - error: error2.value - }); - } else if (loadingComponent && !delayed.value) { - return createVNode(loadingComponent); - } - }; - } - }); -} -__name(defineAsyncComponent, "defineAsyncComponent"); -function createInnerComp(comp, parent) { - const { ref: ref22, props, children, ce } = parent.vnode; - const vnode = createVNode(comp, props, children); - vnode.ref = ref22; - vnode.ce = ce; - delete parent.vnode.ce; - return vnode; -} -__name(createInnerComp, "createInnerComp"); -function renderSlot(slots, name2, props = {}, fallback, noSlotted) { - if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) { - if (name2 !== "default") props.name = name2; - return createVNode("slot", props, fallback && fallback()); - } - let slot = slots[name2]; - if (false) { - warn$1$1( - `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.` - ); - slot = /* @__PURE__ */ __name(() => [], "slot"); - } - if (slot && slot._c) { - slot._d = false; - } - openBlock(); - const validSlotContent = slot && ensureValidVNode(slot(props)); - const rendered = createBlock( - Fragment$1, - { - key: props.key || // slot content array of a dynamic conditional slot may have a branch - // key attached in the `createSlots` helper, respect that - validSlotContent && validSlotContent.key || `_${name2}` - }, - validSlotContent || (fallback ? fallback() : []), - validSlotContent && slots._ === 1 ? 64 : -2 - ); - if (!noSlotted && rendered.scopeId) { - rendered.slotScopeIds = [rendered.scopeId + "-s"]; - } - if (slot && slot._c) { - slot._d = true; - } - return rendered; -} -__name(renderSlot, "renderSlot"); -function ensureValidVNode(vnodes) { - return vnodes.some((child) => { - if (!isVNode$1(child)) return true; - if (child.type === Comment) return false; - if (child.type === Fragment$1 && !ensureValidVNode(child.children)) - return false; - return true; - }) ? vnodes : null; -} -__name(ensureValidVNode, "ensureValidVNode"); -function toHandlers(obj, preserveCaseIfNecessary) { - const ret = {}; - if (false) { - warn$1$1(`v-on with no argument expects an object value.`); - return ret; - } - for (const key in obj) { - ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; - } - return ret; -} -__name(toHandlers, "toHandlers"); -const getPublicInstance = /* @__PURE__ */ __name((i2) => { - if (!i2) return null; - if (isStatefulComponent(i2)) return getComponentPublicInstance(i2); - return getPublicInstance(i2.parent); -}, "getPublicInstance"); -const publicPropertiesMap = ( - // Move PURE marker to new line to workaround compiler discarding it - // due to type annotation - /* @__PURE__ */ extend$1(/* @__PURE__ */ Object.create(null), { - $: /* @__PURE__ */ __name((i2) => i2, "$"), - $el: /* @__PURE__ */ __name((i2) => i2.vnode.el, "$el"), - $data: /* @__PURE__ */ __name((i2) => i2.data, "$data"), - $props: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.props) : i2.props, "$props"), - $attrs: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.attrs) : i2.attrs, "$attrs"), - $slots: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.slots) : i2.slots, "$slots"), - $refs: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.refs) : i2.refs, "$refs"), - $parent: /* @__PURE__ */ __name((i2) => getPublicInstance(i2.parent), "$parent"), - $root: /* @__PURE__ */ __name((i2) => getPublicInstance(i2.root), "$root"), - $emit: /* @__PURE__ */ __name((i2) => i2.emit, "$emit"), - $options: /* @__PURE__ */ __name((i2) => true ? resolveMergedOptions(i2) : i2.type, "$options"), - $forceUpdate: /* @__PURE__ */ __name((i2) => i2.f || (i2.f = () => { - i2.effect.dirty = true; - queueJob(i2.update); - }), "$forceUpdate"), - $nextTick: /* @__PURE__ */ __name((i2) => i2.n || (i2.n = nextTick.bind(i2.proxy)), "$nextTick"), - $watch: /* @__PURE__ */ __name((i2) => true ? instanceWatch.bind(i2) : NOOP, "$watch") - }) -); -const isReservedPrefix = /* @__PURE__ */ __name((key) => key === "_" || key === "$", "isReservedPrefix"); -const hasSetupBinding = /* @__PURE__ */ __name((state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn$3(state, key), "hasSetupBinding"); -const PublicInstanceProxyHandlers = { - get({ _: instance }, key) { - if (key === "__v_skip") { - return true; - } - const { ctx, setupState, data: data25, props, accessCache, type, appContext } = instance; - if (false) { - return true; - } - let normalizedProps; - if (key[0] !== "$") { - const n2 = accessCache[key]; - if (n2 !== void 0) { - switch (n2) { - case 1: - return setupState[key]; - case 2: - return data25[key]; - case 4: - return ctx[key]; - case 3: - return props[key]; - } - } else if (hasSetupBinding(setupState, key)) { - accessCache[key] = 1; - return setupState[key]; - } else if (data25 !== EMPTY_OBJ && hasOwn$3(data25, key)) { - accessCache[key] = 2; - return data25[key]; - } else if ( - // only cache other properties when instance has declared (thus stable) - // props - (normalizedProps = instance.propsOptions[0]) && hasOwn$3(normalizedProps, key) - ) { - accessCache[key] = 3; - return props[key]; - } else if (ctx !== EMPTY_OBJ && hasOwn$3(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if (shouldCacheAccess) { - accessCache[key] = 0; - } - } - const publicGetter = publicPropertiesMap[key]; - let cssModule, globalProperties; - if (publicGetter) { - if (key === "$attrs") { - track(instance.attrs, "get", ""); - } else if (false) { - track(instance, "get", key); - } - return publicGetter(instance); - } else if ( - // css module (injected by vue-loader) - (cssModule = type.__cssModules) && (cssModule = cssModule[key]) - ) { - return cssModule; - } else if (ctx !== EMPTY_OBJ && hasOwn$3(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if ( - // global properties - globalProperties = appContext.config.globalProperties, hasOwn$3(globalProperties, key) - ) { - { - return globalProperties[key]; - } - } else if (false) { - if (data25 !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn$3(data25, key)) { - warn$1$1( - `Property ${JSON.stringify( - key - )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` - ); - } else if (instance === currentRenderingInstance) { - warn$1$1( - `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` - ); - } - } - }, - set({ _: instance }, key, value4) { - const { data: data25, setupState, ctx } = instance; - if (hasSetupBinding(setupState, key)) { - setupState[key] = value4; - return true; - } else if (false) { - warn$1$1(`Cannot mutate - + +
diff --git a/web/templates/default.json b/web/templates/default.json index 657ac107c..5a97075d8 100644 --- a/web/templates/default.json +++ b/web/templates/default.json @@ -266,7 +266,7 @@ ], "properties": {}, "widgets_values": [ - "v1-5-pruned-emaonly.safetensors" + "v1-5-pruned-emaonly-fp16.safetensors" ] } ], @@ -349,8 +349,8 @@ "extra": {}, "version": 0.4, "models": [{ - "name": "v1-5-pruned-emaonly.safetensors", - "url": "https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly.safetensors?download=true", + "name": "v1-5-pruned-emaonly-fp16.safetensors", + "url": "https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors?download=true", "directory": "checkpoints" }] } From 768e03586870726da6f92e69d5ebd40ce9497214 Mon Sep 17 00:00:00 2001 From: Terry Jia Date: Fri, 31 Jan 2025 13:09:07 -0500 Subject: [PATCH 10/78] Add node for preview 3d animation (#6594) * Add node for preview 3d animation * remove bg_color param * remove animation_speed param --- comfy_extras/nodes_load_3d.py | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/comfy_extras/nodes_load_3d.py b/comfy_extras/nodes_load_3d.py index 436131aba..3b969e45f 100644 --- a/comfy_extras/nodes_load_3d.py +++ b/comfy_extras/nodes_load_3d.py @@ -20,7 +20,6 @@ class Load3D(): "width": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), "height": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), "material": (["original", "normal", "wireframe", "depth"],), - "bg_color": ("STRING", {"default": "#000000", "multiline": False}), "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), @@ -67,10 +66,8 @@ class Load3DAnimation(): "width": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), "height": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), "material": (["original", "normal", "wireframe", "depth"],), - "bg_color": ("STRING", {"default": "#000000", "multiline": False}), "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), - "animation_speed": (["0.1", "0.5", "1", "1.5", "2"], {"default": "1"}), "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), }} @@ -104,7 +101,28 @@ class Preview3D(): return {"required": { "model_file": ("STRING", {"default": "", "multiline": False}), "material": (["original", "normal", "wireframe", "depth"],), - "bg_color": ("STRING", {"default": "#000000", "multiline": False}), + "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), + "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), + "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), + }} + + OUTPUT_NODE = True + RETURN_TYPES = () + + CATEGORY = "3d" + + FUNCTION = "process" + EXPERIMENTAL = True + + def process(self, model_file, **kwargs): + return {"ui": {"model_file": [model_file]}, "result": ()} + +class Preview3DAnimation(): + @classmethod + def INPUT_TYPES(s): + return {"required": { + "model_file": ("STRING", {"default": "", "multiline": False}), + "material": (["original", "normal", "wireframe", "depth"],), "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), @@ -124,11 +142,13 @@ class Preview3D(): NODE_CLASS_MAPPINGS = { "Load3D": Load3D, "Load3DAnimation": Load3DAnimation, - "Preview3D": Preview3D + "Preview3D": Preview3D, + "Preview3DAnimation": Preview3DAnimation } NODE_DISPLAY_NAME_MAPPINGS = { "Load3D": "Load 3D", "Load3DAnimation": "Load 3D - Animation", - "Preview3D": "Preview 3D" + "Preview3D": "Preview 3D", + "Preview3DAnimation": "Preview 3D - Animation" } From 9e1d301129db2507e6681a83d845186802e4ba22 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sat, 1 Feb 2025 06:35:22 -0500 Subject: [PATCH 11/78] Only use stable cascade lora format with cascade model. --- comfy/lora.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/comfy/lora.py b/comfy/lora.py index ec3da6f4c..bc9f3022a 100644 --- a/comfy/lora.py +++ b/comfy/lora.py @@ -307,7 +307,6 @@ def model_lora_keys_unet(model, key_map={}): if k.endswith(".weight"): key_lora = k[len("diffusion_model."):-len(".weight")].replace(".", "_") key_map["lora_unet_{}".format(key_lora)] = k - key_map["lora_prior_unet_{}".format(key_lora)] = k #cascade lora: TODO put lora key prefix in the model config key_map["{}".format(k[:-len(".weight")])] = k #generic lora format without any weird key names else: key_map["{}".format(k)] = k #generic lora format for not .weight without any weird key names @@ -327,6 +326,13 @@ def model_lora_keys_unet(model, key_map={}): diffusers_lora_key = diffusers_lora_key[:-2] key_map[diffusers_lora_key] = unet_key + if isinstance(model, comfy.model_base.StableCascade_C): + for k in sdk: + if k.startswith("diffusion_model."): + if k.endswith(".weight"): + key_lora = k[len("diffusion_model."):-len(".weight")].replace(".", "_") + key_map["lora_prior_unet_{}".format(key_lora)] = k + if isinstance(model, comfy.model_base.SD3): #Diffusers lora SD3 diffusers_keys = comfy.utils.mmdit_to_diffusers(model.model_config.unet_config, output_prefix="diffusion_model.") for k in diffusers_keys: From 24d6871e47f64464c49cabb90b55b037c71b0daf Mon Sep 17 00:00:00 2001 From: KarryCharon <49889381+KarryCharon@users.noreply.github.com> Date: Sun, 2 Feb 2025 22:24:55 +0800 Subject: [PATCH 12/78] add disable-compres-response-body cli args; add compress middleware; (#6672) --- comfy/cli_args.py | 2 ++ server.py | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/comfy/cli_args.py b/comfy/cli_args.py index f31d59411..a92fc0dba 100644 --- a/comfy/cli_args.py +++ b/comfy/cli_args.py @@ -179,6 +179,8 @@ parser.add_argument( parser.add_argument("--user-directory", type=is_valid_directory, default=None, help="Set the ComfyUI user directory with an absolute path. Overrides --base-directory.") +parser.add_argument("--disable-compres-response-body", action="store_true", help="Disable compressing response body.") + if comfy.options.args_parsing: args = parser.parse_args() else: diff --git a/server.py b/server.py index 88c163fc7..7b8608479 100644 --- a/server.py +++ b/server.py @@ -52,6 +52,22 @@ async def cache_control(request: web.Request, handler): response.headers.setdefault('Cache-Control', 'no-cache') return response + +@web.middleware +async def compress_body(request: web.Request, handler): + accept_encoding = request.headers.get("Accept-Encoding", "") + response: web.Response = await handler(request) + if args.disable_compres_response_body: + return response + if not isinstance(response, web.Response): + return response + if response.content_type not in ["application/json", "text/plain"]: + return response + if response.body and "gzip" in accept_encoding: + response.enable_compression() + return response + + def create_cors_middleware(allowed_origin: str): @web.middleware async def cors_middleware(request: web.Request, handler): @@ -149,7 +165,7 @@ class PromptServer(): self.client_session:Optional[aiohttp.ClientSession] = None self.number = 0 - middlewares = [cache_control] + middlewares = [cache_control, compress_body] if args.enable_cors_header: middlewares.append(create_cors_middleware(args.enable_cors_header)) else: From 0a0df5f136a90b1f49c7752872efd949ea2350e8 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" <128333288+ltdrdata@users.noreply.github.com> Date: Sun, 2 Feb 2025 23:26:47 +0900 Subject: [PATCH 13/78] better guide message for sageattention (#6634) --- comfy/ldm/modules/attention.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/comfy/ldm/modules/attention.py b/comfy/ldm/modules/attention.py index 44aec59a6..975faa21f 100644 --- a/comfy/ldm/modules/attention.py +++ b/comfy/ldm/modules/attention.py @@ -1,4 +1,6 @@ import math +import sys + import torch import torch.nn.functional as F from torch import nn, einsum @@ -16,7 +18,11 @@ if model_management.xformers_enabled(): import xformers.ops if model_management.sage_attention_enabled(): - from sageattention import sageattn + try: + from sageattention import sageattn + except ModuleNotFoundError: + logging.error(f"\n\nTo use the `--use-sage-attention` feature, the `sageattention` package must be installed first.\ncommand:\n\t{sys.executable} -m pip install sageattention") + exit(-1) from comfy.cli_args import args import comfy.ops From 44e19a28d3c4c130103fcd2a1e7be432b56c169c Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sun, 2 Feb 2025 09:45:07 -0500 Subject: [PATCH 14/78] Use maximum negative value instead of -inf for masks in text encoders. This is probably more correct. --- comfy/clip_model.py | 4 ++-- comfy/text_encoders/bert.py | 2 +- comfy/text_encoders/t5.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/comfy/clip_model.py b/comfy/clip_model.py index 23ddea9c0..c48576028 100644 --- a/comfy/clip_model.py +++ b/comfy/clip_model.py @@ -102,9 +102,9 @@ class CLIPTextModel_(torch.nn.Module): mask = None if attention_mask is not None: mask = 1.0 - attention_mask.to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])).expand(attention_mask.shape[0], 1, attention_mask.shape[-1], attention_mask.shape[-1]) - mask = mask.masked_fill(mask.to(torch.bool), float("-inf")) + mask = mask.masked_fill(mask.to(torch.bool), -torch.finfo(x.dtype).max) - causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=x.dtype, device=x.device).fill_(float("-inf")).triu_(1) + causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=x.dtype, device=x.device).fill_(-torch.finfo(x.dtype).max).triu_(1) if mask is not None: mask += causal_mask else: diff --git a/comfy/text_encoders/bert.py b/comfy/text_encoders/bert.py index fc9bac1d2..d4edd5aa5 100644 --- a/comfy/text_encoders/bert.py +++ b/comfy/text_encoders/bert.py @@ -118,7 +118,7 @@ class BertModel_(torch.nn.Module): mask = None if attention_mask is not None: mask = 1.0 - attention_mask.to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])).expand(attention_mask.shape[0], 1, attention_mask.shape[-1], attention_mask.shape[-1]) - mask = mask.masked_fill(mask.to(torch.bool), float("-inf")) + mask = mask.masked_fill(mask.to(torch.bool), -torch.finfo(x.dtype).max) x, i = self.encoder(x, mask, intermediate_output) return x, i diff --git a/comfy/text_encoders/t5.py b/comfy/text_encoders/t5.py index 7405528e2..df2b5b5cd 100644 --- a/comfy/text_encoders/t5.py +++ b/comfy/text_encoders/t5.py @@ -203,7 +203,7 @@ class T5Stack(torch.nn.Module): mask = None if attention_mask is not None: mask = 1.0 - attention_mask.to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])).expand(attention_mask.shape[0], 1, attention_mask.shape[-1], attention_mask.shape[-1]) - mask = mask.masked_fill(mask.to(torch.bool), float("-inf")) + mask = mask.masked_fill(mask.to(torch.bool), -torch.finfo(x.dtype).max) intermediate = None optimized_attention = optimized_attention_for_device(x.device, mask=attention_mask is not None, small_input=True) From 932ae8d9ca71c856045be1bc17ba4d48f9aea891 Mon Sep 17 00:00:00 2001 From: Comfy Org PR Bot Date: Mon, 3 Feb 2025 07:54:44 +0900 Subject: [PATCH 15/78] Update frontend to v1.8.13 (#6682) Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com> --- ...f5Ihf_.js => BaseViewTemplate-v6omkdXg.js} | 4 +- ...iwKLp6.js => DesktopStartView-coDnSXEF.js} | 6 +-- ...t9xRwC5.js => DownloadGitView-3STu4yxt.js} | 6 +-- ...C_ZBlIyE.js => ExtensionPanel-GE0aOkbr.js} | 8 ++-- ...View-DKrBTQLe.js => GraphView-CUSGEqGS.js} | 12 +++--- ...ew-C6tMsokB.js => InstallView-DTDlVr0Z.js} | 8 ++-- ...bfXtVg1.js => KeybindingPanel-C0Nt6GXU.js} | 10 ++--- ...3drnrFc.js => MaintenanceView-B5Gl0Rrl.js} | 14 +++--- ...js => ManualConfigurationView-DueOvLuK.js} | 6 +-- ...LOI_.js => MetricsConsentView-DTQYUF4Z.js} | 6 +-- ...tvC5Gx.js => NotSupportedView-PDDrAb9U.js} | 6 +-- ...rpEEV.js => ServerConfigPanel-DnGhsuUV.js} | 6 +-- ...5VckhgZ.js => ServerStartView-yzYZ8gms.js} | 6 +-- ...DNnNy-AZ.js => UserSelectView-DeJDnrF0.js} | 6 +-- ...ew-Nvn1jaCx.js => WelcomeView-DkwLdayn.js} | 6 +-- .../{index-CmVtQCAR.js => index-4Hb32CNk.js} | 40 ++++++++--------- .../{index-BPn8eYlx.js => index-B4tExwG7.js} | 43 ++++++++----------- .../{index-BWow9lpT.js => index-D4CAJ2MK.js} | 6 +-- .../{index-I0brO37W.js => index-D6zf5KAf.js} | 4 +- .../{index-Bm1HvJhs.js => index-hkkV7N7e.js} | 4 +- .../{index-CdHVC5qq.js => index-nJubvliG.js} | 6 +-- ...jCYw-.js => keybindingService-BTNdTpfl.js} | 4 +- ...aGcxp.js => serverConfigStore-BYbZcbWj.js} | 4 +- web/index.html | 2 +- 24 files changed, 109 insertions(+), 114 deletions(-) rename web/assets/{BaseViewTemplate-Cof5Ihf_.js => BaseViewTemplate-v6omkdXg.js} (94%) rename web/assets/{DesktopStartView-DTiwKLp6.js => DesktopStartView-coDnSXEF.js} (79%) rename web/assets/{DownloadGitView-At9xRwC5.js => DownloadGitView-3STu4yxt.js} (94%) rename web/assets/{ExtensionPanel-C_ZBlIyE.js => ExtensionPanel-GE0aOkbr.js} (97%) rename web/assets/{GraphView-DKrBTQLe.js => GraphView-CUSGEqGS.js} (99%) rename web/assets/{InstallView-C6tMsokB.js => InstallView-DTDlVr0Z.js} (99%) rename web/assets/{KeybindingPanel-BbfXtVg1.js => KeybindingPanel-C0Nt6GXU.js} (97%) rename web/assets/{MaintenanceView-D3drnrFc.js => MaintenanceView-B5Gl0Rrl.js} (99%) rename web/assets/{ManualConfigurationView-CtZMj_n_.js => ManualConfigurationView-DueOvLuK.js} (95%) rename web/assets/{MetricsConsentView-Df03LOI_.js => MetricsConsentView-DTQYUF4Z.js} (95%) rename web/assets/{NotSupportedView-BRtvC5Gx.js => NotSupportedView-PDDrAb9U.js} (96%) rename web/assets/{ServerConfigPanel-C2nrpEEV.js => ServerConfigPanel-DnGhsuUV.js} (98%) rename web/assets/{ServerStartView-M5VckhgZ.js => ServerStartView-yzYZ8gms.js} (96%) rename web/assets/{UserSelectView-DNnNy-AZ.js => UserSelectView-DeJDnrF0.js} (97%) rename web/assets/{WelcomeView-Nvn1jaCx.js => WelcomeView-DkwLdayn.js} (91%) rename web/assets/{index-CmVtQCAR.js => index-4Hb32CNk.js} (99%) rename web/assets/{index-BPn8eYlx.js => index-B4tExwG7.js} (99%) rename web/assets/{index-BWow9lpT.js => index-D4CAJ2MK.js} (99%) rename web/assets/{index-I0brO37W.js => index-D6zf5KAf.js} (94%) rename web/assets/{index-Bm1HvJhs.js => index-hkkV7N7e.js} (99%) rename web/assets/{index-CdHVC5qq.js => index-nJubvliG.js} (99%) rename web/assets/{keybindingService-CqSjCYw-.js => keybindingService-BTNdTpfl.js} (98%) rename web/assets/{serverConfigStore-BUvaGcxp.js => serverConfigStore-BYbZcbWj.js} (97%) diff --git a/web/assets/BaseViewTemplate-Cof5Ihf_.js b/web/assets/BaseViewTemplate-v6omkdXg.js similarity index 94% rename from web/assets/BaseViewTemplate-Cof5Ihf_.js rename to web/assets/BaseViewTemplate-v6omkdXg.js index 592bb1129..bc21d9896 100644 --- a/web/assets/BaseViewTemplate-Cof5Ihf_.js +++ b/web/assets/BaseViewTemplate-v6omkdXg.js @@ -1,4 +1,4 @@ -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-CmVtQCAR.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-4Hb32CNk.js"; const _hoisted_1 = { class: "flex-grow w-full flex items-center justify-center overflow-auto" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "BaseViewTemplate", @@ -48,4 +48,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as _ }; -//# sourceMappingURL=BaseViewTemplate-Cof5Ihf_.js.map +//# sourceMappingURL=BaseViewTemplate-v6omkdXg.js.map diff --git a/web/assets/DesktopStartView-DTiwKLp6.js b/web/assets/DesktopStartView-coDnSXEF.js similarity index 79% rename from web/assets/DesktopStartView-DTiwKLp6.js rename to web/assets/DesktopStartView-coDnSXEF.js index bff52ac02..db8199854 100644 --- a/web/assets/DesktopStartView-DTiwKLp6.js +++ b/web/assets/DesktopStartView-coDnSXEF.js @@ -1,5 +1,5 @@ -import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, k as createVNode, j as unref, bz as script } from "./index-CmVtQCAR.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.js"; +import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, k as createVNode, j as unref, bz as script } from "./index-4Hb32CNk.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.js"; const _hoisted_1 = { class: "max-w-screen-sm w-screen p-8" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "DesktopStartView", @@ -19,4 +19,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=DesktopStartView-DTiwKLp6.js.map +//# sourceMappingURL=DesktopStartView-coDnSXEF.js.map diff --git a/web/assets/DownloadGitView-At9xRwC5.js b/web/assets/DownloadGitView-3STu4yxt.js similarity index 94% rename from web/assets/DownloadGitView-At9xRwC5.js rename to web/assets/DownloadGitView-3STu4yxt.js index 4a43918d5..be7ac0dfd 100644 --- a/web/assets/DownloadGitView-At9xRwC5.js +++ b/web/assets/DownloadGitView-3STu4yxt.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-CmVtQCAR.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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-4Hb32CNk.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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" }; @@ -55,4 +55,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=DownloadGitView-At9xRwC5.js.map +//# sourceMappingURL=DownloadGitView-3STu4yxt.js.map diff --git a/web/assets/ExtensionPanel-C_ZBlIyE.js b/web/assets/ExtensionPanel-GE0aOkbr.js similarity index 97% rename from web/assets/ExtensionPanel-C_ZBlIyE.js rename to web/assets/ExtensionPanel-GE0aOkbr.js index 6d3034e06..8fa78029e 100644 --- a/web/assets/ExtensionPanel-C_ZBlIyE.js +++ b/web/assets/ExtensionPanel-GE0aOkbr.js @@ -1,8 +1,8 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, U as ref, dl as FilterMatchMode, dr as useExtensionStore, a as useSettingStore, p as onMounted, c as computed, o as openBlock, y as createBlock, z as withCtx, k as createVNode, dm 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, dn as _sfc_main$1 } from "./index-CmVtQCAR.js"; -import { g as script$2, h as script$6 } from "./index-CdHVC5qq.js"; -import "./index-I0brO37W.js"; +import { d as defineComponent, U as ref, dl as FilterMatchMode, dr as useExtensionStore, a as useSettingStore, p as onMounted, c as computed, o as openBlock, y as createBlock, z as withCtx, k as createVNode, dm 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, dn as _sfc_main$1 } from "./index-4Hb32CNk.js"; +import { g as script$2, h as script$6 } from "./index-nJubvliG.js"; +import "./index-D6zf5KAf.js"; const _hoisted_1 = { class: "flex justify-end" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "ExtensionPanel", @@ -179,4 +179,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ExtensionPanel-C_ZBlIyE.js.map +//# sourceMappingURL=ExtensionPanel-GE0aOkbr.js.map diff --git a/web/assets/GraphView-DKrBTQLe.js b/web/assets/GraphView-CUSGEqGS.js similarity index 99% rename from web/assets/GraphView-DKrBTQLe.js rename to web/assets/GraphView-CUSGEqGS.js index 495f54fe9..3291a439e 100644 --- a/web/assets/GraphView-DKrBTQLe.js +++ b/web/assets/GraphView-CUSGEqGS.js @@ -1,10 +1,10 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script, m as createBaseVNode, n as normalizeStyle, _ as _export_sfc, p as onMounted, q as onBeforeUnmount, t as useSidebarTabStore, x as useBottomPanelStore, y as createBlock, z as withCtx, A as renderSlot, B as createCommentVNode, C as resolveDynamicComponent, F as Fragment, D as renderList, E as toDisplayString, G as script$5, H as markRaw, I as defineStore, J as shallowRef, K as useI18n, L as useCommandStore, M as LiteGraph, N as useColorPaletteStore, O as watch, P as useNodeDefStore, Q as BadgePosition, R as LGraphBadge, S as _, T as NodeBadgeMode, U as ref, V as useEventListener, W as nextTick, X as st, Y as normalizeI18nKey, Z as LGraphGroup, $ as LGraphNode, a0 as EditableText, a1 as useNodeFrequencyStore, a2 as useNodeBookmarkStore, a3 as highlightQuery, a4 as script$8, a5 as formatNumberWithSuffix, a6 as NodeSourceType, a7 as createTextVNode, a8 as script$9, a9 as NodePreview, aa as NodeSearchFilter, ab as script$a, ac as SearchFilterChip, ad as useLitegraphService, ae as storeToRefs, af as isRef, ag as toRaw, ah as LinkReleaseTriggerAction, ai as normalizeClass, aj as useUserStore, ak as useDialogStore, al as SettingDialogHeader, am as SettingDialogContent, an as useKeybindingStore, ao as Teleport, ap as usePragmaticDraggable, aq as usePragmaticDroppable, ar as withModifiers, as as mergeProps, at as useWorkflowService, au as useWorkflowBookmarkStore, av as script$c, aw as script$d, ax as script$e, ay as LinkMarkerShape, az as useModelToNodeStore, aA as ComfyNodeDefImpl, aB as ComfyModelDef, aC as LGraph, aD as LLink, aE as DragAndScale, aF as LGraphCanvas, aG as ContextMenu, aH as api, aI as getStorageValue, aJ as useModelStore, aK as setStorageValue, aL as CanvasPointer, aM as IS_CONTROL_WIDGET, aN as updateControlWidgetLabel, aO as useColorPaletteService, aP as ChangeTracker, aQ as i18n, aR as useToast, aS as useToastStore, aT as useQueueSettingsStore, aU as script$g, aV as useQueuePendingTaskCountStore, aW as useLocalStorage, aX as useDraggable, aY as watchDebounced, aZ as inject, a_ as useElementBounding, a$ as script$i, b0 as lodashExports, b1 as useEventBus, b2 as useMenuItemStore, b3 as provide, b4 as isElectron, b5 as electronAPI, b6 as isNativeWindow, b7 as useDialogService, b8 as LGraphEventMode, b9 as useQueueStore, ba as DEFAULT_DARK_COLOR_PALETTE, bb as DEFAULT_LIGHT_COLOR_PALETTE, bc as t, bd as useErrorHandling } from "./index-CmVtQCAR.js"; -import { s as script$1, a as script$2, b as script$3, c as script$4, d as script$6, e as script$7, f as script$b, g as script$f, h as script$h, i as script$j } from "./index-BWow9lpT.js"; -import { u as useKeybindingService } from "./keybindingService-CqSjCYw-.js"; -import { u as useServerConfigStore } from "./serverConfigStore-BUvaGcxp.js"; -import "./index-I0brO37W.js"; +import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script, m as createBaseVNode, n as normalizeStyle, _ as _export_sfc, p as onMounted, q as onBeforeUnmount, t as useSidebarTabStore, x as useBottomPanelStore, y as createBlock, z as withCtx, A as renderSlot, B as createCommentVNode, C as resolveDynamicComponent, F as Fragment, D as renderList, E as toDisplayString, G as script$5, H as markRaw, I as defineStore, J as shallowRef, K as useI18n, L as useCommandStore, M as LiteGraph, N as useColorPaletteStore, O as watch, P as useNodeDefStore, Q as BadgePosition, R as LGraphBadge, S as _, T as NodeBadgeMode, U as ref, V as useEventListener, W as nextTick, X as st, Y as normalizeI18nKey, Z as LGraphGroup, $ as LGraphNode, a0 as EditableText, a1 as useNodeFrequencyStore, a2 as useNodeBookmarkStore, a3 as highlightQuery, a4 as script$8, a5 as formatNumberWithSuffix, a6 as NodeSourceType, a7 as createTextVNode, a8 as script$9, a9 as NodePreview, aa as NodeSearchFilter, ab as script$a, ac as SearchFilterChip, ad as useLitegraphService, ae as storeToRefs, af as isRef, ag as toRaw, ah as LinkReleaseTriggerAction, ai as normalizeClass, aj as useUserStore, ak as useDialogStore, al as SettingDialogHeader, am as SettingDialogContent, an as useKeybindingStore, ao as Teleport, ap as usePragmaticDraggable, aq as usePragmaticDroppable, ar as withModifiers, as as mergeProps, at as useWorkflowService, au as useWorkflowBookmarkStore, av as script$c, aw as script$d, ax as script$e, ay as LinkMarkerShape, az as useModelToNodeStore, aA as ComfyNodeDefImpl, aB as ComfyModelDef, aC as LGraph, aD as LLink, aE as DragAndScale, aF as LGraphCanvas, aG as ContextMenu, aH as api, aI as getStorageValue, aJ as useModelStore, aK as setStorageValue, aL as CanvasPointer, aM as IS_CONTROL_WIDGET, aN as updateControlWidgetLabel, aO as useColorPaletteService, aP as ChangeTracker, aQ as i18n, aR as useToast, aS as useToastStore, aT as useQueueSettingsStore, aU as script$g, aV as useQueuePendingTaskCountStore, aW as useLocalStorage, aX as useDraggable, aY as watchDebounced, aZ as inject, a_ as useElementBounding, a$ as script$i, b0 as lodashExports, b1 as useEventBus, b2 as useMenuItemStore, b3 as provide, b4 as isElectron, b5 as electronAPI, b6 as isNativeWindow, b7 as useDialogService, b8 as LGraphEventMode, b9 as useQueueStore, ba as DEFAULT_DARK_COLOR_PALETTE, bb as DEFAULT_LIGHT_COLOR_PALETTE, bc as t, bd as useErrorHandling } from "./index-4Hb32CNk.js"; +import { s as script$1, a as script$2, b as script$3, c as script$4, d as script$6, e as script$7, f as script$b, g as script$f, h as script$h, i as script$j } from "./index-D4CAJ2MK.js"; +import { u as useKeybindingService } from "./keybindingService-BTNdTpfl.js"; +import { u as useServerConfigStore } from "./serverConfigStore-BYbZcbWj.js"; +import "./index-D6zf5KAf.js"; const DEFAULT_TITLE = "ComfyUI"; const TITLE_SUFFIX = " - ComfyUI"; const _sfc_main$u = /* @__PURE__ */ defineComponent({ @@ -4679,4 +4679,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=GraphView-DKrBTQLe.js.map +//# sourceMappingURL=GraphView-CUSGEqGS.js.map diff --git a/web/assets/InstallView-C6tMsokB.js b/web/assets/InstallView-DTDlVr0Z.js similarity index 99% rename from web/assets/InstallView-C6tMsokB.js rename to web/assets/InstallView-DTDlVr0Z.js index 461781854..380d7a9f1 100644 --- a/web/assets/InstallView-C6tMsokB.js +++ b/web/assets/InstallView-DTDlVr0Z.js @@ -1,9 +1,9 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, U as ref, bm as useModel, o as openBlock, f as createElementBlock, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, bn as script, bh as script$1, ar as withModifiers, z as withCtx, ab as script$2, K as useI18n, c as computed, ai as normalizeClass, B as createCommentVNode, a4 as script$3, a7 as createTextVNode, b5 as electronAPI, _ as _export_sfc, p as onMounted, r as resolveDirective, bg as script$4, i as withDirectives, bo as script$5, bp as script$6, l as script$7, y as createBlock, bj as script$8, bq as MigrationItems, w as watchEffect, F as Fragment, D as renderList, br as script$9, bs as mergeModels, bt as ValidationState, Y as normalizeI18nKey, O as watch, bu as checkMirrorReachable, bv as _sfc_main$7, bw as mergeValidationStates, bc as t, a$ as script$a, bx as CUDA_TORCH_URL, by as NIGHTLY_CPU_TORCH_URL, be as useRouter, ag as toRaw } from "./index-CmVtQCAR.js"; -import { s as script$b, a as script$c, b as script$d, c as script$e, d as script$f } from "./index-Bm1HvJhs.js"; +import { d as defineComponent, U as ref, bm as useModel, o as openBlock, f as createElementBlock, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, bn as script, bh as script$1, ar as withModifiers, z as withCtx, ab as script$2, K as useI18n, c as computed, ai as normalizeClass, B as createCommentVNode, a4 as script$3, a7 as createTextVNode, b5 as electronAPI, _ as _export_sfc, p as onMounted, r as resolveDirective, bg as script$4, i as withDirectives, bo as script$5, bp as script$6, l as script$7, y as createBlock, bj as script$8, bq as MigrationItems, w as watchEffect, F as Fragment, D as renderList, br as script$9, bs as mergeModels, bt as ValidationState, Y as normalizeI18nKey, O as watch, bu as checkMirrorReachable, bv as _sfc_main$7, bw as mergeValidationStates, bc as t, a$ as script$a, bx as CUDA_TORCH_URL, by as NIGHTLY_CPU_TORCH_URL, be as useRouter, ag as toRaw } from "./index-4Hb32CNk.js"; +import { s as script$b, a as script$c, b as script$d, c as script$e, d as script$f } from "./index-hkkV7N7e.js"; import { P as PYTHON_MIRROR, a as PYPI_MIRROR } from "./uvMirrors-B-HKMf6X.js"; -import { _ as _sfc_main$8 } from "./BaseViewTemplate-Cof5Ihf_.js"; +import { _ as _sfc_main$8 } from "./BaseViewTemplate-v6omkdXg.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" }; @@ -942,4 +942,4 @@ const InstallView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data- export { InstallView as default }; -//# sourceMappingURL=InstallView-C6tMsokB.js.map +//# sourceMappingURL=InstallView-DTDlVr0Z.js.map diff --git a/web/assets/KeybindingPanel-BbfXtVg1.js b/web/assets/KeybindingPanel-C0Nt6GXU.js similarity index 97% rename from web/assets/KeybindingPanel-BbfXtVg1.js rename to web/assets/KeybindingPanel-C0Nt6GXU.js index 1cff94939..f791713bb 100644 --- a/web/assets/KeybindingPanel-BbfXtVg1.js +++ b/web/assets/KeybindingPanel-C0Nt6GXU.js @@ -1,9 +1,9 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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, dl 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, dm 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, dn as _sfc_main$2, dp as KeyComboImpl, dq as KeybindingImpl, _ as _export_sfc } from "./index-CmVtQCAR.js"; -import { g as script$1, h as script$3 } from "./index-CdHVC5qq.js"; -import { u as useKeybindingService } from "./keybindingService-CqSjCYw-.js"; -import "./index-I0brO37W.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, dl 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, dm 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, dn as _sfc_main$2, dp as KeyComboImpl, dq as KeybindingImpl, _ as _export_sfc } from "./index-4Hb32CNk.js"; +import { g as script$1, h as script$3 } from "./index-nJubvliG.js"; +import { u as useKeybindingService } from "./keybindingService-BTNdTpfl.js"; +import "./index-D6zf5KAf.js"; const _hoisted_1$1 = { key: 0, class: "px-2" @@ -279,4 +279,4 @@ const KeybindingPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { KeybindingPanel as default }; -//# sourceMappingURL=KeybindingPanel-BbfXtVg1.js.map +//# sourceMappingURL=KeybindingPanel-C0Nt6GXU.js.map diff --git a/web/assets/MaintenanceView-D3drnrFc.js b/web/assets/MaintenanceView-B5Gl0Rrl.js similarity index 99% rename from web/assets/MaintenanceView-D3drnrFc.js rename to web/assets/MaintenanceView-B5Gl0Rrl.js index e54bc0276..4254e4e67 100644 --- a/web/assets/MaintenanceView-D3drnrFc.js +++ b/web/assets/MaintenanceView-B5Gl0Rrl.js @@ -1,11 +1,11 @@ var __defProp = Object.defineProperty; var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); -import { bA as BaseStyle, bB as script$1d, bC as ZIndex, bD as addClass, bE as focus, bF as blockBodyScroll, bG as unblockBodyScroll, bH as FocusTrap, l as script$1e, bI as script$1f, bJ as script$1g, bK as resolveComponent, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, f as createElementBlock, as as mergeProps, k as createVNode, bL as Transition, i as withDirectives, A as renderSlot, F as Fragment, m as createBaseVNode, ai as normalizeClass, E as toDisplayString, B as createCommentVNode, C as resolveDynamicComponent, d as defineComponent, bs as mergeModels, bm as useModel, v as vShow, j as unref, bM as script$1h, c as computed, bN as PrimeIcons, bc as t, a4 as script$1i, aZ as inject, bO as findSingle, bP as getAttribute, bQ as script$1j, bR as script$1k, bS as Ripple, bT as UniqueComponentId, bU as script$1l, D as renderList, bV as BaseDirective, bW as removeClass, bX as createElement, bY as hasClass, bZ as script$1m, b_ as script$1n, b$ as addStyle, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, c2 as relativePosition, c3 as getOuterWidth, c4 as absolutePosition, c5 as find, c6 as getIndex, c7 as getFocusableElements, c8 as OverlayEventBus, c9 as setAttribute, ca as localeComparator, bg as script$1o, cb as script$1p, n as normalizeStyle, a7 as createTextVNode, bf as withKeys, cc as resolveFieldData, cd as isNotEmpty, ce as equals, cf as script$1q, cg as isString, ch as isPrintableCharacter, ci as isEmpty, cj as findLastIndex, ck as script$1r, cl as script$1s, cm as uuid, a8 as script$1t, cn as sort, co as createSlots, cp as EventBus, H as markRaw, cq as resolve, cr as Tooltip, bi as script$1v, ab as script$1w, cs as script$1x, ct as script$1y, cu as script$1z, bz as script$1A, bj as script$1B, cv as normalizeProps, cw as isAttributeEquals, cx as guardReactiveProps, cy as setCSSProperty, cz as $dt, cA as script$1D, cB as script$1F, cC as getUserAgent, bn as script$1G, cD as script$1H, cE as getFirstFocusableElement, cF as getLastFocusableElement, cG as FilterService, br as script$1J, cH as script$1K, bp as script$1L, bo as script$1M, cI as script$1N, cJ as findIndexInList, cK as scrollInView, cL as script$1O, cM as script$1P, cN as script$1Q, cO as findLast, cP as getWindowScrollTop, cQ as getWidth, cR as getOffset, cS as vModelText, cT as script$1U, ar as withModifiers, cU as getVNodeProp, cV as getNextElementSibling, cW as getPreviousElementSibling, cX as isClickable, cY as _default, cZ as clearSelection, c_ as isRTL, b5 as electronAPI, I as defineStore, U as ref, c$ as useTimeout, O as watch, d0 as script$1Y, _ as _export_sfc, aR as useToast, d1 as useConfirm, bh as script$1Z, d2 as script$1_, p as onMounted, d3 as onUnmounted, av as script$1$, af as isRef, bl as BaseTerminal } from "./index-CmVtQCAR.js"; -import { j as script$1C, k as script$1E, g as script$20 } from "./index-BWow9lpT.js"; -import { s as script$1u, a as script$1R, b as script$1S, c as script$1T, d as script$1V, e as script$1W, f as script$1X } from "./index-CdHVC5qq.js"; -import { s as script$1I } from "./index-I0brO37W.js"; -import "./index-Bm1HvJhs.js"; -import { _ as _sfc_main$7 } from "./BaseViewTemplate-Cof5Ihf_.js"; +import { bA as BaseStyle, bB as script$1d, bC as ZIndex, bD as addClass, bE as focus, bF as blockBodyScroll, bG as unblockBodyScroll, bH as FocusTrap, l as script$1e, bI as script$1f, bJ as script$1g, bK as resolveComponent, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, f as createElementBlock, as as mergeProps, k as createVNode, bL as Transition, i as withDirectives, A as renderSlot, F as Fragment, m as createBaseVNode, ai as normalizeClass, E as toDisplayString, B as createCommentVNode, C as resolveDynamicComponent, d as defineComponent, bs as mergeModels, bm as useModel, v as vShow, j as unref, bM as script$1h, c as computed, bN as PrimeIcons, bc as t, a4 as script$1i, aZ as inject, bO as findSingle, bP as getAttribute, bQ as script$1j, bR as script$1k, bS as Ripple, bT as UniqueComponentId, bU as script$1l, D as renderList, bV as BaseDirective, bW as removeClass, bX as createElement, bY as hasClass, bZ as script$1m, b_ as script$1n, b$ as addStyle, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, c2 as relativePosition, c3 as getOuterWidth, c4 as absolutePosition, c5 as find, c6 as getIndex, c7 as getFocusableElements, c8 as OverlayEventBus, c9 as setAttribute, ca as localeComparator, bg as script$1o, cb as script$1p, n as normalizeStyle, a7 as createTextVNode, bf as withKeys, cc as resolveFieldData, cd as isNotEmpty, ce as equals, cf as script$1q, cg as isString, ch as isPrintableCharacter, ci as isEmpty, cj as findLastIndex, ck as script$1r, cl as script$1s, cm as uuid, a8 as script$1t, cn as sort, co as createSlots, cp as EventBus, H as markRaw, cq as resolve, cr as Tooltip, bi as script$1v, ab as script$1w, cs as script$1x, ct as script$1y, cu as script$1z, bz as script$1A, bj as script$1B, cv as normalizeProps, cw as isAttributeEquals, cx as guardReactiveProps, cy as setCSSProperty, cz as $dt, cA as script$1D, cB as script$1F, cC as getUserAgent, bn as script$1G, cD as script$1H, cE as getFirstFocusableElement, cF as getLastFocusableElement, cG as FilterService, br as script$1J, cH as script$1K, bp as script$1L, bo as script$1M, cI as script$1N, cJ as findIndexInList, cK as scrollInView, cL as script$1O, cM as script$1P, cN as script$1Q, cO as findLast, cP as getWindowScrollTop, cQ as getWidth, cR as getOffset, cS as vModelText, cT as script$1U, ar as withModifiers, cU as getVNodeProp, cV as getNextElementSibling, cW as getPreviousElementSibling, cX as isClickable, cY as _default, cZ as clearSelection, c_ as isRTL, b5 as electronAPI, I as defineStore, U as ref, c$ as useTimeout, O as watch, d0 as script$1Y, _ as _export_sfc, aR as useToast, d1 as useConfirm, bh as script$1Z, d2 as script$1_, p as onMounted, d3 as onUnmounted, av as script$1$, af as isRef, bl as BaseTerminal } from "./index-4Hb32CNk.js"; +import { j as script$1C, k as script$1E, g as script$20 } from "./index-D4CAJ2MK.js"; +import { s as script$1u, a as script$1R, b as script$1S, c as script$1T, d as script$1V, e as script$1W, f as script$1X } from "./index-nJubvliG.js"; +import { s as script$1I } from "./index-D6zf5KAf.js"; +import "./index-hkkV7N7e.js"; +import { _ as _sfc_main$7 } from "./BaseViewTemplate-v6omkdXg.js"; var theme$D = /* @__PURE__ */ __name(function theme(_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"); @@ -26030,4 +26030,4 @@ const MaintenanceView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { MaintenanceView as default }; -//# sourceMappingURL=MaintenanceView-D3drnrFc.js.map +//# sourceMappingURL=MaintenanceView-B5Gl0Rrl.js.map diff --git a/web/assets/ManualConfigurationView-CtZMj_n_.js b/web/assets/ManualConfigurationView-DueOvLuK.js similarity index 95% rename from web/assets/ManualConfigurationView-CtZMj_n_.js rename to web/assets/ManualConfigurationView-DueOvLuK.js index 59a79f8f5..383794c52 100644 --- a/web/assets/ManualConfigurationView-CtZMj_n_.js +++ b/web/assets/ManualConfigurationView-DueOvLuK.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-CmVtQCAR.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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-4Hb32CNk.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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" }; @@ -71,4 +71,4 @@ const ManualConfigurationView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scop export { ManualConfigurationView as default }; -//# sourceMappingURL=ManualConfigurationView-CtZMj_n_.js.map +//# sourceMappingURL=ManualConfigurationView-DueOvLuK.js.map diff --git a/web/assets/MetricsConsentView-Df03LOI_.js b/web/assets/MetricsConsentView-DTQYUF4Z.js similarity index 95% rename from web/assets/MetricsConsentView-Df03LOI_.js rename to web/assets/MetricsConsentView-DTQYUF4Z.js index db07875e9..564780ee6 100644 --- a/web/assets/MetricsConsentView-Df03LOI_.js +++ b/web/assets/MetricsConsentView-DTQYUF4Z.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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-CmVtQCAR.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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-4Hb32CNk.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" }; @@ -83,4 +83,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=MetricsConsentView-Df03LOI_.js.map +//# sourceMappingURL=MetricsConsentView-DTQYUF4Z.js.map diff --git a/web/assets/NotSupportedView-BRtvC5Gx.js b/web/assets/NotSupportedView-PDDrAb9U.js similarity index 96% rename from web/assets/NotSupportedView-BRtvC5Gx.js rename to web/assets/NotSupportedView-PDDrAb9U.js index 20fd1a28e..0293bb6fe 100644 --- a/web/assets/NotSupportedView-BRtvC5Gx.js +++ b/web/assets/NotSupportedView-PDDrAb9U.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-CmVtQCAR.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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-4Hb32CNk.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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" }; @@ -83,4 +83,4 @@ const NotSupportedView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", " export { NotSupportedView as default }; -//# sourceMappingURL=NotSupportedView-BRtvC5Gx.js.map +//# sourceMappingURL=NotSupportedView-PDDrAb9U.js.map diff --git a/web/assets/ServerConfigPanel-C2nrpEEV.js b/web/assets/ServerConfigPanel-DnGhsuUV.js similarity index 98% rename from web/assets/ServerConfigPanel-C2nrpEEV.js rename to web/assets/ServerConfigPanel-DnGhsuUV.js index 4993d68e5..873f6ec76 100644 --- a/web/assets/ServerConfigPanel-C2nrpEEV.js +++ b/web/assets/ServerConfigPanel-DnGhsuUV.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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, dy 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, dz as FormItem, dn as _sfc_main$1, b5 as electronAPI } from "./index-CmVtQCAR.js"; -import { u as useServerConfigStore } from "./serverConfigStore-BUvaGcxp.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, dy 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, dz as FormItem, dn as _sfc_main$1, b5 as electronAPI } from "./index-4Hb32CNk.js"; +import { u as useServerConfigStore } from "./serverConfigStore-BYbZcbWj.js"; const _hoisted_1$1 = { viewBox: "0 0 24 24", width: "1.2em", @@ -153,4 +153,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ServerConfigPanel-C2nrpEEV.js.map +//# sourceMappingURL=ServerConfigPanel-DnGhsuUV.js.map diff --git a/web/assets/ServerStartView-M5VckhgZ.js b/web/assets/ServerStartView-yzYZ8gms.js similarity index 96% rename from web/assets/ServerStartView-M5VckhgZ.js rename to web/assets/ServerStartView-yzYZ8gms.js index c19fa837e..18a6a63f1 100644 --- a/web/assets/ServerStartView-M5VckhgZ.js +++ b/web/assets/ServerStartView-yzYZ8gms.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-CmVtQCAR.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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-4Hb32CNk.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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 }; @@ -97,4 +97,4 @@ const ServerStartView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { ServerStartView as default }; -//# sourceMappingURL=ServerStartView-M5VckhgZ.js.map +//# sourceMappingURL=ServerStartView-yzYZ8gms.js.map diff --git a/web/assets/UserSelectView-DNnNy-AZ.js b/web/assets/UserSelectView-DeJDnrF0.js similarity index 97% rename from web/assets/UserSelectView-DNnNy-AZ.js rename to web/assets/UserSelectView-DeJDnrF0.js index 88736e455..13504917d 100644 --- a/web/assets/UserSelectView-DNnNy-AZ.js +++ b/web/assets/UserSelectView-DeJDnrF0.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-CmVtQCAR.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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-4Hb32CNk.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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" @@ -98,4 +98,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=UserSelectView-DNnNy-AZ.js.map +//# sourceMappingURL=UserSelectView-DeJDnrF0.js.map diff --git a/web/assets/WelcomeView-Nvn1jaCx.js b/web/assets/WelcomeView-DkwLdayn.js similarity index 91% rename from web/assets/WelcomeView-Nvn1jaCx.js rename to web/assets/WelcomeView-DkwLdayn.js index 75b0d677a..95afcd734 100644 --- a/web/assets/WelcomeView-Nvn1jaCx.js +++ b/web/assets/WelcomeView-DkwLdayn.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-CmVtQCAR.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cof5Ihf_.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-4Hb32CNk.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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({ @@ -36,4 +36,4 @@ const WelcomeView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data- export { WelcomeView as default }; -//# sourceMappingURL=WelcomeView-Nvn1jaCx.js.map +//# sourceMappingURL=WelcomeView-DkwLdayn.js.map diff --git a/web/assets/index-CmVtQCAR.js b/web/assets/index-4Hb32CNk.js similarity index 99% rename from web/assets/index-CmVtQCAR.js rename to web/assets/index-4Hb32CNk.js index 4d89b4a55..ba83b1a4c 100644 --- a/web/assets/index-CmVtQCAR.js +++ b/web/assets/index-4Hb32CNk.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-DKrBTQLe.js","./index-BWow9lpT.js","./index-I0brO37W.js","./keybindingService-CqSjCYw-.js","./serverConfigStore-BUvaGcxp.js","./GraphView-CVCdiww1.css","./UserSelectView-DNnNy-AZ.js","./BaseViewTemplate-Cof5Ihf_.js","./ServerStartView-M5VckhgZ.js","./ServerStartView-CJiwVDQY.css","./InstallView-C6tMsokB.js","./index-Bm1HvJhs.js","./uvMirrors-B-HKMf6X.js","./InstallView-DbJ2cGfL.css","./WelcomeView-Nvn1jaCx.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-BRtvC5Gx.js","./NotSupportedView-RFx6eCkN.css","./DownloadGitView-At9xRwC5.js","./ManualConfigurationView-CtZMj_n_.js","./ManualConfigurationView-CsirlNfV.css","./MetricsConsentView-Df03LOI_.js","./DesktopStartView-DTiwKLp6.js","./MaintenanceView-D3drnrFc.js","./index-CdHVC5qq.js","./MaintenanceView-Bj5_Vr6o.css","./KeybindingPanel-BbfXtVg1.js","./KeybindingPanel-DvrUYZ4S.css","./ExtensionPanel-C_ZBlIyE.js","./ServerConfigPanel-C2nrpEEV.js","./index-BPn8eYlx.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-CUSGEqGS.js","./index-D4CAJ2MK.js","./index-D6zf5KAf.js","./keybindingService-BTNdTpfl.js","./serverConfigStore-BYbZcbWj.js","./GraphView-CVCdiww1.css","./UserSelectView-DeJDnrF0.js","./BaseViewTemplate-v6omkdXg.js","./ServerStartView-yzYZ8gms.js","./ServerStartView-CJiwVDQY.css","./InstallView-DTDlVr0Z.js","./index-hkkV7N7e.js","./uvMirrors-B-HKMf6X.js","./InstallView-DbJ2cGfL.css","./WelcomeView-DkwLdayn.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-PDDrAb9U.js","./NotSupportedView-RFx6eCkN.css","./DownloadGitView-3STu4yxt.js","./ManualConfigurationView-DueOvLuK.js","./ManualConfigurationView-CsirlNfV.css","./MetricsConsentView-DTQYUF4Z.js","./DesktopStartView-coDnSXEF.js","./MaintenanceView-B5Gl0Rrl.js","./index-nJubvliG.js","./MaintenanceView-Bj5_Vr6o.css","./KeybindingPanel-C0Nt6GXU.js","./KeybindingPanel-DvrUYZ4S.css","./ExtensionPanel-GE0aOkbr.js","./ServerConfigPanel-DnGhsuUV.js","./index-B4tExwG7.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); var __defProp2 = Object.defineProperty; var __name = (target2, value4) => __defProp2(target2, "name", { value: value4, configurable: true }); (/* @__PURE__ */ __name(function polyfill2() { @@ -73523,7 +73523,7 @@ const router = createRouter({ { path: "", name: "GraphView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./GraphView-DKrBTQLe.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./GraphView-CUSGEqGS.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0, import.meta.url), "component"), beforeEnter: /* @__PURE__ */ __name(async (to, from2, next2) => { const userStore = useUserStore(); await userStore.initialize(); @@ -73537,60 +73537,60 @@ const router = createRouter({ { path: "user-select", name: "UserSelectView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./UserSelectView-DNnNy-AZ.js"), true ? __vite__mapDeps([6,7]) : void 0, import.meta.url), "component") + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./UserSelectView-DeJDnrF0.js"), true ? __vite__mapDeps([6,7]) : void 0, import.meta.url), "component") }, { path: "server-start", name: "ServerStartView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ServerStartView-M5VckhgZ.js"), true ? __vite__mapDeps([8,7,9]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ServerStartView-yzYZ8gms.js"), true ? __vite__mapDeps([8,7,9]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "install", name: "InstallView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./InstallView-C6tMsokB.js"), true ? __vite__mapDeps([10,11,12,7,13]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./InstallView-DTDlVr0Z.js"), true ? __vite__mapDeps([10,11,12,7,13]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "welcome", name: "WelcomeView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./WelcomeView-Nvn1jaCx.js"), true ? __vite__mapDeps([14,7,15]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./WelcomeView-DkwLdayn.js"), true ? __vite__mapDeps([14,7,15]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "not-supported", name: "NotSupportedView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./NotSupportedView-BRtvC5Gx.js"), true ? __vite__mapDeps([16,7,17]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./NotSupportedView-PDDrAb9U.js"), true ? __vite__mapDeps([16,7,17]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "download-git", name: "DownloadGitView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DownloadGitView-At9xRwC5.js"), true ? __vite__mapDeps([18,7]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DownloadGitView-3STu4yxt.js"), true ? __vite__mapDeps([18,7]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "manual-configuration", name: "ManualConfigurationView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ManualConfigurationView-CtZMj_n_.js"), true ? __vite__mapDeps([19,7,20]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ManualConfigurationView-DueOvLuK.js"), true ? __vite__mapDeps([19,7,20]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "/metrics-consent", name: "MetricsConsentView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MetricsConsentView-Df03LOI_.js"), true ? __vite__mapDeps([21,7]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MetricsConsentView-DTQYUF4Z.js"), true ? __vite__mapDeps([21,7]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "desktop-start", name: "DesktopStartView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopStartView-DTiwKLp6.js"), true ? __vite__mapDeps([22,7]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopStartView-coDnSXEF.js"), true ? __vite__mapDeps([22,7]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "maintenance", name: "MaintenanceView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MaintenanceView-D3drnrFc.js"), true ? __vite__mapDeps([23,1,2,24,11,7,25]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MaintenanceView-B5Gl0Rrl.js"), true ? __vite__mapDeps([23,1,2,24,11,7,25]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess } ] @@ -85608,7 +85608,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({ }); const config$1 = { app_title: "ComfyUI", - app_version: "1.8.12" + app_version: "1.8.13" }; /*! * shared v9.13.1 @@ -153413,7 +153413,7 @@ const useSystemStatsStore = /* @__PURE__ */ defineStore("systemStats", () => { }; }); const useAboutPanelStore = /* @__PURE__ */ defineStore("aboutPanel", () => { - const frontendVersion = "1.8.12"; + const frontendVersion = "1.8.13"; const extensionStore = useExtensionStore(); const systemStatsStore = useSystemStatsStore(); const coreVersion = computed( @@ -158831,13 +158831,13 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({ setup(__props) { const props = __props; const KeybindingPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./KeybindingPanel-BbfXtVg1.js"), true ? __vite__mapDeps([26,24,2,3,27]) : void 0, import.meta.url) + () => __vitePreload(() => import("./KeybindingPanel-C0Nt6GXU.js"), true ? __vite__mapDeps([26,24,2,3,27]) : void 0, import.meta.url) ); const ExtensionPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./ExtensionPanel-C_ZBlIyE.js"), true ? __vite__mapDeps([28,24,2]) : void 0, import.meta.url) + () => __vitePreload(() => import("./ExtensionPanel-GE0aOkbr.js"), true ? __vite__mapDeps([28,24,2]) : void 0, import.meta.url) ); const ServerConfigPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./ServerConfigPanel-C2nrpEEV.js"), true ? __vite__mapDeps([29,4]) : void 0, import.meta.url) + () => __vitePreload(() => import("./ServerConfigPanel-DnGhsuUV.js"), true ? __vite__mapDeps([29,4]) : void 0, import.meta.url) ); const aboutPanelNode = { key: "about", @@ -199422,7 +199422,7 @@ const useExtensionService = /* @__PURE__ */ __name(() => { settingStore.get("Comfy.Extension.Disabled") ); const extensions = await api.getExtensions(); - await __vitePreload(() => import("./index-BPn8eYlx.js"), true ? __vite__mapDeps([30,12,31]) : void 0, import.meta.url); + await __vitePreload(() => import("./index-B4tExwG7.js"), true ? __vite__mapDeps([30,12,31]) : void 0, import.meta.url); extensionStore.captureCoreExtensions(); await Promise.all( extensions.filter((extension) => !extension.includes("extensions/core")).map(async (ext) => { @@ -219745,7 +219745,7 @@ init$3({ app, dsn: "https://e2d0c0bd392ffdce48e856c2a055f437@o4507954455314432.ingest.us.sentry.io/4508621568475136", enabled: true, - release: "1.8.12", + release: "1.8.13", integrations: [], autoSessionTracking: false, defaultIntegrations: false, @@ -220051,4 +220051,4 @@ export { createBlock as y, withCtx as z }; -//# sourceMappingURL=index-CmVtQCAR.js.map +//# sourceMappingURL=index-4Hb32CNk.js.map diff --git a/web/assets/index-BPn8eYlx.js b/web/assets/index-B4tExwG7.js similarity index 99% rename from web/assets/index-BPn8eYlx.js rename to web/assets/index-B4tExwG7.js index 8adb2181b..c27c17cd5 100644 --- a/web/assets/index-BPn8eYlx.js +++ b/web/assets/index-B4tExwG7.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { da as ComfyDialog, db as $el, dc as ComfyApp, h as app, M as LiteGraph, aF as LGraphCanvas, dd as useExtensionService, de as processDynamicPrompt, b4 as isElectron, b5 as electronAPI, b as useWorkflowStore, bu as checkMirrorReachable, b7 as useDialogService, bc as t, df as DraggableList, aS as useToastStore, $ as LGraphNode, dg as applyTextReplacements, dh as ComfyWidgets, di as addValueControlWidgets, P as useNodeDefStore, dj as serialise, dk as deserialiseAndCreate, aH as api, a as useSettingStore, Z as LGraphGroup, W as nextTick, b0 as lodashExports, aK as setStorageValue, aI as getStorageValue } from "./index-CmVtQCAR.js"; +import { da as ComfyDialog, db as $el, dc as ComfyApp, h as app, M as LiteGraph, aF as LGraphCanvas, dd as useExtensionService, de as processDynamicPrompt, b4 as isElectron, b5 as electronAPI, b as useWorkflowStore, bu as checkMirrorReachable, b7 as useDialogService, bc as t, df as DraggableList, aS as useToastStore, $ as LGraphNode, dg as applyTextReplacements, dh as ComfyWidgets, di as addValueControlWidgets, P as useNodeDefStore, dj as serialise, dk as deserialiseAndCreate, aH as api, a as useSettingStore, Z as LGraphGroup, W as nextTick, b0 as lodashExports, aK as setStorageValue, aI as getStorageValue } from "./index-4Hb32CNk.js"; import { P as PYTHON_MIRROR } from "./uvMirrors-B-HKMf6X.js"; class ClipspaceDialog extends ComfyDialog { static { @@ -2194,22 +2194,14 @@ class GroupNodeConfig { let name = customConfig?.name ?? node.inputs?.find((inp) => inp.name === inputName)?.label ?? inputName; let key = name; let prefix = ""; - seenInputs[key] = (seenInputs[key] ?? 0) + 1; - if (node.type === "PrimitiveNode" && node.title || seenInputs[name] > 1) { + if (node.type === "PrimitiveNode" && node.title || name in seenInputs) { prefix = `${node.title ?? node.type} `; key = name = `${prefix}${inputName}`; - seenInputs[name] = seenInputs[name] ?? 0; - let finalName; - if (seenInputs[name] > 0) { - prefix = `${node.title ?? node.type} `; - finalName = `${prefix} ${seenInputs[name] + 1} ${inputName}`; - } else { - prefix = `${node.title ?? node.type} `; - finalName = `${prefix}${inputName}`; + if (name in seenInputs) { + name = `${prefix}${seenInputs[name]} ${inputName}`; } - seenInputs[name]++; - this.nodeDef.input.required[finalName] = config; } + seenInputs[key] = (seenInputs[key] ?? 1) + 1; if (inputName === "seed" || inputName === "noise_seed") { if (!extra) extra = {}; extra.control_after_generate = `${prefix}control_after_generate`; @@ -2383,20 +2375,23 @@ class GroupNodeConfig { }; this.nodeDef.output.push(def.output[outputId]); this.nodeDef.output_is_list.push(def.output_is_list[outputId]); - let label = customConfig?.name ?? // If no custom name, check if the definition provides an output name - def.output_name?.[outputId] ?? // If neither exist, fallback to the raw output type (e.g., "FLOAT", "INT") - def.output[outputId]; + let label = customConfig?.name; if (!label) { - const output = node.outputs.find((o) => o.name); - label = output?.label ?? "UnnamedOutput"; + label = def.output_name?.[outputId] ?? def.output[outputId]; + const output = node.outputs.find((o) => o.name === label); + if (output?.label) { + label = output.label; + } } let name = label; - const prefix = `${node.title ?? node.type} `; - name = `${prefix}${label}`; - if (seenOutputs[name]) { - name = `${prefix} ${seenOutputs[name] + 1} ${label}`; + if (name in seenOutputs) { + const prefix = `${node.title ?? node.type} `; + name = `${prefix}${label}`; + if (name in seenOutputs) { + name = `${prefix}${node.index} ${label}`; + } } - seenOutputs[name] = (seenOutputs[name] ?? 0) + 1; + seenOutputs[name] = 1; this.nodeDef.output_name.push(name); } } @@ -53849,4 +53844,4 @@ app.registerExtension({ }); } }); -//# sourceMappingURL=index-BPn8eYlx.js.map +//# sourceMappingURL=index-B4tExwG7.js.map diff --git a/web/assets/index-BWow9lpT.js b/web/assets/index-D4CAJ2MK.js similarity index 99% rename from web/assets/index-BWow9lpT.js rename to web/assets/index-D4CAJ2MK.js index 25679fc8e..844ee64e4 100644 --- a/web/assets/index-BWow9lpT.js +++ b/web/assets/index-D4CAJ2MK.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { bA as BaseStyle, bB as script$f, cQ as getWidth, d4 as getHeight, c3 as getOuterWidth, d5 as getOuterHeight, c_ as isRTL, cU as getVNodeProp, d6 as isArray, o as openBlock, f as createElementBlock, as as mergeProps, F as Fragment, D as renderList, y as createBlock, C as resolveDynamicComponent, m as createBaseVNode, B as createCommentVNode, A as renderSlot, bP as getAttribute, bO as findSingle, bE as focus, ce as equals, bS as Ripple, r as resolveDirective, i as withDirectives, z as withCtx, ai as normalizeClass, cR as getOffset, cb as script$g, bU as script$h, cd as isNotEmpty, b_ as script$i, bT as UniqueComponentId, bC as ZIndex, cc as resolveFieldData, c8 as OverlayEventBus, ci as isEmpty, b$ as addStyle, c2 as relativePosition, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, cj as findLastIndex, bg as script$j, cH as script$k, bI as script$l, bR as script$m, ck as script$n, a8 as script$o, bK as resolveComponent, n as normalizeStyle, k as createVNode, E as toDisplayString, bL as Transition, co as createSlots, a7 as createTextVNode, cu as script$p, bZ as script$q, cA as script$r, cB as script$s, bJ as script$t, cv as normalizeProps, d7 as ToastEventBus, c9 as setAttribute, d8 as TransitionGroup, cq as resolve, d9 as nestedPosition, cf as script$u, ch as isPrintableCharacter, l as script$v, cD as script$w, cx as guardReactiveProps } from "./index-CmVtQCAR.js"; -import { s as script$x } from "./index-I0brO37W.js"; +import { bA as BaseStyle, bB as script$f, cQ as getWidth, d4 as getHeight, c3 as getOuterWidth, d5 as getOuterHeight, c_ as isRTL, cU as getVNodeProp, d6 as isArray, o as openBlock, f as createElementBlock, as as mergeProps, F as Fragment, D as renderList, y as createBlock, C as resolveDynamicComponent, m as createBaseVNode, B as createCommentVNode, A as renderSlot, bP as getAttribute, bO as findSingle, bE as focus, ce as equals, bS as Ripple, r as resolveDirective, i as withDirectives, z as withCtx, ai as normalizeClass, cR as getOffset, cb as script$g, bU as script$h, cd as isNotEmpty, b_ as script$i, bT as UniqueComponentId, bC as ZIndex, cc as resolveFieldData, c8 as OverlayEventBus, ci as isEmpty, b$ as addStyle, c2 as relativePosition, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, cj as findLastIndex, bg as script$j, cH as script$k, bI as script$l, bR as script$m, ck as script$n, a8 as script$o, bK as resolveComponent, n as normalizeStyle, k as createVNode, E as toDisplayString, bL as Transition, co as createSlots, a7 as createTextVNode, cu as script$p, bZ as script$q, cA as script$r, cB as script$s, bJ as script$t, cv as normalizeProps, d7 as ToastEventBus, c9 as setAttribute, d8 as TransitionGroup, cq as resolve, d9 as nestedPosition, cf as script$u, ch as isPrintableCharacter, l as script$v, cD as script$w, cx as guardReactiveProps } from "./index-4Hb32CNk.js"; +import { s as script$x } from "./index-D6zf5KAf.js"; var theme$7 = /* @__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"); @@ -5602,4 +5602,4 @@ export { script$7 as k, script$d as s }; -//# sourceMappingURL=index-BWow9lpT.js.map +//# sourceMappingURL=index-D4CAJ2MK.js.map diff --git a/web/assets/index-I0brO37W.js b/web/assets/index-D6zf5KAf.js similarity index 94% rename from web/assets/index-I0brO37W.js rename to web/assets/index-D6zf5KAf.js index 6f1166641..819caaa2a 100644 --- a/web/assets/index-I0brO37W.js +++ b/web/assets/index-D6zf5KAf.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { bZ as script$1, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode } from "./index-CmVtQCAR.js"; +import { bZ as script$1, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode } from "./index-4Hb32CNk.js"; var script = { name: "BarsIcon", "extends": script$1 @@ -24,4 +24,4 @@ script.render = render; export { script as s }; -//# sourceMappingURL=index-I0brO37W.js.map +//# sourceMappingURL=index-D6zf5KAf.js.map diff --git a/web/assets/index-Bm1HvJhs.js b/web/assets/index-hkkV7N7e.js similarity index 99% rename from web/assets/index-Bm1HvJhs.js rename to web/assets/index-hkkV7N7e.js index 1c1a50760..7152922d0 100644 --- a/web/assets/index-Bm1HvJhs.js +++ b/web/assets/index-hkkV7N7e.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); -import { bA as BaseStyle, bB as script$6, o as openBlock, f as createElementBlock, as as mergeProps, cJ as findIndexInList, c5 as find, bK 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, bO as findSingle, F as Fragment, bL as Transition, i as withDirectives, v as vShow, bT as UniqueComponentId } from "./index-CmVtQCAR.js"; +import { bA as BaseStyle, bB as script$6, o as openBlock, f as createElementBlock, as as mergeProps, cJ as findIndexInList, c5 as find, bK 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, bO as findSingle, F as Fragment, bL as Transition, i as withDirectives, v as vShow, bT as UniqueComponentId } from "./index-4Hb32CNk.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-Bm1HvJhs.js.map +//# sourceMappingURL=index-hkkV7N7e.js.map diff --git a/web/assets/index-CdHVC5qq.js b/web/assets/index-nJubvliG.js similarity index 99% rename from web/assets/index-CdHVC5qq.js rename to web/assets/index-nJubvliG.js index f7678aece..3672a41b4 100644 --- a/web/assets/index-CdHVC5qq.js +++ b/web/assets/index-nJubvliG.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { bA as BaseStyle, bB as script$s, bZ as script$t, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode, E as toDisplayString, bS as Ripple, r as resolveDirective, i as withDirectives, y as createBlock, C as resolveDynamicComponent, bi as script$u, bK as resolveComponent, ai as normalizeClass, co as createSlots, z as withCtx, aU as script$v, cf as script$w, F as Fragment, D as renderList, a7 as createTextVNode, c9 as setAttribute, cv as normalizeProps, A as renderSlot, B as createCommentVNode, b_ as script$x, ce as equals, cA as script$y, br as script$z, cE as getFirstFocusableElement, c8 as OverlayEventBus, cU as getVNodeProp, cc as resolveFieldData, ds as invokeElementMethod, bP as getAttribute, cV as getNextElementSibling, c3 as getOuterWidth, cW as getPreviousElementSibling, l as script$A, bR as script$B, bU as script$C, bJ as script$E, cd as isNotEmpty, ar as withModifiers, d5 as getOuterHeight, bT as UniqueComponentId, cY as _default, bC as ZIndex, bE as focus, b$ as addStyle, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, dt as FilterOperator, bI as script$F, cs as script$G, bH as FocusTrap, k as createVNode, bL as Transition, bf as withKeys, c6 as getIndex, cu as script$H, cX as isClickable, cZ as clearSelection, ca as localeComparator, cn as sort, cG as FilterService, dl as FilterMatchMode, bO as findSingle, cJ as findIndexInList, c5 as find, du as exportCSV, cR as getOffset, c_ as isRTL, dv as getHiddenElementOuterWidth, dw as getHiddenElementOuterHeight, dx as reorderArray, bW as removeClass, bD as addClass, ci as isEmpty, cH as script$I, ck as script$J } from "./index-CmVtQCAR.js"; -import { s as script$D } from "./index-I0brO37W.js"; +import { bA as BaseStyle, bB as script$s, bZ as script$t, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode, E as toDisplayString, bS as Ripple, r as resolveDirective, i as withDirectives, y as createBlock, C as resolveDynamicComponent, bi as script$u, bK as resolveComponent, ai as normalizeClass, co as createSlots, z as withCtx, aU as script$v, cf as script$w, F as Fragment, D as renderList, a7 as createTextVNode, c9 as setAttribute, cv as normalizeProps, A as renderSlot, B as createCommentVNode, b_ as script$x, ce as equals, cA as script$y, br as script$z, cE as getFirstFocusableElement, c8 as OverlayEventBus, cU as getVNodeProp, cc as resolveFieldData, ds as invokeElementMethod, bP as getAttribute, cV as getNextElementSibling, c3 as getOuterWidth, cW as getPreviousElementSibling, l as script$A, bR as script$B, bU as script$C, bJ as script$E, cd as isNotEmpty, ar as withModifiers, d5 as getOuterHeight, bT as UniqueComponentId, cY as _default, bC as ZIndex, bE as focus, b$ as addStyle, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, dt as FilterOperator, bI as script$F, cs as script$G, bH as FocusTrap, k as createVNode, bL as Transition, bf as withKeys, c6 as getIndex, cu as script$H, cX as isClickable, cZ as clearSelection, ca as localeComparator, cn as sort, cG as FilterService, dl as FilterMatchMode, bO as findSingle, cJ as findIndexInList, c5 as find, du as exportCSV, cR as getOffset, c_ as isRTL, dv as getHiddenElementOuterWidth, dw as getHiddenElementOuterHeight, dx as reorderArray, bW as removeClass, bD as addClass, ci as isEmpty, cH as script$I, ck as script$J } from "./index-4Hb32CNk.js"; +import { s as script$D } from "./index-D6zf5KAf.js"; var ColumnStyle = BaseStyle.extend({ name: "column" }); @@ -8787,4 +8787,4 @@ export { script as h, script$l as s }; -//# sourceMappingURL=index-CdHVC5qq.js.map +//# sourceMappingURL=index-nJubvliG.js.map diff --git a/web/assets/keybindingService-CqSjCYw-.js b/web/assets/keybindingService-BTNdTpfl.js similarity index 98% rename from web/assets/keybindingService-CqSjCYw-.js rename to web/assets/keybindingService-BTNdTpfl.js index fd9786b4a..a9c8bd67d 100644 --- a/web/assets/keybindingService-CqSjCYw-.js +++ b/web/assets/keybindingService-BTNdTpfl.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { an as useKeybindingStore, L as useCommandStore, a as useSettingStore, dp as KeyComboImpl, dq as KeybindingImpl } from "./index-CmVtQCAR.js"; +import { an as useKeybindingStore, L as useCommandStore, a as useSettingStore, dp as KeyComboImpl, dq as KeybindingImpl } from "./index-4Hb32CNk.js"; const CORE_KEYBINDINGS = [ { combo: { @@ -247,4 +247,4 @@ const useKeybindingService = /* @__PURE__ */ __name(() => { export { useKeybindingService as u }; -//# sourceMappingURL=keybindingService-CqSjCYw-.js.map +//# sourceMappingURL=keybindingService-BTNdTpfl.js.map diff --git a/web/assets/serverConfigStore-BUvaGcxp.js b/web/assets/serverConfigStore-BYbZcbWj.js similarity index 97% rename from web/assets/serverConfigStore-BUvaGcxp.js rename to web/assets/serverConfigStore-BYbZcbWj.js index a1fcb7d29..2c876288d 100644 --- a/web/assets/serverConfigStore-BUvaGcxp.js +++ b/web/assets/serverConfigStore-BYbZcbWj.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { I as defineStore, U as ref, c as computed } from "./index-CmVtQCAR.js"; +import { I as defineStore, U as ref, c as computed } from "./index-4Hb32CNk.js"; const useServerConfigStore = defineStore("serverConfig", () => { const serverConfigById = ref({}); const serverConfigs = computed(() => { @@ -87,4 +87,4 @@ const useServerConfigStore = defineStore("serverConfig", () => { export { useServerConfigStore as u }; -//# sourceMappingURL=serverConfigStore-BUvaGcxp.js.map +//# sourceMappingURL=serverConfigStore-BYbZcbWj.js.map diff --git a/web/index.html b/web/index.html index 1e99942b6..b62467005 100644 --- a/web/index.html +++ b/web/index.html @@ -6,7 +6,7 @@ - + From ed4d92b72161dd96480beb1b2838e5bae65ba56e Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Mon, 3 Feb 2025 03:31:39 -0500 Subject: [PATCH 16/78] Model merging nodes for cosmos. --- .../nodes_model_merging_model_specific.py | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/comfy_extras/nodes_model_merging_model_specific.py b/comfy_extras/nodes_model_merging_model_specific.py index 7cd8f98b2..3e37f70d4 100644 --- a/comfy_extras/nodes_model_merging_model_specific.py +++ b/comfy_extras/nodes_model_merging_model_specific.py @@ -196,6 +196,54 @@ class ModelMergeLTXV(comfy_extras.nodes_model_merging.ModelMergeBlocks): return {"required": arg_dict} +class ModelMergeCosmos7B(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["pos_embedder."] = argument + arg_dict["extra_pos_embedder."] = argument + arg_dict["x_embedder."] = argument + arg_dict["t_embedder."] = argument + arg_dict["affline_norm."] = argument + + + for i in range(28): + arg_dict["blocks.block{}.".format(i)] = argument + + arg_dict["final_layer."] = argument + + return {"required": arg_dict} + +class ModelMergeCosmos14B(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["pos_embedder."] = argument + arg_dict["extra_pos_embedder."] = argument + arg_dict["x_embedder."] = argument + arg_dict["t_embedder."] = argument + arg_dict["affline_norm."] = argument + + + for i in range(36): + arg_dict["blocks.block{}.".format(i)] = argument + + arg_dict["final_layer."] = argument + + return {"required": arg_dict} + NODE_CLASS_MAPPINGS = { "ModelMergeSD1": ModelMergeSD1, "ModelMergeSD2": ModelMergeSD1, #SD1 and SD2 have the same blocks @@ -206,4 +254,6 @@ NODE_CLASS_MAPPINGS = { "ModelMergeSD35_Large": ModelMergeSD35_Large, "ModelMergeMochiPreview": ModelMergeMochiPreview, "ModelMergeLTXV": ModelMergeLTXV, + "ModelMergeCosmos7B": ModelMergeCosmos7B, + "ModelMergeCosmos14B": ModelMergeCosmos14B, } From 8d88bfaff9bdf4ca70685c5c4d61d1b90b686a50 Mon Sep 17 00:00:00 2001 From: Raphael Walker Date: Mon, 3 Feb 2025 23:07:35 +0100 Subject: [PATCH 17/78] allow searching for new .pt2 extension, which can contain AOTI compiled modules (#6689) --- folder_paths.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/folder_paths.py b/folder_paths.py index 3d8f61d4a..72c70f594 100644 --- a/folder_paths.py +++ b/folder_paths.py @@ -9,7 +9,7 @@ from collections.abc import Collection from comfy.cli_args import args -supported_pt_extensions: set[str] = {'.ckpt', '.pt', '.bin', '.pth', '.safetensors', '.pkl', '.sft'} +supported_pt_extensions: set[str] = {'.ckpt', '.pt', '.pt2', '.bin', '.pth', '.safetensors', '.pkl', '.sft'} folder_names_and_paths: dict[str, tuple[list[str], set[str]]] = {} From e5ea112a90ed5c22f0114dc29f5a9e7d8a897edf Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Tue, 4 Feb 2025 03:56:00 -0500 Subject: [PATCH 18/78] Support Lumina 2 model. --- comfy/ldm/lumina/model.py | 670 ++++++++++++++++++++ comfy/ldm/modules/diffusionmodules/mmdit.py | 2 +- comfy/model_base.py | 17 + comfy/model_detection.py | 17 +- comfy/sd.py | 11 +- comfy/sd1_clip.py | 17 +- comfy/supported_models.py | 32 +- comfy/text_encoders/llama.py | 132 +++- comfy/text_encoders/lumina2.py | 44 ++ comfy/text_encoders/spiece_tokenizer.py | 14 +- nodes.py | 4 +- 11 files changed, 921 insertions(+), 39 deletions(-) create mode 100644 comfy/ldm/lumina/model.py create mode 100644 comfy/text_encoders/lumina2.py diff --git a/comfy/ldm/lumina/model.py b/comfy/ldm/lumina/model.py new file mode 100644 index 000000000..24c6d80f2 --- /dev/null +++ b/comfy/ldm/lumina/model.py @@ -0,0 +1,670 @@ +# Code from: https://github.com/Alpha-VLLM/Lumina-Image-2.0/blob/main/models/model.py + +from typing import List, Optional, Tuple + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from comfy.ldm.modules.diffusionmodules.mmdit import TimestepEmbedder, RMSNorm +from comfy.ldm.modules.attention import optimized_attention_masked + + +def modulate(x, scale): + return x * (1 + scale.unsqueeze(1)) + +############################################################################# +# Core NextDiT Model # +############################################################################# + + +class JointAttention(nn.Module): + """Multi-head attention module.""" + + def __init__( + self, + dim: int, + n_heads: int, + n_kv_heads: Optional[int], + qk_norm: bool, + operation_settings={}, + ): + """ + Initialize the Attention module. + + Args: + dim (int): Number of input dimensions. + n_heads (int): Number of heads. + n_kv_heads (Optional[int]): Number of kv heads, if using GQA. + + """ + super().__init__() + self.n_kv_heads = n_heads if n_kv_heads is None else n_kv_heads + self.n_local_heads = n_heads + self.n_local_kv_heads = self.n_kv_heads + self.n_rep = self.n_local_heads // self.n_local_kv_heads + self.head_dim = dim // n_heads + + self.qkv = operation_settings.get("operations").Linear( + dim, + (n_heads + self.n_kv_heads + self.n_kv_heads) * self.head_dim, + bias=False, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ) + self.out = operation_settings.get("operations").Linear( + n_heads * self.head_dim, + dim, + bias=False, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ) + + if qk_norm: + self.q_norm = RMSNorm(self.head_dim, elementwise_affine=True, **operation_settings) + self.k_norm = RMSNorm(self.head_dim, elementwise_affine=True, **operation_settings) + else: + self.q_norm = self.k_norm = nn.Identity() + + @staticmethod + def apply_rotary_emb( + x_in: torch.Tensor, + freqs_cis: torch.Tensor, + ) -> torch.Tensor: + """ + Apply rotary embeddings to input tensors using the given frequency + tensor. + + This function applies rotary embeddings to the given query 'xq' and + key 'xk' tensors using the provided frequency tensor 'freqs_cis'. The + input tensors are reshaped as complex numbers, and the frequency tensor + is reshaped for broadcasting compatibility. The resulting tensors + contain rotary embeddings and are returned as real tensors. + + Args: + x_in (torch.Tensor): Query or Key tensor to apply rotary embeddings. + freqs_cis (torch.Tensor): Precomputed frequency tensor for complex + exponentials. + + Returns: + Tuple[torch.Tensor, torch.Tensor]: Tuple of modified query tensor + and key tensor with rotary embeddings. + """ + + x = torch.view_as_complex(x_in.float().reshape(*x_in.shape[:-1], -1, 2)) + freqs_cis = freqs_cis.unsqueeze(2) + x_out = torch.view_as_real(x * freqs_cis).flatten(3) + return x_out.type_as(x_in) + + def forward( + self, + x: torch.Tensor, + x_mask: torch.Tensor, + freqs_cis: torch.Tensor, + ) -> torch.Tensor: + """ + + Args: + x: + x_mask: + freqs_cis: + + Returns: + + """ + bsz, seqlen, _ = x.shape + + xq, xk, xv = torch.split( + self.qkv(x), + [ + self.n_local_heads * self.head_dim, + self.n_local_kv_heads * self.head_dim, + self.n_local_kv_heads * self.head_dim, + ], + dim=-1, + ) + xq = xq.view(bsz, seqlen, self.n_local_heads, self.head_dim) + xk = xk.view(bsz, seqlen, self.n_local_kv_heads, self.head_dim) + xv = xv.view(bsz, seqlen, self.n_local_kv_heads, self.head_dim) + + xq = self.q_norm(xq) + xk = self.k_norm(xk) + xq = JointAttention.apply_rotary_emb(xq, freqs_cis=freqs_cis) + xk = JointAttention.apply_rotary_emb(xk, freqs_cis=freqs_cis) + + n_rep = self.n_local_heads // self.n_local_kv_heads + if n_rep >= 1: + xk = xk.unsqueeze(3).repeat(1, 1, 1, n_rep, 1).flatten(2, 3) + xv = xv.unsqueeze(3).repeat(1, 1, 1, n_rep, 1).flatten(2, 3) + output = optimized_attention_masked(xq.movedim(1, 2), xk.movedim(1, 2), xv.movedim(1, 2), self.n_local_heads, x_mask, skip_reshape=True) + + return self.out(output) + + +class FeedForward(nn.Module): + def __init__( + self, + dim: int, + hidden_dim: int, + multiple_of: int, + ffn_dim_multiplier: Optional[float], + operation_settings={}, + ): + """ + Initialize the FeedForward module. + + Args: + dim (int): Input dimension. + hidden_dim (int): Hidden dimension of the feedforward layer. + multiple_of (int): Value to ensure hidden dimension is a multiple + of this value. + ffn_dim_multiplier (float, optional): Custom multiplier for hidden + dimension. Defaults to None. + + """ + super().__init__() + # custom dim factor multiplier + if ffn_dim_multiplier is not None: + hidden_dim = int(ffn_dim_multiplier * hidden_dim) + hidden_dim = multiple_of * ((hidden_dim + multiple_of - 1) // multiple_of) + + self.w1 = operation_settings.get("operations").Linear( + dim, + hidden_dim, + bias=False, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ) + self.w2 = operation_settings.get("operations").Linear( + hidden_dim, + dim, + bias=False, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ) + self.w3 = operation_settings.get("operations").Linear( + dim, + hidden_dim, + bias=False, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ) + + # @torch.compile + def _forward_silu_gating(self, x1, x3): + return F.silu(x1) * x3 + + def forward(self, x): + return self.w2(self._forward_silu_gating(self.w1(x), self.w3(x))) + + +class JointTransformerBlock(nn.Module): + def __init__( + self, + layer_id: int, + dim: int, + n_heads: int, + n_kv_heads: int, + multiple_of: int, + ffn_dim_multiplier: float, + norm_eps: float, + qk_norm: bool, + modulation=True, + operation_settings={}, + ) -> None: + """ + Initialize a TransformerBlock. + + Args: + layer_id (int): Identifier for the layer. + dim (int): Embedding dimension of the input features. + n_heads (int): Number of attention heads. + n_kv_heads (Optional[int]): Number of attention heads in key and + value features (if using GQA), or set to None for the same as + query. + multiple_of (int): + ffn_dim_multiplier (float): + norm_eps (float): + + """ + super().__init__() + self.dim = dim + self.head_dim = dim // n_heads + self.attention = JointAttention(dim, n_heads, n_kv_heads, qk_norm, operation_settings=operation_settings) + self.feed_forward = FeedForward( + dim=dim, + hidden_dim=4 * dim, + multiple_of=multiple_of, + ffn_dim_multiplier=ffn_dim_multiplier, + operation_settings=operation_settings, + ) + self.layer_id = layer_id + self.attention_norm1 = RMSNorm(dim, eps=norm_eps, elementwise_affine=True, **operation_settings) + self.ffn_norm1 = RMSNorm(dim, eps=norm_eps, elementwise_affine=True, **operation_settings) + + self.attention_norm2 = RMSNorm(dim, eps=norm_eps, elementwise_affine=True, **operation_settings) + self.ffn_norm2 = RMSNorm(dim, eps=norm_eps, elementwise_affine=True, **operation_settings) + + self.modulation = modulation + if modulation: + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operation_settings.get("operations").Linear( + min(dim, 1024), + 4 * dim, + bias=True, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ), + ) + + def forward( + self, + x: torch.Tensor, + x_mask: torch.Tensor, + freqs_cis: torch.Tensor, + adaln_input: Optional[torch.Tensor]=None, + ): + """ + Perform a forward pass through the TransformerBlock. + + Args: + x (torch.Tensor): Input tensor. + freqs_cis (torch.Tensor): Precomputed cosine and sine frequencies. + + Returns: + torch.Tensor: Output tensor after applying attention and + feedforward layers. + + """ + if self.modulation: + assert adaln_input is not None + scale_msa, gate_msa, scale_mlp, gate_mlp = self.adaLN_modulation(adaln_input).chunk(4, dim=1) + + x = x + gate_msa.unsqueeze(1).tanh() * self.attention_norm2( + self.attention( + modulate(self.attention_norm1(x), scale_msa), + x_mask, + freqs_cis, + ) + ) + x = x + gate_mlp.unsqueeze(1).tanh() * self.ffn_norm2( + self.feed_forward( + modulate(self.ffn_norm1(x), scale_mlp), + ) + ) + else: + assert adaln_input is None + x = x + self.attention_norm2( + self.attention( + self.attention_norm1(x), + x_mask, + freqs_cis, + ) + ) + x = x + self.ffn_norm2( + self.feed_forward( + self.ffn_norm1(x), + ) + ) + return x + + +class FinalLayer(nn.Module): + """ + The final layer of NextDiT. + """ + + def __init__(self, hidden_size, patch_size, out_channels, operation_settings={}): + super().__init__() + self.norm_final = operation_settings.get("operations").LayerNorm( + hidden_size, + elementwise_affine=False, + eps=1e-6, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ) + self.linear = operation_settings.get("operations").Linear( + hidden_size, + patch_size * patch_size * out_channels, + bias=True, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ) + + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operation_settings.get("operations").Linear( + min(hidden_size, 1024), + hidden_size, + bias=True, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ), + ) + + def forward(self, x, c): + scale = self.adaLN_modulation(c) + x = modulate(self.norm_final(x), scale) + x = self.linear(x) + return x + + +class RopeEmbedder: + def __init__( + self, theta: float = 10000.0, axes_dims: List[int] = (16, 56, 56), axes_lens: List[int] = (1, 512, 512) + ): + super().__init__() + self.theta = theta + self.axes_dims = axes_dims + self.axes_lens = axes_lens + self.freqs_cis = NextDiT.precompute_freqs_cis(self.axes_dims, self.axes_lens, theta=self.theta) + + def __call__(self, ids: torch.Tensor): + self.freqs_cis = [freqs_cis.to(ids.device) for freqs_cis in self.freqs_cis] + result = [] + for i in range(len(self.axes_dims)): + index = ids[:, :, i:i+1].repeat(1, 1, self.freqs_cis[i].shape[-1]).to(torch.int64) + result.append(torch.gather(self.freqs_cis[i].unsqueeze(0).repeat(index.shape[0], 1, 1), dim=1, index=index)) + return torch.cat(result, dim=-1) + + +class NextDiT(nn.Module): + """ + Diffusion model with a Transformer backbone. + """ + + def __init__( + self, + patch_size: int = 2, + in_channels: int = 4, + dim: int = 4096, + n_layers: int = 32, + n_refiner_layers: int = 2, + n_heads: int = 32, + n_kv_heads: Optional[int] = None, + multiple_of: int = 256, + ffn_dim_multiplier: Optional[float] = None, + norm_eps: float = 1e-5, + qk_norm: bool = False, + cap_feat_dim: int = 5120, + axes_dims: List[int] = (16, 56, 56), + axes_lens: List[int] = (1, 512, 512), + image_model=None, + device=None, + dtype=None, + operations=None, + ) -> None: + super().__init__() + self.dtype = dtype + operation_settings = {"operations": operations, "device": device, "dtype": dtype} + self.in_channels = in_channels + self.out_channels = in_channels + self.patch_size = patch_size + + self.x_embedder = operation_settings.get("operations").Linear( + in_features=patch_size * patch_size * in_channels, + out_features=dim, + bias=True, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ) + + self.noise_refiner = nn.ModuleList( + [ + JointTransformerBlock( + layer_id, + dim, + n_heads, + n_kv_heads, + multiple_of, + ffn_dim_multiplier, + norm_eps, + qk_norm, + modulation=True, + operation_settings=operation_settings, + ) + for layer_id in range(n_refiner_layers) + ] + ) + self.context_refiner = nn.ModuleList( + [ + JointTransformerBlock( + layer_id, + dim, + n_heads, + n_kv_heads, + multiple_of, + ffn_dim_multiplier, + norm_eps, + qk_norm, + modulation=False, + operation_settings=operation_settings, + ) + for layer_id in range(n_refiner_layers) + ] + ) + + self.t_embedder = TimestepEmbedder(min(dim, 1024), **operation_settings) + self.cap_embedder = nn.Sequential( + RMSNorm(cap_feat_dim, eps=norm_eps, elementwise_affine=True, **operation_settings), + operation_settings.get("operations").Linear( + cap_feat_dim, + dim, + bias=True, + device=operation_settings.get("device"), + dtype=operation_settings.get("dtype"), + ), + ) + + self.layers = nn.ModuleList( + [ + JointTransformerBlock( + layer_id, + dim, + n_heads, + n_kv_heads, + multiple_of, + ffn_dim_multiplier, + norm_eps, + qk_norm, + operation_settings=operation_settings, + ) + for layer_id in range(n_layers) + ] + ) + self.norm_final = RMSNorm(dim, eps=norm_eps, elementwise_affine=True, **operation_settings) + self.final_layer = FinalLayer(dim, patch_size, self.out_channels, operation_settings=operation_settings) + + assert (dim // n_heads) == sum(axes_dims) + self.axes_dims = axes_dims + self.axes_lens = axes_lens + self.rope_embedder = RopeEmbedder(axes_dims=axes_dims, axes_lens=axes_lens) + self.dim = dim + self.n_heads = n_heads + + def unpatchify( + self, x: torch.Tensor, img_size: List[Tuple[int, int]], cap_size: List[int], return_tensor=False + ) -> List[torch.Tensor]: + """ + x: (N, T, patch_size**2 * C) + imgs: (N, H, W, C) + """ + pH = pW = self.patch_size + imgs = [] + for i in range(x.size(0)): + H, W = img_size[i] + begin = cap_size[i] + end = begin + (H // pH) * (W // pW) + imgs.append( + x[i][begin:end] + .view(H // pH, W // pW, pH, pW, self.out_channels) + .permute(4, 0, 2, 1, 3) + .flatten(3, 4) + .flatten(1, 2) + ) + + if return_tensor: + imgs = torch.stack(imgs, dim=0) + return imgs + + def patchify_and_embed( + self, x: List[torch.Tensor] | torch.Tensor, cap_feats: torch.Tensor, cap_mask: torch.Tensor, t: torch.Tensor, num_tokens + ) -> Tuple[torch.Tensor, torch.Tensor, List[Tuple[int, int]], List[int], torch.Tensor]: + bsz = len(x) + pH = pW = self.patch_size + device = x[0].device + dtype = x[0].dtype + + if cap_mask is not None: + l_effective_cap_len = cap_mask.sum(dim=1).tolist() + else: + l_effective_cap_len = [num_tokens] * bsz + + if cap_mask is not None and not torch.is_floating_point(cap_mask): + cap_mask = (cap_mask - 1).to(dtype) * torch.finfo(dtype).max + + img_sizes = [(img.size(1), img.size(2)) for img in x] + l_effective_img_len = [(H // pH) * (W // pW) for (H, W) in img_sizes] + + max_seq_len = max( + (cap_len+img_len for cap_len, img_len in zip(l_effective_cap_len, l_effective_img_len)) + ) + max_cap_len = max(l_effective_cap_len) + max_img_len = max(l_effective_img_len) + + position_ids = torch.zeros(bsz, max_seq_len, 3, dtype=torch.int32, device=device) + + for i in range(bsz): + cap_len = l_effective_cap_len[i] + img_len = l_effective_img_len[i] + H, W = img_sizes[i] + H_tokens, W_tokens = H // pH, W // pW + assert H_tokens * W_tokens == img_len + + position_ids[i, :cap_len, 0] = torch.arange(cap_len, dtype=torch.int32, device=device) + position_ids[i, cap_len:cap_len+img_len, 0] = cap_len + row_ids = torch.arange(H_tokens, dtype=torch.int32, device=device).view(-1, 1).repeat(1, W_tokens).flatten() + col_ids = torch.arange(W_tokens, dtype=torch.int32, device=device).view(1, -1).repeat(H_tokens, 1).flatten() + position_ids[i, cap_len:cap_len+img_len, 1] = row_ids + position_ids[i, cap_len:cap_len+img_len, 2] = col_ids + + freqs_cis = self.rope_embedder(position_ids) + + # build freqs_cis for cap and image individually + cap_freqs_cis_shape = list(freqs_cis.shape) + # cap_freqs_cis_shape[1] = max_cap_len + cap_freqs_cis_shape[1] = cap_feats.shape[1] + cap_freqs_cis = torch.zeros(*cap_freqs_cis_shape, device=device, dtype=freqs_cis.dtype) + + img_freqs_cis_shape = list(freqs_cis.shape) + img_freqs_cis_shape[1] = max_img_len + img_freqs_cis = torch.zeros(*img_freqs_cis_shape, device=device, dtype=freqs_cis.dtype) + + for i in range(bsz): + cap_len = l_effective_cap_len[i] + img_len = l_effective_img_len[i] + cap_freqs_cis[i, :cap_len] = freqs_cis[i, :cap_len] + img_freqs_cis[i, :img_len] = freqs_cis[i, cap_len:cap_len+img_len] + + # refine context + for layer in self.context_refiner: + cap_feats = layer(cap_feats, cap_mask, cap_freqs_cis) + + # refine image + flat_x = [] + for i in range(bsz): + img = x[i] + C, H, W = img.size() + img = img.view(C, H // pH, pH, W // pW, pW).permute(1, 3, 2, 4, 0).flatten(2).flatten(0, 1) + flat_x.append(img) + x = flat_x + padded_img_embed = torch.zeros(bsz, max_img_len, x[0].shape[-1], device=device, dtype=x[0].dtype) + padded_img_mask = torch.zeros(bsz, max_img_len, dtype=torch.bool, device=device) + for i in range(bsz): + padded_img_embed[i, :l_effective_img_len[i]] = x[i] + padded_img_mask[i, :l_effective_img_len[i]] = True + + padded_img_embed = self.x_embedder(padded_img_embed) + for layer in self.noise_refiner: + padded_img_embed = layer(padded_img_embed, padded_img_mask, img_freqs_cis, t) + + if cap_mask is not None: + mask = torch.zeros(bsz, max_seq_len, dtype=dtype, device=device) + mask[:, :max_cap_len] = cap_mask[:, :max_cap_len] + else: + mask = None + + padded_full_embed = torch.zeros(bsz, max_seq_len, self.dim, device=device, dtype=x[0].dtype) + for i in range(bsz): + cap_len = l_effective_cap_len[i] + img_len = l_effective_img_len[i] + + padded_full_embed[i, :cap_len] = cap_feats[i, :cap_len] + padded_full_embed[i, cap_len:cap_len+img_len] = padded_img_embed[i, :img_len] + + return padded_full_embed, mask, img_sizes, l_effective_cap_len, freqs_cis + + + # def forward(self, x, t, cap_feats, cap_mask): + def forward(self, x, timesteps, context, num_tokens, attention_mask=None, **kwargs): + t = 1.0 - timesteps + cap_feats = context + cap_mask = attention_mask + """ + Forward pass of NextDiT. + t: (N,) tensor of diffusion timesteps + y: (N,) tensor of text tokens/features + """ + + t = self.t_embedder(t, dtype=x.dtype) # (N, D) + adaln_input = t + + cap_feats = self.cap_embedder(cap_feats) # (N, L, D) # todo check if able to batchify w.o. redundant compute + + x_is_tensor = isinstance(x, torch.Tensor) + x, mask, img_size, cap_size, freqs_cis = self.patchify_and_embed(x, cap_feats, cap_mask, t, num_tokens) + freqs_cis = freqs_cis.to(x.device) + + for layer in self.layers: + x = layer(x, mask, freqs_cis, adaln_input) + + x = self.final_layer(x, adaln_input) + x = self.unpatchify(x, img_size, cap_size, return_tensor=x_is_tensor) + + return -x + + @staticmethod + def precompute_freqs_cis( + dim: List[int], + end: List[int], + theta: float = 10000.0, + ): + """ + Precompute the frequency tensor for complex exponentials (cis) with + given dimensions. + + This function calculates a frequency tensor with complex exponentials + using the given dimension 'dim' and the end index 'end'. The 'theta' + parameter scales the frequencies. The returned tensor contains complex + values in complex64 data type. + + Args: + dim (list): Dimension of the frequency tensor. + end (list): End index for precomputing frequencies. + theta (float, optional): Scaling factor for frequency computation. + Defaults to 10000.0. + + Returns: + torch.Tensor: Precomputed frequency tensor with complex + exponentials. + """ + freqs_cis = [] + for i, (d, e) in enumerate(zip(dim, end)): + freqs = 1.0 / (theta ** (torch.arange(0, d, 2, dtype=torch.float64, device="cpu") / d)) + timestep = torch.arange(e, device=freqs.device, dtype=torch.float64) + freqs = torch.outer(timestep, freqs).float() + freqs_cis_i = torch.polar(torch.ones_like(freqs), freqs).to(torch.complex64) # complex64 + freqs_cis.append(freqs_cis_i) + + return freqs_cis diff --git a/comfy/ldm/modules/diffusionmodules/mmdit.py b/comfy/ldm/modules/diffusionmodules/mmdit.py index e70f4431f..eaf3e73a4 100644 --- a/comfy/ldm/modules/diffusionmodules/mmdit.py +++ b/comfy/ldm/modules/diffusionmodules/mmdit.py @@ -321,7 +321,7 @@ class SelfAttention(nn.Module): class RMSNorm(torch.nn.Module): def __init__( - self, dim: int, elementwise_affine: bool = False, eps: float = 1e-6, device=None, dtype=None + self, dim: int, elementwise_affine: bool = False, eps: float = 1e-6, device=None, dtype=None, **kwargs ): """ Initialize the RMSNorm normalization layer. diff --git a/comfy/model_base.py b/comfy/model_base.py index cd05bbdfe..4d1b83a4a 100644 --- a/comfy/model_base.py +++ b/comfy/model_base.py @@ -34,6 +34,7 @@ import comfy.ldm.flux.model import comfy.ldm.lightricks.model import comfy.ldm.hunyuan_video.model import comfy.ldm.cosmos.model +import comfy.ldm.lumina.model import comfy.model_management import comfy.patcher_extension @@ -904,3 +905,19 @@ class CosmosVideo(BaseModel): latent_image = latent_image + noise latent_image = self.model_sampling.calculate_input(torch.tensor([sigma_noise_augmentation], device=latent_image.device, dtype=latent_image.dtype), latent_image) return latent_image * ((sigma ** 2 + self.model_sampling.sigma_data ** 2) ** 0.5) + +class Lumina2(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLOW, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.lumina.model.NextDiT) + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + if torch.numel(attention_mask) != attention_mask.sum(): + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + out['num_tokens'] = comfy.conds.CONDConstant(max(1, torch.sum(attention_mask).item())) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + return out diff --git a/comfy/model_detection.py b/comfy/model_detection.py index ba96ebe85..2644dd0dc 100644 --- a/comfy/model_detection.py +++ b/comfy/model_detection.py @@ -239,7 +239,7 @@ def detect_unet_config(state_dict, key_prefix): dit_config["micro_condition"] = False return dit_config - if '{}blocks.block0.blocks.0.block.attn.to_q.0.weight'.format(key_prefix) in state_dict_keys: + if '{}blocks.block0.blocks.0.block.attn.to_q.0.weight'.format(key_prefix) in state_dict_keys: # Cosmos dit_config = {} dit_config["image_model"] = "cosmos" dit_config["max_img_h"] = 240 @@ -284,6 +284,21 @@ def detect_unet_config(state_dict, key_prefix): dit_config["extra_per_block_abs_pos_emb_type"] = "learnable" return dit_config + if '{}cap_embedder.1.weight'.format(key_prefix) in state_dict_keys: # Lumina 2 + dit_config = {} + dit_config["image_model"] = "lumina2" + dit_config["patch_size"] = 2 + dit_config["in_channels"] = 16 + dit_config["dim"] = 2304 + dit_config["cap_feat_dim"] = 2304 + dit_config["n_layers"] = 26 + dit_config["n_heads"] = 24 + dit_config["n_kv_heads"] = 8 + dit_config["qk_norm"] = True + dit_config["axes_dims"] = [32, 32, 32] + dit_config["axes_lens"] = [300, 512, 512] + return dit_config + if '{}input_blocks.0.0.weight'.format(key_prefix) not in state_dict_keys: return None diff --git a/comfy/sd.py b/comfy/sd.py index d7e89f726..eabf0bda0 100644 --- a/comfy/sd.py +++ b/comfy/sd.py @@ -36,6 +36,7 @@ import comfy.text_encoders.genmo import comfy.text_encoders.lt import comfy.text_encoders.hunyuan_video import comfy.text_encoders.cosmos +import comfy.text_encoders.lumina2 import comfy.model_patcher import comfy.lora @@ -657,6 +658,7 @@ class CLIPType(Enum): HUNYUAN_VIDEO = 9 PIXART = 10 COSMOS = 11 + LUMINA2 = 12 def load_clip(ckpt_paths, embedding_directory=None, clip_type=CLIPType.STABLE_DIFFUSION, model_options={}): @@ -675,6 +677,7 @@ class TEModel(Enum): T5_BASE = 6 LLAMA3_8 = 7 T5_XXL_OLD = 8 + GEMMA_2_2B = 9 def detect_te_model(sd): if "text_model.encoder.layers.30.mlp.fc1.weight" in sd: @@ -693,6 +696,8 @@ def detect_te_model(sd): return TEModel.T5_XXL_OLD if "encoder.block.0.layer.0.SelfAttention.k.weight" in sd: return TEModel.T5_BASE + if 'model.layers.0.post_feedforward_layernorm.weight' in sd: + return TEModel.GEMMA_2_2B if "model.layers.0.post_attention_layernorm.weight" in sd: return TEModel.LLAMA3_8 return None @@ -730,6 +735,7 @@ def load_text_encoder_state_dicts(state_dicts=[], embedding_directory=None, clip if "text_projection" in clip_data[i]: clip_data[i]["text_projection.weight"] = clip_data[i]["text_projection"].transpose(0, 1) #old models saved with the CLIPSave node + tokenizer_data = {} clip_target = EmptyClass() clip_target.params = {} if len(clip_data) == 1: @@ -769,6 +775,10 @@ def load_text_encoder_state_dicts(state_dicts=[], embedding_directory=None, clip elif te_model == TEModel.T5_BASE: clip_target.clip = comfy.text_encoders.sa_t5.SAT5Model clip_target.tokenizer = comfy.text_encoders.sa_t5.SAT5Tokenizer + elif te_model == TEModel.GEMMA_2_2B: + clip_target.clip = comfy.text_encoders.lumina2.te(**llama_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.lumina2.LuminaTokenizer + tokenizer_data["spiece_model"] = clip_data[0].get("spiece_model", None) else: if clip_type == CLIPType.SD3: clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=True, clip_g=False, t5=False) @@ -798,7 +808,6 @@ def load_text_encoder_state_dicts(state_dicts=[], embedding_directory=None, clip clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer parameters = 0 - tokenizer_data = {} for c in clip_data: parameters += comfy.utils.calculate_parameters(c) tokenizer_data, model_options = comfy.text_encoders.long_clipl.model_options_long_clip(c, tokenizer_data, model_options) diff --git a/comfy/sd1_clip.py b/comfy/sd1_clip.py index 85518afd9..d2457731d 100644 --- a/comfy/sd1_clip.py +++ b/comfy/sd1_clip.py @@ -421,10 +421,10 @@ def load_embed(embedding_name, embedding_directory, embedding_size, embed_key=No return embed_out class SDTokenizer: - def __init__(self, tokenizer_path=None, max_length=77, pad_with_end=True, embedding_directory=None, embedding_size=768, embedding_key='clip_l', tokenizer_class=CLIPTokenizer, has_start_token=True, has_end_token=True, pad_to_max_length=True, min_length=None, pad_token=None, end_token=None, tokenizer_data={}): + def __init__(self, tokenizer_path=None, max_length=77, pad_with_end=True, embedding_directory=None, embedding_size=768, embedding_key='clip_l', tokenizer_class=CLIPTokenizer, has_start_token=True, has_end_token=True, pad_to_max_length=True, min_length=None, pad_token=None, end_token=None, tokenizer_data={}, tokenizer_args={}): if tokenizer_path is None: tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "sd1_tokenizer") - self.tokenizer = tokenizer_class.from_pretrained(tokenizer_path) + self.tokenizer = tokenizer_class.from_pretrained(tokenizer_path, **tokenizer_args) self.max_length = max_length self.min_length = min_length self.end_token = None @@ -585,9 +585,14 @@ class SDTokenizer: return {} class SD1Tokenizer: - def __init__(self, embedding_directory=None, tokenizer_data={}, clip_name="l", tokenizer=SDTokenizer): - self.clip_name = clip_name - self.clip = "clip_{}".format(self.clip_name) + def __init__(self, embedding_directory=None, tokenizer_data={}, clip_name="l", tokenizer=SDTokenizer, name=None): + if name is not None: + self.clip_name = name + self.clip = "{}".format(self.clip_name) + else: + self.clip_name = clip_name + self.clip = "clip_{}".format(self.clip_name) + tokenizer = tokenizer_data.get("{}_tokenizer_class".format(self.clip), tokenizer) setattr(self, self.clip, tokenizer(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data)) @@ -600,7 +605,7 @@ class SD1Tokenizer: return getattr(self, self.clip).untokenize(token_weight_pair) def state_dict(self): - return {} + return getattr(self, self.clip).state_dict() class SD1CheckpointClipModel(SDClipModel): def __init__(self, device="cpu", dtype=None, model_options={}): diff --git a/comfy/supported_models.py b/comfy/supported_models.py index ff0bea418..7aa152480 100644 --- a/comfy/supported_models.py +++ b/comfy/supported_models.py @@ -15,6 +15,7 @@ import comfy.text_encoders.genmo import comfy.text_encoders.lt import comfy.text_encoders.hunyuan_video import comfy.text_encoders.cosmos +import comfy.text_encoders.lumina2 from . import supported_models_base from . import latent_formats @@ -865,6 +866,35 @@ class CosmosI2V(CosmosT2V): out = model_base.CosmosVideo(self, image_to_video=True, device=device) return out -models = [Stable_Zero123, SD15_instructpix2pix, SD15, SD20, SD21UnclipL, SD21UnclipH, SDXL_instructpix2pix, SDXLRefiner, SDXL, SSD1B, KOALA_700M, KOALA_1B, Segmind_Vega, SD_X4Upscaler, Stable_Cascade_C, Stable_Cascade_B, SV3D_u, SV3D_p, SD3, StableAudio, AuraFlow, PixArtAlpha, PixArtSigma, HunyuanDiT, HunyuanDiT1, FluxInpaint, Flux, FluxSchnell, GenmoMochi, LTXV, HunyuanVideo, CosmosT2V, CosmosI2V] +class Lumina2(supported_models_base.BASE): + unet_config = { + "image_model": "lumina2", + } + + sampling_settings = { + "multiplier": 1.0, + "shift": 6.0, + } + + memory_usage_factor = 1.2 + + unet_extra_config = {} + latent_format = latent_formats.Flux + + supported_inference_dtypes = [torch.bfloat16, torch.float32] + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.Lumina2(self, device=device) + return out + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + hunyuan_detect = comfy.text_encoders.hunyuan_video.llama_detect(state_dict, "{}gemma2_2b.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.lumina2.LuminaTokenizer, comfy.text_encoders.lumina2.te(**hunyuan_detect)) + +models = [Stable_Zero123, SD15_instructpix2pix, SD15, SD20, SD21UnclipL, SD21UnclipH, SDXL_instructpix2pix, SDXLRefiner, SDXL, SSD1B, KOALA_700M, KOALA_1B, Segmind_Vega, SD_X4Upscaler, Stable_Cascade_C, Stable_Cascade_B, SV3D_u, SV3D_p, SD3, StableAudio, AuraFlow, PixArtAlpha, PixArtSigma, HunyuanDiT, HunyuanDiT1, FluxInpaint, Flux, FluxSchnell, GenmoMochi, LTXV, HunyuanVideo, CosmosT2V, CosmosI2V, Lumina2] models += [SVD_img2vid] diff --git a/comfy/text_encoders/llama.py b/comfy/text_encoders/llama.py index ad4b4623e..3f234015a 100644 --- a/comfy/text_encoders/llama.py +++ b/comfy/text_encoders/llama.py @@ -1,6 +1,5 @@ import torch import torch.nn as nn -import torch.nn.functional as F from dataclasses import dataclass from typing import Optional, Any @@ -21,15 +20,41 @@ class Llama2Config: max_position_embeddings: int = 8192 rms_norm_eps: float = 1e-5 rope_theta: float = 500000.0 + transformer_type: str = "llama" + head_dim = 128 + rms_norm_add = False + mlp_activation = "silu" + +@dataclass +class Gemma2_2B_Config: + vocab_size: int = 256000 + hidden_size: int = 2304 + intermediate_size: int = 9216 + num_hidden_layers: int = 26 + num_attention_heads: int = 8 + num_key_value_heads: int = 4 + max_position_embeddings: int = 8192 + rms_norm_eps: float = 1e-6 + rope_theta: float = 10000.0 + transformer_type: str = "gemma2" + head_dim = 256 + rms_norm_add = True + mlp_activation = "gelu_pytorch_tanh" class RMSNorm(nn.Module): - def __init__(self, dim: int, eps: float = 1e-5, device=None, dtype=None): + def __init__(self, dim: int, eps: float = 1e-5, add=False, device=None, dtype=None): super().__init__() self.eps = eps self.weight = nn.Parameter(torch.empty(dim, device=device, dtype=dtype)) + self.add = add def forward(self, x: torch.Tensor): - return comfy.ldm.common_dit.rms_norm(x, self.weight, self.eps) + w = self.weight + if self.add: + w = w + 1.0 + + return comfy.ldm.common_dit.rms_norm(x, w, self.eps) + def rotate_half(x): @@ -68,13 +93,15 @@ class Attention(nn.Module): self.num_heads = config.num_attention_heads self.num_kv_heads = config.num_key_value_heads self.hidden_size = config.hidden_size - self.head_dim = self.hidden_size // self.num_heads + + self.head_dim = config.head_dim + self.inner_size = self.num_heads * self.head_dim ops = ops or nn - self.q_proj = ops.Linear(config.hidden_size, config.hidden_size, bias=False, device=device, dtype=dtype) + self.q_proj = ops.Linear(config.hidden_size, self.inner_size, bias=False, device=device, dtype=dtype) self.k_proj = ops.Linear(config.hidden_size, self.num_kv_heads * self.head_dim, bias=False, device=device, dtype=dtype) self.v_proj = ops.Linear(config.hidden_size, self.num_kv_heads * self.head_dim, bias=False, device=device, dtype=dtype) - self.o_proj = ops.Linear(config.hidden_size, config.hidden_size, bias=False, device=device, dtype=dtype) + self.o_proj = ops.Linear(self.inner_size, config.hidden_size, bias=False, device=device, dtype=dtype) def forward( self, @@ -84,7 +111,6 @@ class Attention(nn.Module): optimized_attention=None, ): batch_size, seq_length, _ = hidden_states.shape - xq = self.q_proj(hidden_states) xk = self.k_proj(hidden_states) xv = self.v_proj(hidden_states) @@ -108,9 +134,13 @@ class MLP(nn.Module): self.gate_proj = ops.Linear(config.hidden_size, config.intermediate_size, bias=False, device=device, dtype=dtype) self.up_proj = ops.Linear(config.hidden_size, config.intermediate_size, bias=False, device=device, dtype=dtype) self.down_proj = ops.Linear(config.intermediate_size, config.hidden_size, bias=False, device=device, dtype=dtype) + if config.mlp_activation == "silu": + self.activation = torch.nn.functional.silu + elif config.mlp_activation == "gelu_pytorch_tanh": + self.activation = lambda a: torch.nn.functional.gelu(a, approximate="tanh") def forward(self, x): - return self.down_proj(F.silu(self.gate_proj(x)) * self.up_proj(x)) + return self.down_proj(self.activation(self.gate_proj(x)) * self.up_proj(x)) class TransformerBlock(nn.Module): def __init__(self, config: Llama2Config, device=None, dtype=None, ops: Any = None): @@ -146,6 +176,45 @@ class TransformerBlock(nn.Module): return x +class TransformerBlockGemma2(nn.Module): + def __init__(self, config: Llama2Config, device=None, dtype=None, ops: Any = None): + super().__init__() + self.self_attn = Attention(config, device=device, dtype=dtype, ops=ops) + self.mlp = MLP(config, device=device, dtype=dtype, ops=ops) + self.input_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, add=config.rms_norm_add, device=device, dtype=dtype) + self.post_attention_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, add=config.rms_norm_add, device=device, dtype=dtype) + self.pre_feedforward_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, add=config.rms_norm_add, device=device, dtype=dtype) + self.post_feedforward_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, add=config.rms_norm_add, device=device, dtype=dtype) + + def forward( + self, + x: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + freqs_cis: Optional[torch.Tensor] = None, + optimized_attention=None, + ): + # Self Attention + residual = x + x = self.input_layernorm(x) + x = self.self_attn( + hidden_states=x, + attention_mask=attention_mask, + freqs_cis=freqs_cis, + optimized_attention=optimized_attention, + ) + + x = self.post_attention_layernorm(x) + x = residual + x + + # MLP + residual = x + x = self.pre_feedforward_layernorm(x) + x = self.mlp(x) + x = self.post_feedforward_layernorm(x) + x = residual + x + + return x + class Llama2_(nn.Module): def __init__(self, config, device=None, dtype=None, ops=None): super().__init__() @@ -158,17 +227,27 @@ class Llama2_(nn.Module): device=device, dtype=dtype ) + if self.config.transformer_type == "gemma2": + transformer = TransformerBlockGemma2 + self.normalize_in = True + else: + transformer = TransformerBlock + self.normalize_in = False + self.layers = nn.ModuleList([ - TransformerBlock(config, device=device, dtype=dtype, ops=ops) + transformer(config, device=device, dtype=dtype, ops=ops) for _ in range(config.num_hidden_layers) ]) - self.norm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, device=device, dtype=dtype) + self.norm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, add=config.rms_norm_add, device=device, dtype=dtype) # self.lm_head = ops.Linear(config.hidden_size, config.vocab_size, bias=False, device=device, dtype=dtype) def forward(self, x, attention_mask=None, intermediate_output=None, final_layer_norm_intermediate=True, dtype=None): x = self.embed_tokens(x, out_dtype=dtype) - freqs_cis = precompute_freqs_cis(self.config.hidden_size // self.config.num_attention_heads, + if self.normalize_in: + x *= self.config.hidden_size ** 0.5 + + freqs_cis = precompute_freqs_cis(self.config.head_dim, x.shape[1], self.config.rope_theta, device=x.device) @@ -206,16 +285,7 @@ class Llama2_(nn.Module): return x, intermediate - -class Llama2(torch.nn.Module): - def __init__(self, config_dict, dtype, device, operations): - super().__init__() - config = Llama2Config(**config_dict) - self.num_layers = config.num_hidden_layers - - self.model = Llama2_(config, device=device, dtype=dtype, ops=operations) - self.dtype = dtype - +class BaseLlama: def get_input_embeddings(self): return self.model.embed_tokens @@ -224,3 +294,23 @@ class Llama2(torch.nn.Module): def forward(self, input_ids, *args, **kwargs): return self.model(input_ids, *args, **kwargs) + + +class Llama2(BaseLlama, torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + super().__init__() + config = Llama2Config(**config_dict) + self.num_layers = config.num_hidden_layers + + self.model = Llama2_(config, device=device, dtype=dtype, ops=operations) + self.dtype = dtype + + +class Gemma2_2B(BaseLlama, torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + super().__init__() + config = Gemma2_2B_Config(**config_dict) + self.num_layers = config.num_hidden_layers + + self.model = Llama2_(config, device=device, dtype=dtype, ops=operations) + self.dtype = dtype diff --git a/comfy/text_encoders/lumina2.py b/comfy/text_encoders/lumina2.py new file mode 100644 index 000000000..166d13281 --- /dev/null +++ b/comfy/text_encoders/lumina2.py @@ -0,0 +1,44 @@ +from comfy import sd1_clip +from .spiece_tokenizer import SPieceTokenizer +import comfy.text_encoders.llama + + +class Gemma2BTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=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}) + + def state_dict(self): + return {"spiece_model": self.tokenizer.serialize_model()} + + +class LuminaTokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, name="gemma2_2b", tokenizer=Gemma2BTokenizer) + + +class Gemma2_2BModel(sd1_clip.SDClipModel): + def __init__(self, device="cpu", layer="hidden", layer_idx=-2, dtype=None, attention_mask=True, 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) + + +class LuminaModel(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, dtype=dtype, name="gemma2_2b", clip_model=Gemma2_2BModel, model_options=model_options) + + +def te(dtype_llama=None, llama_scaled_fp8=None): + class LuminaTEModel_(LuminaModel): + def __init__(self, device="cpu", dtype=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_ diff --git a/comfy/text_encoders/spiece_tokenizer.py b/comfy/text_encoders/spiece_tokenizer.py index cbaa99ba5..21df4f863 100644 --- a/comfy/text_encoders/spiece_tokenizer.py +++ b/comfy/text_encoders/spiece_tokenizer.py @@ -1,21 +1,21 @@ import torch class SPieceTokenizer: - add_eos = True - @staticmethod - def from_pretrained(path): - return SPieceTokenizer(path) + def from_pretrained(path, **kwargs): + return SPieceTokenizer(path, **kwargs) - def __init__(self, tokenizer_path): + def __init__(self, tokenizer_path, add_bos=False, add_eos=True): + self.add_bos = add_bos + self.add_eos = add_eos import sentencepiece if torch.is_tensor(tokenizer_path): tokenizer_path = tokenizer_path.numpy().tobytes() if isinstance(tokenizer_path, bytes): - self.tokenizer = sentencepiece.SentencePieceProcessor(model_proto=tokenizer_path, add_eos=self.add_eos) + self.tokenizer = sentencepiece.SentencePieceProcessor(model_proto=tokenizer_path, add_bos=self.add_bos, add_eos=self.add_eos) else: - self.tokenizer = sentencepiece.SentencePieceProcessor(model_file=tokenizer_path, add_eos=self.add_eos) + self.tokenizer = sentencepiece.SentencePieceProcessor(model_file=tokenizer_path, add_bos=self.add_bos, add_eos=self.add_eos) def get_vocab(self): out = {} diff --git a/nodes.py b/nodes.py index 968f0f9ad..ba9c4e4bb 100644 --- a/nodes.py +++ b/nodes.py @@ -914,7 +914,7 @@ class CLIPLoader: @classmethod def INPUT_TYPES(s): return {"required": { "clip_name": (folder_paths.get_filename_list("text_encoders"), ), - "type": (["stable_diffusion", "stable_cascade", "sd3", "stable_audio", "mochi", "ltxv", "pixart", "cosmos"], ), + "type": (["stable_diffusion", "stable_cascade", "sd3", "stable_audio", "mochi", "ltxv", "pixart", "cosmos", "lumina2"], ), }, "optional": { "device": (["default", "cpu"], {"advanced": True}), @@ -941,6 +941,8 @@ class CLIPLoader: clip_type = comfy.sd.CLIPType.PIXART elif type == "cosmos": clip_type = comfy.sd.CLIPType.COSMOS + elif type == "lumina2": + clip_type = comfy.sd.CLIPType.LUMINA2 else: clip_type = comfy.sd.CLIPType.STABLE_DIFFUSION From 3e880ac709d3a062a5d8027b861743c65e95ec5c Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Tue, 4 Feb 2025 04:20:56 -0500 Subject: [PATCH 19/78] Fix on python 3.9 --- comfy/ldm/lumina/model.py | 1 + 1 file changed, 1 insertion(+) diff --git a/comfy/ldm/lumina/model.py b/comfy/ldm/lumina/model.py index 24c6d80f2..4eb7164d1 100644 --- a/comfy/ldm/lumina/model.py +++ b/comfy/ldm/lumina/model.py @@ -1,4 +1,5 @@ # Code from: https://github.com/Alpha-VLLM/Lumina-Image-2.0/blob/main/models/model.py +from __future__ import annotations from typing import List, Optional, Tuple From 8ac2dddeed27b0ed2af4c271dcdf78d89d58b005 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Tue, 4 Feb 2025 06:50:37 -0500 Subject: [PATCH 20/78] Lower the default shift of lumina to reduce artifacts. --- comfy/supported_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/supported_models.py b/comfy/supported_models.py index 7aa152480..cdd2ba574 100644 --- a/comfy/supported_models.py +++ b/comfy/supported_models.py @@ -873,7 +873,7 @@ class Lumina2(supported_models_base.BASE): sampling_settings = { "multiplier": 1.0, - "shift": 6.0, + "shift": 3.0, } memory_usage_factor = 1.2 From 016b219dcca2431bb46dccc04bc85c764b76409a Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Tue, 4 Feb 2025 08:08:36 -0500 Subject: [PATCH 21/78] Add Lumina Image 2.0 to Readme. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84ac02eb3..44f46a41a 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ This ui will let you design and execute advanced stable diffusion pipelines usin - [AuraFlow](https://comfyanonymous.github.io/ComfyUI_examples/aura_flow/) - [HunyuanDiT](https://comfyanonymous.github.io/ComfyUI_examples/hunyuan_dit/) - [Flux](https://comfyanonymous.github.io/ComfyUI_examples/flux/) + - [Lumina Image 2.0](https://comfyanonymous.github.io/ComfyUI_examples/lumina2/) - Video Models - [Stable Video Diffusion](https://comfyanonymous.github.io/ComfyUI_examples/video/) - [Mochi](https://comfyanonymous.github.io/ComfyUI_examples/mochi/) From a57d635c5f36c28c59ea6513878acde80e4df180 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Tue, 4 Feb 2025 21:48:11 -0500 Subject: [PATCH 22/78] Fix lumina 2 batches. --- comfy/ldm/lumina/model.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/comfy/ldm/lumina/model.py b/comfy/ldm/lumina/model.py index 4eb7164d1..e4b0d34a6 100644 --- a/comfy/ldm/lumina/model.py +++ b/comfy/ldm/lumina/model.py @@ -581,12 +581,13 @@ class NextDiT(nn.Module): flat_x.append(img) x = flat_x padded_img_embed = torch.zeros(bsz, max_img_len, x[0].shape[-1], device=device, dtype=x[0].dtype) - padded_img_mask = torch.zeros(bsz, max_img_len, dtype=torch.bool, device=device) + padded_img_mask = torch.zeros(bsz, max_img_len, dtype=dtype, device=device) for i in range(bsz): padded_img_embed[i, :l_effective_img_len[i]] = x[i] - padded_img_mask[i, :l_effective_img_len[i]] = True + padded_img_mask[i, l_effective_img_len[i]:] = -torch.finfo(dtype).max padded_img_embed = self.x_embedder(padded_img_embed) + padded_img_mask = padded_img_mask.unsqueeze(1) for layer in self.noise_refiner: padded_img_embed = layer(padded_img_embed, padded_img_mask, img_freqs_cis, t) From 60653004e534d1ef242406e5d208852ae8227a54 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 5 Feb 2025 04:16:59 -0500 Subject: [PATCH 23/78] Use regular numbers for rope in lumina model. --- comfy/ldm/lumina/model.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/comfy/ldm/lumina/model.py b/comfy/ldm/lumina/model.py index e4b0d34a6..442a814c3 100644 --- a/comfy/ldm/lumina/model.py +++ b/comfy/ldm/lumina/model.py @@ -9,6 +9,7 @@ import torch.nn.functional as F 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 def modulate(x, scale): @@ -92,10 +93,9 @@ class JointAttention(nn.Module): and key tensor with rotary embeddings. """ - x = torch.view_as_complex(x_in.float().reshape(*x_in.shape[:-1], -1, 2)) - freqs_cis = freqs_cis.unsqueeze(2) - x_out = torch.view_as_real(x * freqs_cis).flatten(3) - return x_out.type_as(x_in) + t_ = x_in.reshape(*x_in.shape[:-1], -1, 1, 2).float() + t_out = freqs_cis[..., 0] * t_[..., 0] + freqs_cis[..., 1] * t_[..., 1] + return t_out.reshape(*x_in.shape).type_as(x_in) def forward( self, @@ -130,6 +130,7 @@ class JointAttention(nn.Module): xq = self.q_norm(xq) xk = self.k_norm(xk) + xq = JointAttention.apply_rotary_emb(xq, freqs_cis=freqs_cis) xk = JointAttention.apply_rotary_emb(xk, freqs_cis=freqs_cis) @@ -480,7 +481,8 @@ class NextDiT(nn.Module): assert (dim // n_heads) == sum(axes_dims) self.axes_dims = axes_dims self.axes_lens = axes_lens - self.rope_embedder = RopeEmbedder(axes_dims=axes_dims, axes_lens=axes_lens) + # self.rope_embedder = RopeEmbedder(axes_dims=axes_dims, axes_lens=axes_lens) + self.rope_embedder = EmbedND(dim=dim // n_heads, theta=10000.0, axes_dim=axes_dims) self.dim = dim self.n_heads = n_heads @@ -550,7 +552,7 @@ class NextDiT(nn.Module): position_ids[i, cap_len:cap_len+img_len, 1] = row_ids position_ids[i, cap_len:cap_len+img_len, 2] = col_ids - freqs_cis = self.rope_embedder(position_ids) + freqs_cis = self.rope_embedder(position_ids).movedim(1, 2) # build freqs_cis for cap and image individually cap_freqs_cis_shape = list(freqs_cis.shape) From 94f21f93012173d8f1027bc5f59361cf200b8b37 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 5 Feb 2025 04:32:47 -0500 Subject: [PATCH 24/78] Upcasting rope to fp32 seems to make no difference in this model. --- comfy/ldm/lumina/model.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/comfy/ldm/lumina/model.py b/comfy/ldm/lumina/model.py index 442a814c3..ec4119722 100644 --- a/comfy/ldm/lumina/model.py +++ b/comfy/ldm/lumina/model.py @@ -93,9 +93,9 @@ class JointAttention(nn.Module): and key tensor with rotary embeddings. """ - t_ = x_in.reshape(*x_in.shape[:-1], -1, 1, 2).float() + t_ = x_in.reshape(*x_in.shape[:-1], -1, 1, 2) t_out = freqs_cis[..., 0] * t_[..., 0] + freqs_cis[..., 1] * t_[..., 1] - return t_out.reshape(*x_in.shape).type_as(x_in) + return t_out.reshape(*x_in.shape) def forward( self, @@ -552,7 +552,7 @@ class NextDiT(nn.Module): position_ids[i, cap_len:cap_len+img_len, 1] = row_ids position_ids[i, cap_len:cap_len+img_len, 2] = col_ids - freqs_cis = self.rope_embedder(position_ids).movedim(1, 2) + freqs_cis = self.rope_embedder(position_ids).movedim(1, 2).to(dtype) # build freqs_cis for cap and image individually cap_freqs_cis_shape = list(freqs_cis.shape) From 37cd44852976976c8a7b59ae87119ab5c1c118dd Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 5 Feb 2025 14:49:52 -0500 Subject: [PATCH 25/78] Set the shift for Lumina back to 6. --- comfy/supported_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/supported_models.py b/comfy/supported_models.py index cdd2ba574..7aa152480 100644 --- a/comfy/supported_models.py +++ b/comfy/supported_models.py @@ -873,7 +873,7 @@ class Lumina2(supported_models_base.BASE): sampling_settings = { "multiplier": 1.0, - "shift": 3.0, + "shift": 6.0, } memory_usage_factor = 1.2 From debabccb847b24e6be7cf69deb9c66026364cb04 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 5 Feb 2025 15:47:46 -0500 Subject: [PATCH 26/78] Bump ComfyUI version to v0.3.14 --- comfyui_version.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/comfyui_version.py b/comfyui_version.py index ca3c0f581..6be6f59f0 100644 --- a/comfyui_version.py +++ b/comfyui_version.py @@ -1,3 +1,3 @@ # This file is automatically generated by the build process when version is # updated in pyproject.toml. -__version__ = "0.3.13" +__version__ = "0.3.14" diff --git a/pyproject.toml b/pyproject.toml index da2c43c00..a450b9b0c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ComfyUI" -version = "0.3.13" +version = "0.3.14" readme = "README.md" license = { file = "LICENSE" } requires-python = ">=3.9" From f1059b0b82619cb43f1359f4bb4aee4495c17309 Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Wed, 5 Feb 2025 18:48:36 -0500 Subject: [PATCH 27/78] Remove unused GET /files API endpoint (#6714) --- api_server/routes/internal/internal_routes.py | 19 +-- api_server/services/file_service.py | 13 -- .../server/routes/internal_routes_test.py | 115 ------------------ .../server/services/file_service_test.py | 54 -------- 4 files changed, 1 insertion(+), 200 deletions(-) delete mode 100644 api_server/services/file_service.py delete mode 100644 tests-unit/server/routes/internal_routes_test.py delete mode 100644 tests-unit/server/services/file_service_test.py diff --git a/api_server/routes/internal/internal_routes.py b/api_server/routes/internal/internal_routes.py index 8f74529ba..a66fe529b 100644 --- a/api_server/routes/internal/internal_routes.py +++ b/api_server/routes/internal/internal_routes.py @@ -1,7 +1,6 @@ from aiohttp import web from typing import Optional -from folder_paths import models_dir, user_directory, output_directory, folder_names_and_paths -from api_server.services.file_service import FileService +from folder_paths import folder_names_and_paths from api_server.services.terminal_service import TerminalService import app.logger @@ -15,26 +14,10 @@ class InternalRoutes: def __init__(self, prompt_server): self.routes: web.RouteTableDef = web.RouteTableDef() self._app: Optional[web.Application] = None - self.file_service = FileService({ - "models": models_dir, - "user": user_directory, - "output": output_directory - }) self.prompt_server = prompt_server self.terminal_service = TerminalService(prompt_server) def setup_routes(self): - @self.routes.get('/files') - async def list_files(request): - directory_key = request.query.get('directory', '') - try: - file_list = self.file_service.list_files(directory_key) - return web.json_response({"files": file_list}) - except ValueError as e: - return web.json_response({"error": str(e)}, status=400) - except Exception as e: - return web.json_response({"error": str(e)}, status=500) - @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()])) diff --git a/api_server/services/file_service.py b/api_server/services/file_service.py deleted file mode 100644 index 115edccd3..000000000 --- a/api_server/services/file_service.py +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Dict, List, Optional -from api_server.utils.file_operations import FileSystemOperations, FileSystemItem - -class FileService: - def __init__(self, allowed_directories: Dict[str, str], file_system_ops: Optional[FileSystemOperations] = None): - self.allowed_directories: Dict[str, str] = allowed_directories - self.file_system_ops: FileSystemOperations = file_system_ops or FileSystemOperations() - - def list_files(self, directory_key: str) -> List[FileSystemItem]: - if directory_key not in self.allowed_directories: - raise ValueError("Invalid directory key") - directory_path: str = self.allowed_directories[directory_key] - return self.file_system_ops.walk_directory(directory_path) diff --git a/tests-unit/server/routes/internal_routes_test.py b/tests-unit/server/routes/internal_routes_test.py deleted file mode 100644 index 68c846652..000000000 --- a/tests-unit/server/routes/internal_routes_test.py +++ /dev/null @@ -1,115 +0,0 @@ -import pytest -from aiohttp import web -from unittest.mock import MagicMock, patch -from api_server.routes.internal.internal_routes import InternalRoutes -from api_server.services.file_service import FileService -from folder_paths import models_dir, user_directory, output_directory - - -@pytest.fixture -def internal_routes(): - return InternalRoutes(None) - -@pytest.fixture -def aiohttp_client_factory(aiohttp_client, internal_routes): - async def _get_client(): - app = internal_routes.get_app() - return await aiohttp_client(app) - return _get_client - -@pytest.mark.asyncio -async def test_list_files_valid_directory(aiohttp_client_factory, internal_routes): - mock_file_list = [ - {"name": "file1.txt", "path": "file1.txt", "type": "file", "size": 100}, - {"name": "dir1", "path": "dir1", "type": "directory"} - ] - internal_routes.file_service.list_files = MagicMock(return_value=mock_file_list) - client = await aiohttp_client_factory() - resp = await client.get('/files?directory=models') - assert resp.status == 200 - data = await resp.json() - assert 'files' in data - assert len(data['files']) == 2 - assert data['files'] == mock_file_list - - # Check other valid directories - resp = await client.get('/files?directory=user') - assert resp.status == 200 - resp = await client.get('/files?directory=output') - assert resp.status == 200 - -@pytest.mark.asyncio -async def test_list_files_invalid_directory(aiohttp_client_factory, internal_routes): - internal_routes.file_service.list_files = MagicMock(side_effect=ValueError("Invalid directory key")) - client = await aiohttp_client_factory() - resp = await client.get('/files?directory=invalid') - assert resp.status == 400 - data = await resp.json() - assert 'error' in data - assert data['error'] == "Invalid directory key" - -@pytest.mark.asyncio -async def test_list_files_exception(aiohttp_client_factory, internal_routes): - internal_routes.file_service.list_files = MagicMock(side_effect=Exception("Unexpected error")) - client = await aiohttp_client_factory() - resp = await client.get('/files?directory=models') - assert resp.status == 500 - data = await resp.json() - assert 'error' in data - assert data['error'] == "Unexpected error" - -@pytest.mark.asyncio -async def test_list_files_no_directory_param(aiohttp_client_factory, internal_routes): - mock_file_list = [] - internal_routes.file_service.list_files = MagicMock(return_value=mock_file_list) - client = await aiohttp_client_factory() - resp = await client.get('/files') - assert resp.status == 200 - data = await resp.json() - assert 'files' in data - assert len(data['files']) == 0 - -def test_setup_routes(internal_routes): - internal_routes.setup_routes() - routes = internal_routes.routes - assert any(route.method == 'GET' and str(route.path) == '/files' for route in routes) - -def test_get_app(internal_routes): - app = internal_routes.get_app() - assert isinstance(app, web.Application) - assert internal_routes._app is not None - -def test_get_app_reuse(internal_routes): - app1 = internal_routes.get_app() - app2 = internal_routes.get_app() - assert app1 is app2 - -@pytest.mark.asyncio -async def test_routes_added_to_app(aiohttp_client_factory, internal_routes): - client = await aiohttp_client_factory() - try: - resp = await client.get('/files') - print(f"Response received: status {resp.status}") # noqa: T201 - except Exception as e: - print(f"Exception occurred during GET request: {e}") # noqa: T201 - raise - - assert resp.status != 404, "Route /files does not exist" - -@pytest.mark.asyncio -async def test_file_service_initialization(): - with patch('api_server.routes.internal.internal_routes.FileService') as MockFileService: - # Create a mock instance - mock_file_service_instance = MagicMock(spec=FileService) - MockFileService.return_value = mock_file_service_instance - internal_routes = InternalRoutes(None) - - # Check if FileService was initialized with the correct parameters - MockFileService.assert_called_once_with({ - "models": models_dir, - "user": user_directory, - "output": output_directory - }) - - # Verify that the file_service attribute of InternalRoutes is set - assert internal_routes.file_service == mock_file_service_instance diff --git a/tests-unit/server/services/file_service_test.py b/tests-unit/server/services/file_service_test.py deleted file mode 100644 index 09c3efc9f..000000000 --- a/tests-unit/server/services/file_service_test.py +++ /dev/null @@ -1,54 +0,0 @@ -import pytest -from unittest.mock import MagicMock -from api_server.services.file_service import FileService - -@pytest.fixture -def mock_file_system_ops(): - return MagicMock() - -@pytest.fixture -def file_service(mock_file_system_ops): - allowed_directories = { - "models": "/path/to/models", - "user": "/path/to/user", - "output": "/path/to/output" - } - return FileService(allowed_directories, file_system_ops=mock_file_system_ops) - -def test_list_files_valid_directory(file_service, mock_file_system_ops): - mock_file_system_ops.walk_directory.return_value = [ - {"name": "file1.txt", "path": "file1.txt", "type": "file", "size": 100}, - {"name": "dir1", "path": "dir1", "type": "directory"} - ] - - result = file_service.list_files("models") - - assert len(result) == 2 - assert result[0]["name"] == "file1.txt" - assert result[1]["name"] == "dir1" - mock_file_system_ops.walk_directory.assert_called_once_with("/path/to/models") - -def test_list_files_invalid_directory(file_service): - # Does not support walking directories outside of the allowed directories - with pytest.raises(ValueError, match="Invalid directory key"): - file_service.list_files("invalid_key") - -def test_list_files_empty_directory(file_service, mock_file_system_ops): - mock_file_system_ops.walk_directory.return_value = [] - - result = file_service.list_files("models") - - assert len(result) == 0 - mock_file_system_ops.walk_directory.assert_called_once_with("/path/to/models") - -@pytest.mark.parametrize("directory_key", ["models", "user", "output"]) -def test_list_files_all_allowed_directories(file_service, mock_file_system_ops, directory_key): - mock_file_system_ops.walk_directory.return_value = [ - {"name": f"file_{directory_key}.txt", "path": f"file_{directory_key}.txt", "type": "file", "size": 100} - ] - - result = file_service.list_files(directory_key) - - assert len(result) == 1 - assert result[0]["name"] == f"file_{directory_key}.txt" - mock_file_system_ops.walk_directory.assert_called_once_with(f"/path/to/{directory_key}") From 14880e6dbabf3f367afd4f8b4546583136edd90b Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Thu, 6 Feb 2025 05:00:19 -0500 Subject: [PATCH 28/78] Remove some useless code. --- comfy/ldm/lumina/model.py | 55 --------------------------------------- 1 file changed, 55 deletions(-) diff --git a/comfy/ldm/lumina/model.py b/comfy/ldm/lumina/model.py index ec4119722..3292bd2f0 100644 --- a/comfy/ldm/lumina/model.py +++ b/comfy/ldm/lumina/model.py @@ -352,25 +352,6 @@ class FinalLayer(nn.Module): return x -class RopeEmbedder: - def __init__( - self, theta: float = 10000.0, axes_dims: List[int] = (16, 56, 56), axes_lens: List[int] = (1, 512, 512) - ): - super().__init__() - self.theta = theta - self.axes_dims = axes_dims - self.axes_lens = axes_lens - self.freqs_cis = NextDiT.precompute_freqs_cis(self.axes_dims, self.axes_lens, theta=self.theta) - - def __call__(self, ids: torch.Tensor): - self.freqs_cis = [freqs_cis.to(ids.device) for freqs_cis in self.freqs_cis] - result = [] - for i in range(len(self.axes_dims)): - index = ids[:, :, i:i+1].repeat(1, 1, self.freqs_cis[i].shape[-1]).to(torch.int64) - result.append(torch.gather(self.freqs_cis[i].unsqueeze(0).repeat(index.shape[0], 1, 1), dim=1, index=index)) - return torch.cat(result, dim=-1) - - class NextDiT(nn.Module): """ Diffusion model with a Transformer backbone. @@ -481,7 +462,6 @@ class NextDiT(nn.Module): assert (dim // n_heads) == sum(axes_dims) self.axes_dims = axes_dims self.axes_lens = axes_lens - # self.rope_embedder = RopeEmbedder(axes_dims=axes_dims, axes_lens=axes_lens) self.rope_embedder = EmbedND(dim=dim // n_heads, theta=10000.0, axes_dim=axes_dims) self.dim = dim self.n_heads = n_heads @@ -609,7 +589,6 @@ class NextDiT(nn.Module): return padded_full_embed, mask, img_sizes, l_effective_cap_len, freqs_cis - # def forward(self, x, t, cap_feats, cap_mask): def forward(self, x, timesteps, context, num_tokens, attention_mask=None, **kwargs): t = 1.0 - timesteps @@ -638,37 +617,3 @@ class NextDiT(nn.Module): return -x - @staticmethod - def precompute_freqs_cis( - dim: List[int], - end: List[int], - theta: float = 10000.0, - ): - """ - Precompute the frequency tensor for complex exponentials (cis) with - given dimensions. - - This function calculates a frequency tensor with complex exponentials - using the given dimension 'dim' and the end index 'end'. The 'theta' - parameter scales the frequencies. The returned tensor contains complex - values in complex64 data type. - - Args: - dim (list): Dimension of the frequency tensor. - end (list): End index for precomputing frequencies. - theta (float, optional): Scaling factor for frequency computation. - Defaults to 10000.0. - - Returns: - torch.Tensor: Precomputed frequency tensor with complex - exponentials. - """ - freqs_cis = [] - for i, (d, e) in enumerate(zip(dim, end)): - freqs = 1.0 / (theta ** (torch.arange(0, d, 2, dtype=torch.float64, device="cpu") / d)) - timestep = torch.arange(e, device=freqs.device, dtype=torch.float64) - freqs = torch.outer(timestep, freqs).float() - freqs_cis_i = torch.polar(torch.ones_like(freqs), freqs).to(torch.complex64) # complex64 - freqs_cis.append(freqs_cis_i) - - return freqs_cis From fca304debf5a4e6c71f8def10ac41cf69519fde3 Mon Sep 17 00:00:00 2001 From: Comfy Org PR Bot Date: Fri, 7 Feb 2025 00:43:10 +0900 Subject: [PATCH 29/78] Update frontend to v1.8.14 (#6724) Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com> --- ...omkdXg.js => BaseViewTemplate-Cz111_1A.js} | 4 +- ...DnSXEF.js => DesktopStartView-FKlxS2Lt.js} | 6 +-- ...STu4yxt.js => DownloadGitView-DVXUne-M.js} | 6 +-- ...GE0aOkbr.js => ExtensionPanel-iPOrhDVM.js} | 8 ++-- ...View-CUSGEqGS.js => GraphView-D9ZzDQZV.js} | 12 +++--- ...ew-DTDlVr0Z.js => InstallView-CVZcZZXJ.js} | 8 ++-- ...0Nt6GXU.js => KeybindingPanel-CeHhC2F4.js} | 10 ++--- ...5Gl0Rrl.js => MaintenanceView-Df7CHNWW.js} | 14 +++---- ...js => ManualConfigurationView-Cz0_f_T-.js} | 6 +-- ...UF4Z.js => MetricsConsentView-B5NlgqrS.js} | 6 +-- ...DrAb9U.js => NotSupportedView-BUpntA4x.js} | 6 +-- ...hsuUV.js => ServerConfigPanel-B1lI5M9c.js} | 6 +-- ...zYZ8gms.js => ServerStartView-BpH4TXPO.js} | 6 +-- ...DeJDnrF0.js => UserSelectView-wxa07xPk.js} | 6 +-- ...ew-DkwLdayn.js => WelcomeView-BrXELNIm.js} | 6 +-- .../{index-hkkV7N7e.js => index-BNlqgrYT.js} | 4 +- .../{index-B4tExwG7.js => index-BYzwFNH3.js} | 4 +- .../{index-nJubvliG.js => index-BapOFhAR.js} | 6 +-- .../{index-D4CAJ2MK.js => index-DKIv7atk.js} | 6 +-- .../{index-D6zf5KAf.js => index-DXE47DZl.js} | 4 +- .../{index-4Hb32CNk.js => index-DqqhYDnY.js} | 42 +++++++++---------- ...dTpfl.js => keybindingService-DEgCutrm.js} | 4 +- ...ZcbWj.js => serverConfigStore-Kb5DJVFt.js} | 4 +- web/index.html | 2 +- 24 files changed, 93 insertions(+), 93 deletions(-) rename web/assets/{BaseViewTemplate-v6omkdXg.js => BaseViewTemplate-Cz111_1A.js} (94%) rename web/assets/{DesktopStartView-coDnSXEF.js => DesktopStartView-FKlxS2Lt.js} (79%) rename web/assets/{DownloadGitView-3STu4yxt.js => DownloadGitView-DVXUne-M.js} (94%) rename web/assets/{ExtensionPanel-GE0aOkbr.js => ExtensionPanel-iPOrhDVM.js} (97%) rename web/assets/{GraphView-CUSGEqGS.js => GraphView-D9ZzDQZV.js} (99%) rename web/assets/{InstallView-DTDlVr0Z.js => InstallView-CVZcZZXJ.js} (99%) rename web/assets/{KeybindingPanel-C0Nt6GXU.js => KeybindingPanel-CeHhC2F4.js} (97%) rename web/assets/{MaintenanceView-B5Gl0Rrl.js => MaintenanceView-Df7CHNWW.js} (99%) rename web/assets/{ManualConfigurationView-DueOvLuK.js => ManualConfigurationView-Cz0_f_T-.js} (95%) rename web/assets/{MetricsConsentView-DTQYUF4Z.js => MetricsConsentView-B5NlgqrS.js} (95%) rename web/assets/{NotSupportedView-PDDrAb9U.js => NotSupportedView-BUpntA4x.js} (96%) rename web/assets/{ServerConfigPanel-DnGhsuUV.js => ServerConfigPanel-B1lI5M9c.js} (97%) rename web/assets/{ServerStartView-yzYZ8gms.js => ServerStartView-BpH4TXPO.js} (96%) rename web/assets/{UserSelectView-DeJDnrF0.js => UserSelectView-wxa07xPk.js} (97%) rename web/assets/{WelcomeView-DkwLdayn.js => WelcomeView-BrXELNIm.js} (91%) rename web/assets/{index-hkkV7N7e.js => index-BNlqgrYT.js} (99%) rename web/assets/{index-B4tExwG7.js => index-BYzwFNH3.js} (99%) rename web/assets/{index-nJubvliG.js => index-BapOFhAR.js} (99%) rename web/assets/{index-D4CAJ2MK.js => index-DKIv7atk.js} (99%) rename web/assets/{index-D6zf5KAf.js => index-DXE47DZl.js} (94%) rename web/assets/{index-4Hb32CNk.js => index-DqqhYDnY.js} (99%) rename web/assets/{keybindingService-BTNdTpfl.js => keybindingService-DEgCutrm.js} (98%) rename web/assets/{serverConfigStore-BYbZcbWj.js => serverConfigStore-Kb5DJVFt.js} (97%) diff --git a/web/assets/BaseViewTemplate-v6omkdXg.js b/web/assets/BaseViewTemplate-Cz111_1A.js similarity index 94% rename from web/assets/BaseViewTemplate-v6omkdXg.js rename to web/assets/BaseViewTemplate-Cz111_1A.js index bc21d9896..74515b87c 100644 --- a/web/assets/BaseViewTemplate-v6omkdXg.js +++ b/web/assets/BaseViewTemplate-Cz111_1A.js @@ -1,4 +1,4 @@ -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-4Hb32CNk.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-DqqhYDnY.js"; const _hoisted_1 = { class: "flex-grow w-full flex items-center justify-center overflow-auto" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "BaseViewTemplate", @@ -48,4 +48,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as _ }; -//# sourceMappingURL=BaseViewTemplate-v6omkdXg.js.map +//# sourceMappingURL=BaseViewTemplate-Cz111_1A.js.map diff --git a/web/assets/DesktopStartView-coDnSXEF.js b/web/assets/DesktopStartView-FKlxS2Lt.js similarity index 79% rename from web/assets/DesktopStartView-coDnSXEF.js rename to web/assets/DesktopStartView-FKlxS2Lt.js index db8199854..b8b847632 100644 --- a/web/assets/DesktopStartView-coDnSXEF.js +++ b/web/assets/DesktopStartView-FKlxS2Lt.js @@ -1,5 +1,5 @@ -import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, k as createVNode, j as unref, bz as script } from "./index-4Hb32CNk.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.js"; +import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, k as createVNode, j as unref, bz as script } from "./index-DqqhYDnY.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.js"; const _hoisted_1 = { class: "max-w-screen-sm w-screen p-8" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "DesktopStartView", @@ -19,4 +19,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=DesktopStartView-coDnSXEF.js.map +//# sourceMappingURL=DesktopStartView-FKlxS2Lt.js.map diff --git a/web/assets/DownloadGitView-3STu4yxt.js b/web/assets/DownloadGitView-DVXUne-M.js similarity index 94% rename from web/assets/DownloadGitView-3STu4yxt.js rename to web/assets/DownloadGitView-DVXUne-M.js index be7ac0dfd..9d879bd3e 100644 --- a/web/assets/DownloadGitView-3STu4yxt.js +++ b/web/assets/DownloadGitView-DVXUne-M.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-4Hb32CNk.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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-DqqhYDnY.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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" }; @@ -55,4 +55,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=DownloadGitView-3STu4yxt.js.map +//# sourceMappingURL=DownloadGitView-DVXUne-M.js.map diff --git a/web/assets/ExtensionPanel-GE0aOkbr.js b/web/assets/ExtensionPanel-iPOrhDVM.js similarity index 97% rename from web/assets/ExtensionPanel-GE0aOkbr.js rename to web/assets/ExtensionPanel-iPOrhDVM.js index 8fa78029e..4f4660193 100644 --- a/web/assets/ExtensionPanel-GE0aOkbr.js +++ b/web/assets/ExtensionPanel-iPOrhDVM.js @@ -1,8 +1,8 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, U as ref, dl as FilterMatchMode, dr as useExtensionStore, a as useSettingStore, p as onMounted, c as computed, o as openBlock, y as createBlock, z as withCtx, k as createVNode, dm 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, dn as _sfc_main$1 } from "./index-4Hb32CNk.js"; -import { g as script$2, h as script$6 } from "./index-nJubvliG.js"; -import "./index-D6zf5KAf.js"; +import { d as defineComponent, U as ref, dl as FilterMatchMode, dr as useExtensionStore, a as useSettingStore, p as onMounted, c as computed, o as openBlock, y as createBlock, z as withCtx, k as createVNode, dm 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, dn as _sfc_main$1 } from "./index-DqqhYDnY.js"; +import { g as script$2, h as script$6 } from "./index-BapOFhAR.js"; +import "./index-DXE47DZl.js"; const _hoisted_1 = { class: "flex justify-end" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "ExtensionPanel", @@ -179,4 +179,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ExtensionPanel-GE0aOkbr.js.map +//# sourceMappingURL=ExtensionPanel-iPOrhDVM.js.map diff --git a/web/assets/GraphView-CUSGEqGS.js b/web/assets/GraphView-D9ZzDQZV.js similarity index 99% rename from web/assets/GraphView-CUSGEqGS.js rename to web/assets/GraphView-D9ZzDQZV.js index 3291a439e..5083b86f7 100644 --- a/web/assets/GraphView-CUSGEqGS.js +++ b/web/assets/GraphView-D9ZzDQZV.js @@ -1,10 +1,10 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script, m as createBaseVNode, n as normalizeStyle, _ as _export_sfc, p as onMounted, q as onBeforeUnmount, t as useSidebarTabStore, x as useBottomPanelStore, y as createBlock, z as withCtx, A as renderSlot, B as createCommentVNode, C as resolveDynamicComponent, F as Fragment, D as renderList, E as toDisplayString, G as script$5, H as markRaw, I as defineStore, J as shallowRef, K as useI18n, L as useCommandStore, M as LiteGraph, N as useColorPaletteStore, O as watch, P as useNodeDefStore, Q as BadgePosition, R as LGraphBadge, S as _, T as NodeBadgeMode, U as ref, V as useEventListener, W as nextTick, X as st, Y as normalizeI18nKey, Z as LGraphGroup, $ as LGraphNode, a0 as EditableText, a1 as useNodeFrequencyStore, a2 as useNodeBookmarkStore, a3 as highlightQuery, a4 as script$8, a5 as formatNumberWithSuffix, a6 as NodeSourceType, a7 as createTextVNode, a8 as script$9, a9 as NodePreview, aa as NodeSearchFilter, ab as script$a, ac as SearchFilterChip, ad as useLitegraphService, ae as storeToRefs, af as isRef, ag as toRaw, ah as LinkReleaseTriggerAction, ai as normalizeClass, aj as useUserStore, ak as useDialogStore, al as SettingDialogHeader, am as SettingDialogContent, an as useKeybindingStore, ao as Teleport, ap as usePragmaticDraggable, aq as usePragmaticDroppable, ar as withModifiers, as as mergeProps, at as useWorkflowService, au as useWorkflowBookmarkStore, av as script$c, aw as script$d, ax as script$e, ay as LinkMarkerShape, az as useModelToNodeStore, aA as ComfyNodeDefImpl, aB as ComfyModelDef, aC as LGraph, aD as LLink, aE as DragAndScale, aF as LGraphCanvas, aG as ContextMenu, aH as api, aI as getStorageValue, aJ as useModelStore, aK as setStorageValue, aL as CanvasPointer, aM as IS_CONTROL_WIDGET, aN as updateControlWidgetLabel, aO as useColorPaletteService, aP as ChangeTracker, aQ as i18n, aR as useToast, aS as useToastStore, aT as useQueueSettingsStore, aU as script$g, aV as useQueuePendingTaskCountStore, aW as useLocalStorage, aX as useDraggable, aY as watchDebounced, aZ as inject, a_ as useElementBounding, a$ as script$i, b0 as lodashExports, b1 as useEventBus, b2 as useMenuItemStore, b3 as provide, b4 as isElectron, b5 as electronAPI, b6 as isNativeWindow, b7 as useDialogService, b8 as LGraphEventMode, b9 as useQueueStore, ba as DEFAULT_DARK_COLOR_PALETTE, bb as DEFAULT_LIGHT_COLOR_PALETTE, bc as t, bd as useErrorHandling } from "./index-4Hb32CNk.js"; -import { s as script$1, a as script$2, b as script$3, c as script$4, d as script$6, e as script$7, f as script$b, g as script$f, h as script$h, i as script$j } from "./index-D4CAJ2MK.js"; -import { u as useKeybindingService } from "./keybindingService-BTNdTpfl.js"; -import { u as useServerConfigStore } from "./serverConfigStore-BYbZcbWj.js"; -import "./index-D6zf5KAf.js"; +import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script, m as createBaseVNode, n as normalizeStyle, _ as _export_sfc, p as onMounted, q as onBeforeUnmount, t as useSidebarTabStore, x as useBottomPanelStore, y as createBlock, z as withCtx, A as renderSlot, B as createCommentVNode, C as resolveDynamicComponent, F as Fragment, D as renderList, E as toDisplayString, G as script$5, H as markRaw, I as defineStore, J as shallowRef, K as useI18n, L as useCommandStore, M as LiteGraph, N as useColorPaletteStore, O as watch, P as useNodeDefStore, Q as BadgePosition, R as LGraphBadge, S as _, T as NodeBadgeMode, U as ref, V as useEventListener, W as nextTick, X as st, Y as normalizeI18nKey, Z as LGraphGroup, $ as LGraphNode, a0 as EditableText, a1 as useNodeFrequencyStore, a2 as useNodeBookmarkStore, a3 as highlightQuery, a4 as script$8, a5 as formatNumberWithSuffix, a6 as NodeSourceType, a7 as createTextVNode, a8 as script$9, a9 as NodePreview, aa as NodeSearchFilter, ab as script$a, ac as SearchFilterChip, ad as useLitegraphService, ae as storeToRefs, af as isRef, ag as toRaw, ah as LinkReleaseTriggerAction, ai as normalizeClass, aj as useUserStore, ak as useDialogStore, al as SettingDialogHeader, am as SettingDialogContent, an as useKeybindingStore, ao as Teleport, ap as usePragmaticDraggable, aq as usePragmaticDroppable, ar as withModifiers, as as mergeProps, at as useWorkflowService, au as useWorkflowBookmarkStore, av as script$c, aw as script$d, ax as script$e, ay as LinkMarkerShape, az as useModelToNodeStore, aA as ComfyNodeDefImpl, aB as ComfyModelDef, aC as LGraph, aD as LLink, aE as DragAndScale, aF as LGraphCanvas, aG as ContextMenu, aH as api, aI as getStorageValue, aJ as useModelStore, aK as setStorageValue, aL as CanvasPointer, aM as IS_CONTROL_WIDGET, aN as updateControlWidgetLabel, aO as useColorPaletteService, aP as ChangeTracker, aQ as i18n, aR as useToast, aS as useToastStore, aT as useQueueSettingsStore, aU as script$g, aV as useQueuePendingTaskCountStore, aW as useLocalStorage, aX as useDraggable, aY as watchDebounced, aZ as inject, a_ as useElementBounding, a$ as script$i, b0 as lodashExports, b1 as useEventBus, b2 as useMenuItemStore, b3 as provide, b4 as isElectron, b5 as electronAPI, b6 as isNativeWindow, b7 as useDialogService, b8 as LGraphEventMode, b9 as useQueueStore, ba as DEFAULT_DARK_COLOR_PALETTE, bb as DEFAULT_LIGHT_COLOR_PALETTE, bc as t, bd as useErrorHandling } from "./index-DqqhYDnY.js"; +import { s as script$1, a as script$2, b as script$3, c as script$4, d as script$6, e as script$7, f as script$b, g as script$f, h as script$h, i as script$j } from "./index-DKIv7atk.js"; +import { u as useKeybindingService } from "./keybindingService-DEgCutrm.js"; +import { u as useServerConfigStore } from "./serverConfigStore-Kb5DJVFt.js"; +import "./index-DXE47DZl.js"; const DEFAULT_TITLE = "ComfyUI"; const TITLE_SUFFIX = " - ComfyUI"; const _sfc_main$u = /* @__PURE__ */ defineComponent({ @@ -4679,4 +4679,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=GraphView-CUSGEqGS.js.map +//# sourceMappingURL=GraphView-D9ZzDQZV.js.map diff --git a/web/assets/InstallView-DTDlVr0Z.js b/web/assets/InstallView-CVZcZZXJ.js similarity index 99% rename from web/assets/InstallView-DTDlVr0Z.js rename to web/assets/InstallView-CVZcZZXJ.js index 380d7a9f1..25d05f5f0 100644 --- a/web/assets/InstallView-DTDlVr0Z.js +++ b/web/assets/InstallView-CVZcZZXJ.js @@ -1,9 +1,9 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, U as ref, bm as useModel, o as openBlock, f as createElementBlock, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, bn as script, bh as script$1, ar as withModifiers, z as withCtx, ab as script$2, K as useI18n, c as computed, ai as normalizeClass, B as createCommentVNode, a4 as script$3, a7 as createTextVNode, b5 as electronAPI, _ as _export_sfc, p as onMounted, r as resolveDirective, bg as script$4, i as withDirectives, bo as script$5, bp as script$6, l as script$7, y as createBlock, bj as script$8, bq as MigrationItems, w as watchEffect, F as Fragment, D as renderList, br as script$9, bs as mergeModels, bt as ValidationState, Y as normalizeI18nKey, O as watch, bu as checkMirrorReachable, bv as _sfc_main$7, bw as mergeValidationStates, bc as t, a$ as script$a, bx as CUDA_TORCH_URL, by as NIGHTLY_CPU_TORCH_URL, be as useRouter, ag as toRaw } from "./index-4Hb32CNk.js"; -import { s as script$b, a as script$c, b as script$d, c as script$e, d as script$f } from "./index-hkkV7N7e.js"; +import { d as defineComponent, U as ref, bm as useModel, o as openBlock, f as createElementBlock, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, bn as script, bh as script$1, ar as withModifiers, z as withCtx, ab as script$2, K as useI18n, c as computed, ai as normalizeClass, B as createCommentVNode, a4 as script$3, a7 as createTextVNode, b5 as electronAPI, _ as _export_sfc, p as onMounted, r as resolveDirective, bg as script$4, i as withDirectives, bo as script$5, bp as script$6, l as script$7, y as createBlock, bj as script$8, bq as MigrationItems, w as watchEffect, F as Fragment, D as renderList, br as script$9, bs as mergeModels, bt as ValidationState, Y as normalizeI18nKey, O as watch, bu as checkMirrorReachable, bv as _sfc_main$7, bw as mergeValidationStates, bc as t, a$ as script$a, bx as CUDA_TORCH_URL, by as NIGHTLY_CPU_TORCH_URL, be as useRouter, ag as toRaw } from "./index-DqqhYDnY.js"; +import { s as script$b, a as script$c, b as script$d, c as script$e, d as script$f } from "./index-BNlqgrYT.js"; import { P as PYTHON_MIRROR, a as PYPI_MIRROR } from "./uvMirrors-B-HKMf6X.js"; -import { _ as _sfc_main$8 } from "./BaseViewTemplate-v6omkdXg.js"; +import { _ as _sfc_main$8 } from "./BaseViewTemplate-Cz111_1A.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" }; @@ -942,4 +942,4 @@ const InstallView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data- export { InstallView as default }; -//# sourceMappingURL=InstallView-DTDlVr0Z.js.map +//# sourceMappingURL=InstallView-CVZcZZXJ.js.map diff --git a/web/assets/KeybindingPanel-C0Nt6GXU.js b/web/assets/KeybindingPanel-CeHhC2F4.js similarity index 97% rename from web/assets/KeybindingPanel-C0Nt6GXU.js rename to web/assets/KeybindingPanel-CeHhC2F4.js index f791713bb..c14bb7632 100644 --- a/web/assets/KeybindingPanel-C0Nt6GXU.js +++ b/web/assets/KeybindingPanel-CeHhC2F4.js @@ -1,9 +1,9 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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, dl 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, dm 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, dn as _sfc_main$2, dp as KeyComboImpl, dq as KeybindingImpl, _ as _export_sfc } from "./index-4Hb32CNk.js"; -import { g as script$1, h as script$3 } from "./index-nJubvliG.js"; -import { u as useKeybindingService } from "./keybindingService-BTNdTpfl.js"; -import "./index-D6zf5KAf.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, dl 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, dm 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, dn as _sfc_main$2, dp as KeyComboImpl, dq as KeybindingImpl, _ as _export_sfc } from "./index-DqqhYDnY.js"; +import { g as script$1, h as script$3 } from "./index-BapOFhAR.js"; +import { u as useKeybindingService } from "./keybindingService-DEgCutrm.js"; +import "./index-DXE47DZl.js"; const _hoisted_1$1 = { key: 0, class: "px-2" @@ -279,4 +279,4 @@ const KeybindingPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { KeybindingPanel as default }; -//# sourceMappingURL=KeybindingPanel-C0Nt6GXU.js.map +//# sourceMappingURL=KeybindingPanel-CeHhC2F4.js.map diff --git a/web/assets/MaintenanceView-B5Gl0Rrl.js b/web/assets/MaintenanceView-Df7CHNWW.js similarity index 99% rename from web/assets/MaintenanceView-B5Gl0Rrl.js rename to web/assets/MaintenanceView-Df7CHNWW.js index 4254e4e67..88056ab28 100644 --- a/web/assets/MaintenanceView-B5Gl0Rrl.js +++ b/web/assets/MaintenanceView-Df7CHNWW.js @@ -1,11 +1,11 @@ var __defProp = Object.defineProperty; var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); -import { bA as BaseStyle, bB as script$1d, bC as ZIndex, bD as addClass, bE as focus, bF as blockBodyScroll, bG as unblockBodyScroll, bH as FocusTrap, l as script$1e, bI as script$1f, bJ as script$1g, bK as resolveComponent, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, f as createElementBlock, as as mergeProps, k as createVNode, bL as Transition, i as withDirectives, A as renderSlot, F as Fragment, m as createBaseVNode, ai as normalizeClass, E as toDisplayString, B as createCommentVNode, C as resolveDynamicComponent, d as defineComponent, bs as mergeModels, bm as useModel, v as vShow, j as unref, bM as script$1h, c as computed, bN as PrimeIcons, bc as t, a4 as script$1i, aZ as inject, bO as findSingle, bP as getAttribute, bQ as script$1j, bR as script$1k, bS as Ripple, bT as UniqueComponentId, bU as script$1l, D as renderList, bV as BaseDirective, bW as removeClass, bX as createElement, bY as hasClass, bZ as script$1m, b_ as script$1n, b$ as addStyle, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, c2 as relativePosition, c3 as getOuterWidth, c4 as absolutePosition, c5 as find, c6 as getIndex, c7 as getFocusableElements, c8 as OverlayEventBus, c9 as setAttribute, ca as localeComparator, bg as script$1o, cb as script$1p, n as normalizeStyle, a7 as createTextVNode, bf as withKeys, cc as resolveFieldData, cd as isNotEmpty, ce as equals, cf as script$1q, cg as isString, ch as isPrintableCharacter, ci as isEmpty, cj as findLastIndex, ck as script$1r, cl as script$1s, cm as uuid, a8 as script$1t, cn as sort, co as createSlots, cp as EventBus, H as markRaw, cq as resolve, cr as Tooltip, bi as script$1v, ab as script$1w, cs as script$1x, ct as script$1y, cu as script$1z, bz as script$1A, bj as script$1B, cv as normalizeProps, cw as isAttributeEquals, cx as guardReactiveProps, cy as setCSSProperty, cz as $dt, cA as script$1D, cB as script$1F, cC as getUserAgent, bn as script$1G, cD as script$1H, cE as getFirstFocusableElement, cF as getLastFocusableElement, cG as FilterService, br as script$1J, cH as script$1K, bp as script$1L, bo as script$1M, cI as script$1N, cJ as findIndexInList, cK as scrollInView, cL as script$1O, cM as script$1P, cN as script$1Q, cO as findLast, cP as getWindowScrollTop, cQ as getWidth, cR as getOffset, cS as vModelText, cT as script$1U, ar as withModifiers, cU as getVNodeProp, cV as getNextElementSibling, cW as getPreviousElementSibling, cX as isClickable, cY as _default, cZ as clearSelection, c_ as isRTL, b5 as electronAPI, I as defineStore, U as ref, c$ as useTimeout, O as watch, d0 as script$1Y, _ as _export_sfc, aR as useToast, d1 as useConfirm, bh as script$1Z, d2 as script$1_, p as onMounted, d3 as onUnmounted, av as script$1$, af as isRef, bl as BaseTerminal } from "./index-4Hb32CNk.js"; -import { j as script$1C, k as script$1E, g as script$20 } from "./index-D4CAJ2MK.js"; -import { s as script$1u, a as script$1R, b as script$1S, c as script$1T, d as script$1V, e as script$1W, f as script$1X } from "./index-nJubvliG.js"; -import { s as script$1I } from "./index-D6zf5KAf.js"; -import "./index-hkkV7N7e.js"; -import { _ as _sfc_main$7 } from "./BaseViewTemplate-v6omkdXg.js"; +import { bA as BaseStyle, bB as script$1d, bC as ZIndex, bD as addClass, bE as focus, bF as blockBodyScroll, bG as unblockBodyScroll, bH as FocusTrap, l as script$1e, bI as script$1f, bJ as script$1g, bK as resolveComponent, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, f as createElementBlock, as as mergeProps, k as createVNode, bL as Transition, i as withDirectives, A as renderSlot, F as Fragment, m as createBaseVNode, ai as normalizeClass, E as toDisplayString, B as createCommentVNode, C as resolveDynamicComponent, d as defineComponent, bs as mergeModels, bm as useModel, v as vShow, j as unref, bM as script$1h, c as computed, bN as PrimeIcons, bc as t, a4 as script$1i, aZ as inject, bO as findSingle, bP as getAttribute, bQ as script$1j, bR as script$1k, bS as Ripple, bT as UniqueComponentId, bU as script$1l, D as renderList, bV as BaseDirective, bW as removeClass, bX as createElement, bY as hasClass, bZ as script$1m, b_ as script$1n, b$ as addStyle, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, c2 as relativePosition, c3 as getOuterWidth, c4 as absolutePosition, c5 as find, c6 as getIndex, c7 as getFocusableElements, c8 as OverlayEventBus, c9 as setAttribute, ca as localeComparator, bg as script$1o, cb as script$1p, n as normalizeStyle, a7 as createTextVNode, bf as withKeys, cc as resolveFieldData, cd as isNotEmpty, ce as equals, cf as script$1q, cg as isString, ch as isPrintableCharacter, ci as isEmpty, cj as findLastIndex, ck as script$1r, cl as script$1s, cm as uuid, a8 as script$1t, cn as sort, co as createSlots, cp as EventBus, H as markRaw, cq as resolve, cr as Tooltip, bi as script$1v, ab as script$1w, cs as script$1x, ct as script$1y, cu as script$1z, bz as script$1A, bj as script$1B, cv as normalizeProps, cw as isAttributeEquals, cx as guardReactiveProps, cy as setCSSProperty, cz as $dt, cA as script$1D, cB as script$1F, cC as getUserAgent, bn as script$1G, cD as script$1H, cE as getFirstFocusableElement, cF as getLastFocusableElement, cG as FilterService, br as script$1J, cH as script$1K, bp as script$1L, bo as script$1M, cI as script$1N, cJ as findIndexInList, cK as scrollInView, cL as script$1O, cM as script$1P, cN as script$1Q, cO as findLast, cP as getWindowScrollTop, cQ as getWidth, cR as getOffset, cS as vModelText, cT as script$1U, ar as withModifiers, cU as getVNodeProp, cV as getNextElementSibling, cW as getPreviousElementSibling, cX as isClickable, cY as _default, cZ as clearSelection, c_ as isRTL, b5 as electronAPI, I as defineStore, U as ref, c$ as useTimeout, O as watch, d0 as script$1Y, _ as _export_sfc, aR as useToast, d1 as useConfirm, bh as script$1Z, d2 as script$1_, p as onMounted, d3 as onUnmounted, av as script$1$, af as isRef, bl as BaseTerminal } from "./index-DqqhYDnY.js"; +import { j as script$1C, k as script$1E, g as script$20 } from "./index-DKIv7atk.js"; +import { s as script$1u, a as script$1R, b as script$1S, c as script$1T, d as script$1V, e as script$1W, f as script$1X } from "./index-BapOFhAR.js"; +import { s as script$1I } from "./index-DXE47DZl.js"; +import "./index-BNlqgrYT.js"; +import { _ as _sfc_main$7 } from "./BaseViewTemplate-Cz111_1A.js"; var theme$D = /* @__PURE__ */ __name(function theme(_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"); @@ -26030,4 +26030,4 @@ const MaintenanceView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { MaintenanceView as default }; -//# sourceMappingURL=MaintenanceView-B5Gl0Rrl.js.map +//# sourceMappingURL=MaintenanceView-Df7CHNWW.js.map diff --git a/web/assets/ManualConfigurationView-DueOvLuK.js b/web/assets/ManualConfigurationView-Cz0_f_T-.js similarity index 95% rename from web/assets/ManualConfigurationView-DueOvLuK.js rename to web/assets/ManualConfigurationView-Cz0_f_T-.js index 383794c52..bd81747f1 100644 --- a/web/assets/ManualConfigurationView-DueOvLuK.js +++ b/web/assets/ManualConfigurationView-Cz0_f_T-.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-4Hb32CNk.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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-DqqhYDnY.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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" }; @@ -71,4 +71,4 @@ const ManualConfigurationView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scop export { ManualConfigurationView as default }; -//# sourceMappingURL=ManualConfigurationView-DueOvLuK.js.map +//# sourceMappingURL=ManualConfigurationView-Cz0_f_T-.js.map diff --git a/web/assets/MetricsConsentView-DTQYUF4Z.js b/web/assets/MetricsConsentView-B5NlgqrS.js similarity index 95% rename from web/assets/MetricsConsentView-DTQYUF4Z.js rename to web/assets/MetricsConsentView-B5NlgqrS.js index 564780ee6..73800290f 100644 --- a/web/assets/MetricsConsentView-DTQYUF4Z.js +++ b/web/assets/MetricsConsentView-B5NlgqrS.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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-4Hb32CNk.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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-DqqhYDnY.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" }; @@ -83,4 +83,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=MetricsConsentView-DTQYUF4Z.js.map +//# sourceMappingURL=MetricsConsentView-B5NlgqrS.js.map diff --git a/web/assets/NotSupportedView-PDDrAb9U.js b/web/assets/NotSupportedView-BUpntA4x.js similarity index 96% rename from web/assets/NotSupportedView-PDDrAb9U.js rename to web/assets/NotSupportedView-BUpntA4x.js index 0293bb6fe..51a34c8a1 100644 --- a/web/assets/NotSupportedView-PDDrAb9U.js +++ b/web/assets/NotSupportedView-BUpntA4x.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-4Hb32CNk.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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-DqqhYDnY.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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" }; @@ -83,4 +83,4 @@ const NotSupportedView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", " export { NotSupportedView as default }; -//# sourceMappingURL=NotSupportedView-PDDrAb9U.js.map +//# sourceMappingURL=NotSupportedView-BUpntA4x.js.map diff --git a/web/assets/ServerConfigPanel-DnGhsuUV.js b/web/assets/ServerConfigPanel-B1lI5M9c.js similarity index 97% rename from web/assets/ServerConfigPanel-DnGhsuUV.js rename to web/assets/ServerConfigPanel-B1lI5M9c.js index 873f6ec76..6a8c27a8d 100644 --- a/web/assets/ServerConfigPanel-DnGhsuUV.js +++ b/web/assets/ServerConfigPanel-B1lI5M9c.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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, dy 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, dz as FormItem, dn as _sfc_main$1, b5 as electronAPI } from "./index-4Hb32CNk.js"; -import { u as useServerConfigStore } from "./serverConfigStore-BYbZcbWj.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, dy 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, dz as FormItem, dn as _sfc_main$1, b5 as electronAPI } from "./index-DqqhYDnY.js"; +import { u as useServerConfigStore } from "./serverConfigStore-Kb5DJVFt.js"; const _hoisted_1$1 = { viewBox: "0 0 24 24", width: "1.2em", @@ -153,4 +153,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ServerConfigPanel-DnGhsuUV.js.map +//# sourceMappingURL=ServerConfigPanel-B1lI5M9c.js.map diff --git a/web/assets/ServerStartView-yzYZ8gms.js b/web/assets/ServerStartView-BpH4TXPO.js similarity index 96% rename from web/assets/ServerStartView-yzYZ8gms.js rename to web/assets/ServerStartView-BpH4TXPO.js index 18a6a63f1..6796222b9 100644 --- a/web/assets/ServerStartView-yzYZ8gms.js +++ b/web/assets/ServerStartView-BpH4TXPO.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-4Hb32CNk.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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-DqqhYDnY.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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 }; @@ -97,4 +97,4 @@ const ServerStartView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { ServerStartView as default }; -//# sourceMappingURL=ServerStartView-yzYZ8gms.js.map +//# sourceMappingURL=ServerStartView-BpH4TXPO.js.map diff --git a/web/assets/UserSelectView-DeJDnrF0.js b/web/assets/UserSelectView-wxa07xPk.js similarity index 97% rename from web/assets/UserSelectView-DeJDnrF0.js rename to web/assets/UserSelectView-wxa07xPk.js index 13504917d..35f6c4a2d 100644 --- a/web/assets/UserSelectView-DeJDnrF0.js +++ b/web/assets/UserSelectView-wxa07xPk.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-4Hb32CNk.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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-DqqhYDnY.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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" @@ -98,4 +98,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=UserSelectView-DeJDnrF0.js.map +//# sourceMappingURL=UserSelectView-wxa07xPk.js.map diff --git a/web/assets/WelcomeView-DkwLdayn.js b/web/assets/WelcomeView-BrXELNIm.js similarity index 91% rename from web/assets/WelcomeView-DkwLdayn.js rename to web/assets/WelcomeView-BrXELNIm.js index 95afcd734..81bf8f2a7 100644 --- a/web/assets/WelcomeView-DkwLdayn.js +++ b/web/assets/WelcomeView-BrXELNIm.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-4Hb32CNk.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-v6omkdXg.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-DqqhYDnY.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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({ @@ -36,4 +36,4 @@ const WelcomeView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data- export { WelcomeView as default }; -//# sourceMappingURL=WelcomeView-DkwLdayn.js.map +//# sourceMappingURL=WelcomeView-BrXELNIm.js.map diff --git a/web/assets/index-hkkV7N7e.js b/web/assets/index-BNlqgrYT.js similarity index 99% rename from web/assets/index-hkkV7N7e.js rename to web/assets/index-BNlqgrYT.js index 7152922d0..bc17d1c31 100644 --- a/web/assets/index-hkkV7N7e.js +++ b/web/assets/index-BNlqgrYT.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); -import { bA as BaseStyle, bB as script$6, o as openBlock, f as createElementBlock, as as mergeProps, cJ as findIndexInList, c5 as find, bK 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, bO as findSingle, F as Fragment, bL as Transition, i as withDirectives, v as vShow, bT as UniqueComponentId } from "./index-4Hb32CNk.js"; +import { bA as BaseStyle, bB as script$6, o as openBlock, f as createElementBlock, as as mergeProps, cJ as findIndexInList, c5 as find, bK 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, bO as findSingle, F as Fragment, bL as Transition, i as withDirectives, v as vShow, bT as UniqueComponentId } from "./index-DqqhYDnY.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-hkkV7N7e.js.map +//# sourceMappingURL=index-BNlqgrYT.js.map diff --git a/web/assets/index-B4tExwG7.js b/web/assets/index-BYzwFNH3.js similarity index 99% rename from web/assets/index-B4tExwG7.js rename to web/assets/index-BYzwFNH3.js index c27c17cd5..0673ca94c 100644 --- a/web/assets/index-B4tExwG7.js +++ b/web/assets/index-BYzwFNH3.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { da as ComfyDialog, db as $el, dc as ComfyApp, h as app, M as LiteGraph, aF as LGraphCanvas, dd as useExtensionService, de as processDynamicPrompt, b4 as isElectron, b5 as electronAPI, b as useWorkflowStore, bu as checkMirrorReachable, b7 as useDialogService, bc as t, df as DraggableList, aS as useToastStore, $ as LGraphNode, dg as applyTextReplacements, dh as ComfyWidgets, di as addValueControlWidgets, P as useNodeDefStore, dj as serialise, dk as deserialiseAndCreate, aH as api, a as useSettingStore, Z as LGraphGroup, W as nextTick, b0 as lodashExports, aK as setStorageValue, aI as getStorageValue } from "./index-4Hb32CNk.js"; +import { da as ComfyDialog, db as $el, dc as ComfyApp, h as app, M as LiteGraph, aF as LGraphCanvas, dd as useExtensionService, de as processDynamicPrompt, b4 as isElectron, b5 as electronAPI, b as useWorkflowStore, bu as checkMirrorReachable, b7 as useDialogService, bc as t, df as DraggableList, aS as useToastStore, $ as LGraphNode, dg as applyTextReplacements, dh as ComfyWidgets, di as addValueControlWidgets, P as useNodeDefStore, dj as serialise, dk as deserialiseAndCreate, aH as api, a as useSettingStore, Z as LGraphGroup, W as nextTick, b0 as lodashExports, aK as setStorageValue, aI as getStorageValue } from "./index-DqqhYDnY.js"; import { P as PYTHON_MIRROR } from "./uvMirrors-B-HKMf6X.js"; class ClipspaceDialog extends ComfyDialog { static { @@ -53844,4 +53844,4 @@ app.registerExtension({ }); } }); -//# sourceMappingURL=index-B4tExwG7.js.map +//# sourceMappingURL=index-BYzwFNH3.js.map diff --git a/web/assets/index-nJubvliG.js b/web/assets/index-BapOFhAR.js similarity index 99% rename from web/assets/index-nJubvliG.js rename to web/assets/index-BapOFhAR.js index 3672a41b4..a8d556911 100644 --- a/web/assets/index-nJubvliG.js +++ b/web/assets/index-BapOFhAR.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { bA as BaseStyle, bB as script$s, bZ as script$t, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode, E as toDisplayString, bS as Ripple, r as resolveDirective, i as withDirectives, y as createBlock, C as resolveDynamicComponent, bi as script$u, bK as resolveComponent, ai as normalizeClass, co as createSlots, z as withCtx, aU as script$v, cf as script$w, F as Fragment, D as renderList, a7 as createTextVNode, c9 as setAttribute, cv as normalizeProps, A as renderSlot, B as createCommentVNode, b_ as script$x, ce as equals, cA as script$y, br as script$z, cE as getFirstFocusableElement, c8 as OverlayEventBus, cU as getVNodeProp, cc as resolveFieldData, ds as invokeElementMethod, bP as getAttribute, cV as getNextElementSibling, c3 as getOuterWidth, cW as getPreviousElementSibling, l as script$A, bR as script$B, bU as script$C, bJ as script$E, cd as isNotEmpty, ar as withModifiers, d5 as getOuterHeight, bT as UniqueComponentId, cY as _default, bC as ZIndex, bE as focus, b$ as addStyle, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, dt as FilterOperator, bI as script$F, cs as script$G, bH as FocusTrap, k as createVNode, bL as Transition, bf as withKeys, c6 as getIndex, cu as script$H, cX as isClickable, cZ as clearSelection, ca as localeComparator, cn as sort, cG as FilterService, dl as FilterMatchMode, bO as findSingle, cJ as findIndexInList, c5 as find, du as exportCSV, cR as getOffset, c_ as isRTL, dv as getHiddenElementOuterWidth, dw as getHiddenElementOuterHeight, dx as reorderArray, bW as removeClass, bD as addClass, ci as isEmpty, cH as script$I, ck as script$J } from "./index-4Hb32CNk.js"; -import { s as script$D } from "./index-D6zf5KAf.js"; +import { bA as BaseStyle, bB as script$s, bZ as script$t, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode, E as toDisplayString, bS as Ripple, r as resolveDirective, i as withDirectives, y as createBlock, C as resolveDynamicComponent, bi as script$u, bK as resolveComponent, ai as normalizeClass, co as createSlots, z as withCtx, aU as script$v, cf as script$w, F as Fragment, D as renderList, a7 as createTextVNode, c9 as setAttribute, cv as normalizeProps, A as renderSlot, B as createCommentVNode, b_ as script$x, ce as equals, cA as script$y, br as script$z, cE as getFirstFocusableElement, c8 as OverlayEventBus, cU as getVNodeProp, cc as resolveFieldData, ds as invokeElementMethod, bP as getAttribute, cV as getNextElementSibling, c3 as getOuterWidth, cW as getPreviousElementSibling, l as script$A, bR as script$B, bU as script$C, bJ as script$E, cd as isNotEmpty, ar as withModifiers, d5 as getOuterHeight, bT as UniqueComponentId, cY as _default, bC as ZIndex, bE as focus, b$ as addStyle, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, dt as FilterOperator, bI as script$F, cs as script$G, bH as FocusTrap, k as createVNode, bL as Transition, bf as withKeys, c6 as getIndex, cu as script$H, cX as isClickable, cZ as clearSelection, ca as localeComparator, cn as sort, cG as FilterService, dl as FilterMatchMode, bO as findSingle, cJ as findIndexInList, c5 as find, du as exportCSV, cR as getOffset, c_ as isRTL, dv as getHiddenElementOuterWidth, dw as getHiddenElementOuterHeight, dx as reorderArray, bW as removeClass, bD as addClass, ci as isEmpty, cH as script$I, ck as script$J } from "./index-DqqhYDnY.js"; +import { s as script$D } from "./index-DXE47DZl.js"; var ColumnStyle = BaseStyle.extend({ name: "column" }); @@ -8787,4 +8787,4 @@ export { script as h, script$l as s }; -//# sourceMappingURL=index-nJubvliG.js.map +//# sourceMappingURL=index-BapOFhAR.js.map diff --git a/web/assets/index-D4CAJ2MK.js b/web/assets/index-DKIv7atk.js similarity index 99% rename from web/assets/index-D4CAJ2MK.js rename to web/assets/index-DKIv7atk.js index 844ee64e4..16d4a527b 100644 --- a/web/assets/index-D4CAJ2MK.js +++ b/web/assets/index-DKIv7atk.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { bA as BaseStyle, bB as script$f, cQ as getWidth, d4 as getHeight, c3 as getOuterWidth, d5 as getOuterHeight, c_ as isRTL, cU as getVNodeProp, d6 as isArray, o as openBlock, f as createElementBlock, as as mergeProps, F as Fragment, D as renderList, y as createBlock, C as resolveDynamicComponent, m as createBaseVNode, B as createCommentVNode, A as renderSlot, bP as getAttribute, bO as findSingle, bE as focus, ce as equals, bS as Ripple, r as resolveDirective, i as withDirectives, z as withCtx, ai as normalizeClass, cR as getOffset, cb as script$g, bU as script$h, cd as isNotEmpty, b_ as script$i, bT as UniqueComponentId, bC as ZIndex, cc as resolveFieldData, c8 as OverlayEventBus, ci as isEmpty, b$ as addStyle, c2 as relativePosition, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, cj as findLastIndex, bg as script$j, cH as script$k, bI as script$l, bR as script$m, ck as script$n, a8 as script$o, bK as resolveComponent, n as normalizeStyle, k as createVNode, E as toDisplayString, bL as Transition, co as createSlots, a7 as createTextVNode, cu as script$p, bZ as script$q, cA as script$r, cB as script$s, bJ as script$t, cv as normalizeProps, d7 as ToastEventBus, c9 as setAttribute, d8 as TransitionGroup, cq as resolve, d9 as nestedPosition, cf as script$u, ch as isPrintableCharacter, l as script$v, cD as script$w, cx as guardReactiveProps } from "./index-4Hb32CNk.js"; -import { s as script$x } from "./index-D6zf5KAf.js"; +import { bA as BaseStyle, bB as script$f, cQ as getWidth, d4 as getHeight, c3 as getOuterWidth, d5 as getOuterHeight, c_ as isRTL, cU as getVNodeProp, d6 as isArray, o as openBlock, f as createElementBlock, as as mergeProps, F as Fragment, D as renderList, y as createBlock, C as resolveDynamicComponent, m as createBaseVNode, B as createCommentVNode, A as renderSlot, bP as getAttribute, bO as findSingle, bE as focus, ce as equals, bS as Ripple, r as resolveDirective, i as withDirectives, z as withCtx, ai as normalizeClass, cR as getOffset, cb as script$g, bU as script$h, cd as isNotEmpty, b_ as script$i, bT as UniqueComponentId, bC as ZIndex, cc as resolveFieldData, c8 as OverlayEventBus, ci as isEmpty, b$ as addStyle, c2 as relativePosition, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, cj as findLastIndex, bg as script$j, cH as script$k, bI as script$l, bR as script$m, ck as script$n, a8 as script$o, bK as resolveComponent, n as normalizeStyle, k as createVNode, E as toDisplayString, bL as Transition, co as createSlots, a7 as createTextVNode, cu as script$p, bZ as script$q, cA as script$r, cB as script$s, bJ as script$t, cv as normalizeProps, d7 as ToastEventBus, c9 as setAttribute, d8 as TransitionGroup, cq as resolve, d9 as nestedPosition, cf as script$u, ch as isPrintableCharacter, l as script$v, cD as script$w, cx as guardReactiveProps } from "./index-DqqhYDnY.js"; +import { s as script$x } from "./index-DXE47DZl.js"; var theme$7 = /* @__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"); @@ -5602,4 +5602,4 @@ export { script$7 as k, script$d as s }; -//# sourceMappingURL=index-D4CAJ2MK.js.map +//# sourceMappingURL=index-DKIv7atk.js.map diff --git a/web/assets/index-D6zf5KAf.js b/web/assets/index-DXE47DZl.js similarity index 94% rename from web/assets/index-D6zf5KAf.js rename to web/assets/index-DXE47DZl.js index 819caaa2a..b25616f6b 100644 --- a/web/assets/index-D6zf5KAf.js +++ b/web/assets/index-DXE47DZl.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { bZ as script$1, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode } from "./index-4Hb32CNk.js"; +import { bZ as script$1, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode } from "./index-DqqhYDnY.js"; var script = { name: "BarsIcon", "extends": script$1 @@ -24,4 +24,4 @@ script.render = render; export { script as s }; -//# sourceMappingURL=index-D6zf5KAf.js.map +//# sourceMappingURL=index-DXE47DZl.js.map diff --git a/web/assets/index-4Hb32CNk.js b/web/assets/index-DqqhYDnY.js similarity index 99% rename from web/assets/index-4Hb32CNk.js rename to web/assets/index-DqqhYDnY.js index ba83b1a4c..07ca6f829 100644 --- a/web/assets/index-4Hb32CNk.js +++ b/web/assets/index-DqqhYDnY.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-CUSGEqGS.js","./index-D4CAJ2MK.js","./index-D6zf5KAf.js","./keybindingService-BTNdTpfl.js","./serverConfigStore-BYbZcbWj.js","./GraphView-CVCdiww1.css","./UserSelectView-DeJDnrF0.js","./BaseViewTemplate-v6omkdXg.js","./ServerStartView-yzYZ8gms.js","./ServerStartView-CJiwVDQY.css","./InstallView-DTDlVr0Z.js","./index-hkkV7N7e.js","./uvMirrors-B-HKMf6X.js","./InstallView-DbJ2cGfL.css","./WelcomeView-DkwLdayn.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-PDDrAb9U.js","./NotSupportedView-RFx6eCkN.css","./DownloadGitView-3STu4yxt.js","./ManualConfigurationView-DueOvLuK.js","./ManualConfigurationView-CsirlNfV.css","./MetricsConsentView-DTQYUF4Z.js","./DesktopStartView-coDnSXEF.js","./MaintenanceView-B5Gl0Rrl.js","./index-nJubvliG.js","./MaintenanceView-Bj5_Vr6o.css","./KeybindingPanel-C0Nt6GXU.js","./KeybindingPanel-DvrUYZ4S.css","./ExtensionPanel-GE0aOkbr.js","./ServerConfigPanel-DnGhsuUV.js","./index-B4tExwG7.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-D9ZzDQZV.js","./index-DKIv7atk.js","./index-DXE47DZl.js","./keybindingService-DEgCutrm.js","./serverConfigStore-Kb5DJVFt.js","./GraphView-CVCdiww1.css","./UserSelectView-wxa07xPk.js","./BaseViewTemplate-Cz111_1A.js","./ServerStartView-BpH4TXPO.js","./ServerStartView-CJiwVDQY.css","./InstallView-CVZcZZXJ.js","./index-BNlqgrYT.js","./uvMirrors-B-HKMf6X.js","./InstallView-DbJ2cGfL.css","./WelcomeView-BrXELNIm.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-BUpntA4x.js","./NotSupportedView-RFx6eCkN.css","./DownloadGitView-DVXUne-M.js","./ManualConfigurationView-Cz0_f_T-.js","./ManualConfigurationView-CsirlNfV.css","./MetricsConsentView-B5NlgqrS.js","./DesktopStartView-FKlxS2Lt.js","./MaintenanceView-Df7CHNWW.js","./index-BapOFhAR.js","./MaintenanceView-Bj5_Vr6o.css","./KeybindingPanel-CeHhC2F4.js","./KeybindingPanel-DvrUYZ4S.css","./ExtensionPanel-iPOrhDVM.js","./ServerConfigPanel-B1lI5M9c.js","./index-BYzwFNH3.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); var __defProp2 = Object.defineProperty; var __name = (target2, value4) => __defProp2(target2, "name", { value: value4, configurable: true }); (/* @__PURE__ */ __name(function polyfill2() { @@ -73523,7 +73523,7 @@ const router = createRouter({ { path: "", name: "GraphView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./GraphView-CUSGEqGS.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./GraphView-D9ZzDQZV.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0, import.meta.url), "component"), beforeEnter: /* @__PURE__ */ __name(async (to, from2, next2) => { const userStore = useUserStore(); await userStore.initialize(); @@ -73537,60 +73537,60 @@ const router = createRouter({ { path: "user-select", name: "UserSelectView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./UserSelectView-DeJDnrF0.js"), true ? __vite__mapDeps([6,7]) : void 0, import.meta.url), "component") + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./UserSelectView-wxa07xPk.js"), true ? __vite__mapDeps([6,7]) : void 0, import.meta.url), "component") }, { path: "server-start", name: "ServerStartView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ServerStartView-yzYZ8gms.js"), true ? __vite__mapDeps([8,7,9]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ServerStartView-BpH4TXPO.js"), true ? __vite__mapDeps([8,7,9]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "install", name: "InstallView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./InstallView-DTDlVr0Z.js"), true ? __vite__mapDeps([10,11,12,7,13]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./InstallView-CVZcZZXJ.js"), true ? __vite__mapDeps([10,11,12,7,13]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "welcome", name: "WelcomeView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./WelcomeView-DkwLdayn.js"), true ? __vite__mapDeps([14,7,15]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./WelcomeView-BrXELNIm.js"), true ? __vite__mapDeps([14,7,15]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "not-supported", name: "NotSupportedView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./NotSupportedView-PDDrAb9U.js"), true ? __vite__mapDeps([16,7,17]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./NotSupportedView-BUpntA4x.js"), true ? __vite__mapDeps([16,7,17]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "download-git", name: "DownloadGitView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DownloadGitView-3STu4yxt.js"), true ? __vite__mapDeps([18,7]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DownloadGitView-DVXUne-M.js"), true ? __vite__mapDeps([18,7]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "manual-configuration", name: "ManualConfigurationView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ManualConfigurationView-DueOvLuK.js"), true ? __vite__mapDeps([19,7,20]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ManualConfigurationView-Cz0_f_T-.js"), true ? __vite__mapDeps([19,7,20]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "/metrics-consent", name: "MetricsConsentView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MetricsConsentView-DTQYUF4Z.js"), true ? __vite__mapDeps([21,7]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MetricsConsentView-B5NlgqrS.js"), true ? __vite__mapDeps([21,7]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "desktop-start", name: "DesktopStartView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopStartView-coDnSXEF.js"), true ? __vite__mapDeps([22,7]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopStartView-FKlxS2Lt.js"), true ? __vite__mapDeps([22,7]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "maintenance", name: "MaintenanceView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MaintenanceView-B5Gl0Rrl.js"), true ? __vite__mapDeps([23,1,2,24,11,7,25]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MaintenanceView-Df7CHNWW.js"), true ? __vite__mapDeps([23,1,2,24,11,7,25]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess } ] @@ -85608,7 +85608,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({ }); const config$1 = { app_title: "ComfyUI", - app_version: "1.8.13" + app_version: "1.8.14" }; /*! * shared v9.13.1 @@ -153413,7 +153413,7 @@ const useSystemStatsStore = /* @__PURE__ */ defineStore("systemStats", () => { }; }); const useAboutPanelStore = /* @__PURE__ */ defineStore("aboutPanel", () => { - const frontendVersion = "1.8.13"; + const frontendVersion = "1.8.14"; const extensionStore = useExtensionStore(); const systemStatsStore = useSystemStatsStore(); const coreVersion = computed( @@ -158831,13 +158831,13 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({ setup(__props) { const props = __props; const KeybindingPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./KeybindingPanel-C0Nt6GXU.js"), true ? __vite__mapDeps([26,24,2,3,27]) : void 0, import.meta.url) + () => __vitePreload(() => import("./KeybindingPanel-CeHhC2F4.js"), true ? __vite__mapDeps([26,24,2,3,27]) : void 0, import.meta.url) ); const ExtensionPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./ExtensionPanel-GE0aOkbr.js"), true ? __vite__mapDeps([28,24,2]) : void 0, import.meta.url) + () => __vitePreload(() => import("./ExtensionPanel-iPOrhDVM.js"), true ? __vite__mapDeps([28,24,2]) : void 0, import.meta.url) ); const ServerConfigPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./ServerConfigPanel-DnGhsuUV.js"), true ? __vite__mapDeps([29,4]) : void 0, import.meta.url) + () => __vitePreload(() => import("./ServerConfigPanel-B1lI5M9c.js"), true ? __vite__mapDeps([29,4]) : void 0, import.meta.url) ); const aboutPanelNode = { key: "about", @@ -199422,7 +199422,7 @@ const useExtensionService = /* @__PURE__ */ __name(() => { settingStore.get("Comfy.Extension.Disabled") ); const extensions = await api.getExtensions(); - await __vitePreload(() => import("./index-B4tExwG7.js"), true ? __vite__mapDeps([30,12,31]) : void 0, import.meta.url); + await __vitePreload(() => import("./index-BYzwFNH3.js"), true ? __vite__mapDeps([30,12,31]) : void 0, import.meta.url); extensionStore.captureCoreExtensions(); await Promise.all( extensions.filter((extension) => !extension.includes("extensions/core")).map(async (ext) => { @@ -207745,7 +207745,7 @@ class ComfyApp { if (e2.target instanceof HTMLTextAreaElement && e2.target.type === "textarea" || e2.target instanceof HTMLInputElement && e2.target.type === "text") { return; } - const isTargetInGraph = e2.target.classList.contains("litegraph") || e2.target.classList.contains("graph-canvas-container"); + const isTargetInGraph = e2.target.classList.contains("litegraph") || e2.target.classList.contains("graph-canvas-container") || e2.target.id === "graph-canvas"; if (isTargetInGraph && this.canvas.selected_nodes) { this.canvas.copyToClipboard(); e2.clipboardData.setData("text", " "); @@ -219745,7 +219745,7 @@ init$3({ app, dsn: "https://e2d0c0bd392ffdce48e856c2a055f437@o4507954455314432.ingest.us.sentry.io/4508621568475136", enabled: true, - release: "1.8.13", + release: "1.8.14", integrations: [], autoSessionTracking: false, defaultIntegrations: false, @@ -220051,4 +220051,4 @@ export { createBlock as y, withCtx as z }; -//# sourceMappingURL=index-4Hb32CNk.js.map +//# sourceMappingURL=index-DqqhYDnY.js.map diff --git a/web/assets/keybindingService-BTNdTpfl.js b/web/assets/keybindingService-DEgCutrm.js similarity index 98% rename from web/assets/keybindingService-BTNdTpfl.js rename to web/assets/keybindingService-DEgCutrm.js index a9c8bd67d..91a668b79 100644 --- a/web/assets/keybindingService-BTNdTpfl.js +++ b/web/assets/keybindingService-DEgCutrm.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { an as useKeybindingStore, L as useCommandStore, a as useSettingStore, dp as KeyComboImpl, dq as KeybindingImpl } from "./index-4Hb32CNk.js"; +import { an as useKeybindingStore, L as useCommandStore, a as useSettingStore, dp as KeyComboImpl, dq as KeybindingImpl } from "./index-DqqhYDnY.js"; const CORE_KEYBINDINGS = [ { combo: { @@ -247,4 +247,4 @@ const useKeybindingService = /* @__PURE__ */ __name(() => { export { useKeybindingService as u }; -//# sourceMappingURL=keybindingService-BTNdTpfl.js.map +//# sourceMappingURL=keybindingService-DEgCutrm.js.map diff --git a/web/assets/serverConfigStore-BYbZcbWj.js b/web/assets/serverConfigStore-Kb5DJVFt.js similarity index 97% rename from web/assets/serverConfigStore-BYbZcbWj.js rename to web/assets/serverConfigStore-Kb5DJVFt.js index 2c876288d..c1ff0646c 100644 --- a/web/assets/serverConfigStore-BYbZcbWj.js +++ b/web/assets/serverConfigStore-Kb5DJVFt.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { I as defineStore, U as ref, c as computed } from "./index-4Hb32CNk.js"; +import { I as defineStore, U as ref, c as computed } from "./index-DqqhYDnY.js"; const useServerConfigStore = defineStore("serverConfig", () => { const serverConfigById = ref({}); const serverConfigs = computed(() => { @@ -87,4 +87,4 @@ const useServerConfigStore = defineStore("serverConfig", () => { export { useServerConfigStore as u }; -//# sourceMappingURL=serverConfigStore-BYbZcbWj.js.map +//# sourceMappingURL=serverConfigStore-Kb5DJVFt.js.map diff --git a/web/index.html b/web/index.html index b62467005..c14633534 100644 --- a/web/index.html +++ b/web/index.html @@ -6,7 +6,7 @@ - + From b6951768c41fa69a870c022a3adbc349fc4f2ac1 Mon Sep 17 00:00:00 2001 From: Raphael Walker Date: Thu, 6 Feb 2025 22:51:16 +0100 Subject: [PATCH 30/78] fix a bug in the attn_masked redux code when using weight=1.0 (#6721) --- nodes.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nodes.py b/nodes.py index ba9c4e4bb..9779d5fdb 100644 --- a/nodes.py +++ b/nodes.py @@ -1064,7 +1064,8 @@ class StyleModelApply: for t in conditioning: (txt, keys) = t keys = keys.copy() - if strength_type == "attn_bias" and strength != 1.0: + # even if the strength is 1.0 (i.e, no change), if there's already a mask, we have to add to it + if strength_type == "attn_bias" and strength != 1.0 and "attention_mask" not in keys: # math.log raises an error if the argument is zero # torch.log returns -inf, which is what we want attn_bias = torch.log(torch.Tensor([strength])) From 079eccc92a82b16727f9ff88da613e8b1f078eae Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Fri, 7 Feb 2025 03:29:12 -0500 Subject: [PATCH 31/78] Don't compress http response by default. Remove argument to disable it. Add new --enable-compress-response-body argument to enable it. --- comfy/cli_args.py | 2 +- server.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/comfy/cli_args.py b/comfy/cli_args.py index a92fc0dba..ec8f92e8a 100644 --- a/comfy/cli_args.py +++ b/comfy/cli_args.py @@ -179,7 +179,7 @@ parser.add_argument( parser.add_argument("--user-directory", type=is_valid_directory, default=None, help="Set the ComfyUI user directory with an absolute path. Overrides --base-directory.") -parser.add_argument("--disable-compres-response-body", action="store_true", help="Disable compressing response body.") +parser.add_argument("--enable-compress-response-body", action="store_true", help="Enable compressing response body.") if comfy.options.args_parsing: args = parser.parse_args() diff --git a/server.py b/server.py index 7b8608479..1a79da7e2 100644 --- a/server.py +++ b/server.py @@ -57,8 +57,6 @@ async def cache_control(request: web.Request, handler): async def compress_body(request: web.Request, handler): accept_encoding = request.headers.get("Accept-Encoding", "") response: web.Response = await handler(request) - if args.disable_compres_response_body: - return response if not isinstance(response, web.Response): return response if response.content_type not in ["application/json", "text/plain"]: @@ -165,7 +163,10 @@ class PromptServer(): self.client_session:Optional[aiohttp.ClientSession] = None self.number = 0 - middlewares = [cache_control, compress_body] + middlewares = [cache_control] + if args.enable_compress_response_body: + middlewares.append(compress_body) + if args.enable_cors_header: middlewares.append(create_cors_middleware(args.enable_cors_header)) else: From 832e3f5ca3c357e527fdf811502357bd2798425e Mon Sep 17 00:00:00 2001 From: Raphael Walker Date: Fri, 7 Feb 2025 20:44:43 +0100 Subject: [PATCH 32/78] Fix another small bug in attention_bias redux (#6737) * fix a bug in the attn_masked redux code when using weight=1.0 * oh shit wait there was another bug --- nodes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nodes.py b/nodes.py index 9779d5fdb..1d2b1f9ff 100644 --- a/nodes.py +++ b/nodes.py @@ -1065,10 +1065,10 @@ class StyleModelApply: (txt, keys) = t keys = keys.copy() # even if the strength is 1.0 (i.e, no change), if there's already a mask, we have to add to it - if strength_type == "attn_bias" and strength != 1.0 and "attention_mask" not in keys: + if "attention_mask" in keys or (strength_type == "attn_bias" and strength != 1.0): # math.log raises an error if the argument is zero # torch.log returns -inf, which is what we want - attn_bias = torch.log(torch.Tensor([strength])) + attn_bias = torch.log(torch.Tensor([strength if strength_type == "attn_bias" else 1.0])) # get the size of the mask image mask_ref_size = keys.get("attention_mask_img_shape", (1, 1)) n_ref = mask_ref_size[0] * mask_ref_size[1] From af93c8d1ee4be91f30ffd395ea6919e6f83923aa Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sat, 8 Feb 2025 06:54:03 -0500 Subject: [PATCH 33/78] Document which text encoder to use for lumina 2. --- nodes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nodes.py b/nodes.py index 1d2b1f9ff..7defb60b7 100644 --- a/nodes.py +++ b/nodes.py @@ -924,7 +924,7 @@ class CLIPLoader: CATEGORY = "advanced/loaders" - DESCRIPTION = "[Recipes]\n\nstable_diffusion: clip-l\nstable_cascade: clip-g\nsd3: t5 / clip-g / clip-l\nstable_audio: t5\nmochi: t5\ncosmos: old t5 xxl" + DESCRIPTION = "[Recipes]\n\nstable_diffusion: clip-l\nstable_cascade: clip-g\nsd3: t5 / clip-g / clip-l\nstable_audio: t5\nmochi: t5\ncosmos: old t5 xxl\nlumina2: gemma 2 2B" def load_clip(self, clip_name, type="stable_diffusion", device="default"): if type == "stable_cascade": From 43a74c0de175933782e255e1d0443c413af7c6f3 Mon Sep 17 00:00:00 2001 From: catboxanon <122327233+catboxanon@users.noreply.github.com> Date: Sat, 8 Feb 2025 17:00:56 -0500 Subject: [PATCH 34/78] Allow FP16 accumulation with `--fast` (#6453) Currently only applies to PyTorch nightly releases. (>=20250208) --- comfy/model_management.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/comfy/model_management.py b/comfy/model_management.py index 225a83e05..ca84f2064 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -241,6 +241,12 @@ if ENABLE_PYTORCH_ATTENTION: torch.backends.cuda.enable_flash_sdp(True) torch.backends.cuda.enable_mem_efficient_sdp(True) +try: + if is_nvidia() and args.fast: + torch.backends.cuda.matmul.allow_fp16_accumulation = True +except: + pass + try: if int(torch_version[0]) == 2 and int(torch_version[2]) >= 5: torch.backends.cuda.allow_fp16_bf16_reduction_math_sdp(True) From 3d06e1c5559daecac08b3c88fc5d080da96d54a3 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sat, 8 Feb 2025 18:57:24 -0500 Subject: [PATCH 35/78] Make error more clear to user. --- comfy/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/utils.py b/comfy/utils.py index c901347c4..df7057c6a 100644 --- a/comfy/utils.py +++ b/comfy/utils.py @@ -58,7 +58,7 @@ def load_torch_file(ckpt, safe_load=False, device=None): if "HeaderTooLarge" in message: raise ValueError("{}\n\nFile path: {}\n\nThe safetensors file is corrupt or invalid. Make sure this is actually a safetensors file and not a ckpt or pt or other filetype.".format(message, ckpt)) if "MetadataIncompleteBuffer" in message: - raise ValueError("{}\n\nFile path: {}\n\nThe safetensors file is incomplete. Check the file size and make sure you have copied/downloaded it correctly.".format(message, ckpt)) + raise ValueError("{}\n\nFile path: {}\n\nThe safetensors file is corrupt/incomplete. Check the file size and make sure you have copied/downloaded it correctly.".format(message, ckpt)) raise e else: if safe_load or ALWAYS_SAFE_LOAD: From caeb27c3a545d44b9564156220e75fd0532ae3f3 Mon Sep 17 00:00:00 2001 From: Pam <42671363+pamparamm@users.noreply.github.com> Date: Sun, 9 Feb 2025 05:39:58 +0500 Subject: [PATCH 36/78] res_multistep: Fix cfgpp and add ancestral samplers (#6731) --- comfy/k_diffusion/sampling.py | 61 +++++++++++++++++++---------------- comfy/samplers.py | 3 +- 2 files changed, 36 insertions(+), 28 deletions(-) diff --git a/comfy/k_diffusion/sampling.py b/comfy/k_diffusion/sampling.py index 2c0d18320..456679989 100644 --- a/comfy/k_diffusion/sampling.py +++ b/comfy/k_diffusion/sampling.py @@ -1267,7 +1267,7 @@ def sample_dpmpp_2m_cfg_pp(model, x, sigmas, extra_args=None, callback=None, dis return x @torch.no_grad() -def res_multistep(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1., noise_sampler=None, cfg_pp=False): +def res_multistep(model, x, sigmas, extra_args=None, callback=None, disable=None, s_noise=1., noise_sampler=None, eta=1., cfg_pp=False): extra_args = {} if extra_args is None else extra_args seed = extra_args.get("seed", None) noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler @@ -1289,53 +1289,60 @@ def res_multistep(model, x, sigmas, extra_args=None, callback=None, disable=None extra_args["model_options"] = comfy.model_patcher.set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=True) for i in trange(len(sigmas) - 1, disable=disable): - if s_churn > 0: - gamma = min(s_churn / (len(sigmas) - 1), 2**0.5 - 1) if s_tmin <= sigmas[i] <= s_tmax else 0.0 - sigma_hat = sigmas[i] * (gamma + 1) - else: - gamma = 0 - sigma_hat = sigmas[i] - - if gamma > 0: - eps = torch.randn_like(x) * s_noise - x = x + eps * (sigma_hat**2 - sigmas[i] ** 2) ** 0.5 - denoised = model(x, sigma_hat * s_in, **extra_args) + denoised = model(x, sigmas[i] * s_in, **extra_args) + sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) if callback is not None: - callback({"x": x, "i": i, "sigma": sigmas[i], "sigma_hat": sigma_hat, "denoised": denoised}) - if sigmas[i + 1] == 0 or old_denoised is None: + callback({"x": x, "i": i, "sigma": sigmas[i], "sigma_hat": sigmas[i], "denoised": denoised}) + if sigma_down == 0 or old_denoised is None: # Euler method if cfg_pp: - d = to_d(x, sigma_hat, uncond_denoised) - x = denoised + d * sigmas[i + 1] + d = to_d(x, sigmas[i], uncond_denoised) + x = denoised + d * sigma_down else: - d = to_d(x, sigma_hat, denoised) - dt = sigmas[i + 1] - sigma_hat + d = to_d(x, sigmas[i], denoised) + dt = sigma_down - sigmas[i] x = x + d * dt else: # Second order multistep method in https://arxiv.org/pdf/2308.02157 - t, t_next, t_prev = t_fn(sigmas[i]), t_fn(sigmas[i + 1]), t_fn(sigmas[i - 1]) + t, t_next, t_prev = t_fn(sigmas[i]), t_fn(sigma_down), t_fn(sigmas[i - 1]) h = t_next - t c2 = (t_prev - t) / h phi1_val, phi2_val = phi1_fn(-h), phi2_fn(-h) - b1 = torch.nan_to_num(phi1_val - 1.0 / c2 * phi2_val, nan=0.0) - b2 = torch.nan_to_num(1.0 / c2 * phi2_val, nan=0.0) + b1 = torch.nan_to_num(phi1_val - phi2_val / c2, nan=0.0) + b2 = torch.nan_to_num(phi2_val / c2, nan=0.0) if cfg_pp: x = x + (denoised - uncond_denoised) + x = sigma_fn(h) * x + h * (b1 * uncond_denoised + b2 * old_denoised) + else: + x = sigma_fn(h) * x + h * (b1 * denoised + b2 * old_denoised) - x = (sigma_fn(t_next) / sigma_fn(t)) * x + h * (b1 * denoised + b2 * old_denoised) + # Noise addition + if sigmas[i + 1] > 0: + x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up - old_denoised = denoised + if cfg_pp: + old_denoised = uncond_denoised + else: + old_denoised = denoised return x @torch.no_grad() -def sample_res_multistep(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1., noise_sampler=None): - return res_multistep(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, s_churn=s_churn, s_tmin=s_tmin, s_tmax=s_tmax, s_noise=s_noise, noise_sampler=noise_sampler, cfg_pp=False) +def sample_res_multistep(model, x, sigmas, extra_args=None, callback=None, disable=None, s_noise=1., noise_sampler=None): + return res_multistep(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, s_noise=s_noise, noise_sampler=noise_sampler, eta=0., cfg_pp=False) @torch.no_grad() -def sample_res_multistep_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1., noise_sampler=None): - return res_multistep(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, s_churn=s_churn, s_tmin=s_tmin, s_tmax=s_tmax, s_noise=s_noise, noise_sampler=noise_sampler, cfg_pp=True) +def sample_res_multistep_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None, s_noise=1., noise_sampler=None): + return res_multistep(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, s_noise=s_noise, noise_sampler=noise_sampler, eta=0., cfg_pp=True) + +@torch.no_grad() +def sample_res_multistep_ancestral(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + return res_multistep(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, s_noise=s_noise, noise_sampler=noise_sampler, eta=eta, cfg_pp=False) + +@torch.no_grad() +def sample_res_multistep_ancestral_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + return res_multistep(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, s_noise=s_noise, noise_sampler=noise_sampler, eta=eta, cfg_pp=True) @torch.no_grad() def sample_gradient_estimation(model, x, sigmas, extra_args=None, callback=None, disable=None, ge_gamma=2.): diff --git a/comfy/samplers.py b/comfy/samplers.py index 3b66091ef..a1b4787ef 100644 --- a/comfy/samplers.py +++ b/comfy/samplers.py @@ -686,7 +686,8 @@ class Sampler: 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", "gradient_estimation"] + "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={}): From 095d8671476ebb7834d326ac31127cd5f3e27303 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sun, 9 Feb 2025 07:01:38 -0500 Subject: [PATCH 37/78] Remove useless function. --- comfy/model_base.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/comfy/model_base.py b/comfy/model_base.py index 4d1b83a4a..98f462b32 100644 --- a/comfy/model_base.py +++ b/comfy/model_base.py @@ -166,9 +166,6 @@ class BaseModel(torch.nn.Module): def get_dtype(self): return self.diffusion_model.dtype - def is_adm(self): - return self.adm_channels > 0 - def encode_adm(self, **kwargs): return None From 4027466c802d174d76347726d74de73c39acedb3 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Mon, 10 Feb 2025 00:24:20 -0500 Subject: [PATCH 38/78] Make lumina model work with any latent resolution. --- comfy/ldm/lumina/model.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/comfy/ldm/lumina/model.py b/comfy/ldm/lumina/model.py index 3292bd2f0..ccd5d2c0e 100644 --- a/comfy/ldm/lumina/model.py +++ b/comfy/ldm/lumina/model.py @@ -6,6 +6,7 @@ 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 @@ -594,6 +595,8 @@ class NextDiT(nn.Module): t = 1.0 - timesteps 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)) """ Forward pass of NextDiT. t: (N,) tensor of diffusion timesteps @@ -613,7 +616,7 @@ class NextDiT(nn.Module): x = layer(x, mask, freqs_cis, adaln_input) x = self.final_layer(x, adaln_input) - x = self.unpatchify(x, img_size, cap_size, return_tensor=x_is_tensor) + x = self.unpatchify(x, img_size, cap_size, return_tensor=x_is_tensor)[:,:,:h,:w] return -x From e57d2282d1e3a3e84b6c0a54a7a440e692ef432d Mon Sep 17 00:00:00 2001 From: bananasss00 Date: Tue, 11 Feb 2025 12:48:35 +0300 Subject: [PATCH 39/78] Fix incorrect Content-Type for WebP images (#6752) --- server.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server.py b/server.py index 1a79da7e2..76a99167d 100644 --- a/server.py +++ b/server.py @@ -150,7 +150,8 @@ class PromptServer(): PromptServer.instance = self mimetypes.init() - mimetypes.types_map['.js'] = 'application/javascript; charset=utf-8' + mimetypes.add_type('application/javascript; charset=utf-8', '.js') + mimetypes.add_type('image/webp', '.webp') self.user_manager = UserManager() self.model_file_manager = ModelFileManager() From af4b7c91be3402bec9d3538d1eb034895e5f6d3f Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Tue, 11 Feb 2025 08:31:46 -0500 Subject: [PATCH 40/78] Make --force-fp16 actually force the diffusion model to be fp16. --- comfy/cli_args.py | 3 +++ comfy/model_management.py | 7 +------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/comfy/cli_args.py b/comfy/cli_args.py index ec8f92e8a..a906ff1c0 100644 --- a/comfy/cli_args.py +++ b/comfy/cli_args.py @@ -191,3 +191,6 @@ if args.windows_standalone_build: if args.disable_auto_launch: args.auto_launch = False + +if args.force_fp16: + args.fp16_unet = True diff --git a/comfy/model_management.py b/comfy/model_management.py index ca84f2064..28083fbf9 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -262,15 +262,10 @@ elif args.highvram or args.gpu_only: vram_state = VRAMState.HIGH_VRAM FORCE_FP32 = False -FORCE_FP16 = False if args.force_fp32: logging.info("Forcing FP32, if this improves things please report it.") FORCE_FP32 = True -if args.force_fp16: - logging.info("Forcing FP16.") - FORCE_FP16 = True - if lowvram_available: if set_vram_to in (VRAMState.LOW_VRAM, VRAMState.NO_VRAM): vram_state = set_vram_to @@ -1003,7 +998,7 @@ def should_use_fp16(device=None, model_params=0, prioritize_performance=True, ma if is_device_cpu(device): return False - if FORCE_FP16: + if args.force_fp16: return True if FORCE_FP32: From b1242568178c922c3417938be5a3259d1c395da1 Mon Sep 17 00:00:00 2001 From: HishamC <140008308+hisham-hchowdhu@users.noreply.github.com> Date: Tue, 11 Feb 2025 14:11:32 -0800 Subject: [PATCH 41/78] Fix for running via DirectML (#6542) * Fix for running via DirectML Fix DirectML empty image generation issue with Flux1. add CPU fallback for unsupported path. Verified the model works on AMD GPUs * fix formating * update casual mask calculation --- comfy/clip_model.py | 6 +++++- comfy/ldm/flux/math.py | 2 +- comfy/model_management.py | 7 +++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/comfy/clip_model.py b/comfy/clip_model.py index c48576028..0163c6fe7 100644 --- a/comfy/clip_model.py +++ b/comfy/clip_model.py @@ -104,7 +104,11 @@ class CLIPTextModel_(torch.nn.Module): mask = 1.0 - attention_mask.to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])).expand(attention_mask.shape[0], 1, attention_mask.shape[-1], attention_mask.shape[-1]) mask = mask.masked_fill(mask.to(torch.bool), -torch.finfo(x.dtype).max) - causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=x.dtype, device=x.device).fill_(-torch.finfo(x.dtype).max).triu_(1) + if comfy.model_management.is_directml_enabled(): + causal_mask = torch.full((x.shape[1], x.shape[1]), -torch.finfo(x.dtype).max, dtype=x.dtype, device=x.device).triu_(1) + else: + causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=x.dtype, device=x.device).fill_(float("-inf")).triu_(1) + if mask is not None: mask += causal_mask else: diff --git a/comfy/ldm/flux/math.py b/comfy/ldm/flux/math.py index b5960ffd3..36b67931c 100644 --- a/comfy/ldm/flux/math.py +++ b/comfy/ldm/flux/math.py @@ -22,7 +22,7 @@ def attention(q: Tensor, k: Tensor, v: Tensor, pe: Tensor, mask=None) -> Tensor: def rope(pos: Tensor, dim: int, theta: int) -> Tensor: assert dim % 2 == 0 - if comfy.model_management.is_device_mps(pos.device) or comfy.model_management.is_intel_xpu(): + if comfy.model_management.is_device_mps(pos.device) or comfy.model_management.is_intel_xpu() or comfy.model_management.is_directml_enabled(): device = torch.device("cpu") else: device = pos.device diff --git a/comfy/model_management.py b/comfy/model_management.py index 28083fbf9..29cd43b51 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -991,6 +991,13 @@ def is_device_mps(device): def is_device_cuda(device): return is_device_type(device, 'cuda') +def is_directml_enabled(): + global directml_enabled + if directml_enabled: + return True + + return False + def should_use_fp16(device=None, model_params=0, prioritize_performance=True, manual_cast=False): global directml_enabled From d9f0fcdb0cdfd8f6fd0ec2ee14ea332bb87fd504 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Tue, 11 Feb 2025 17:17:03 -0500 Subject: [PATCH 42/78] Cleanup. --- comfy/clip_model.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/comfy/clip_model.py b/comfy/clip_model.py index 0163c6fe7..cf5b58b62 100644 --- a/comfy/clip_model.py +++ b/comfy/clip_model.py @@ -104,10 +104,7 @@ class CLIPTextModel_(torch.nn.Module): mask = 1.0 - attention_mask.to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])).expand(attention_mask.shape[0], 1, attention_mask.shape[-1], attention_mask.shape[-1]) mask = mask.masked_fill(mask.to(torch.bool), -torch.finfo(x.dtype).max) - if comfy.model_management.is_directml_enabled(): - causal_mask = torch.full((x.shape[1], x.shape[1]), -torch.finfo(x.dtype).max, dtype=x.dtype, device=x.device).triu_(1) - else: - causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=x.dtype, device=x.device).fill_(float("-inf")).triu_(1) + causal_mask = torch.full((x.shape[1], x.shape[1]), -torch.finfo(x.dtype).max, dtype=x.dtype, device=x.device).triu_(1) if mask is not None: mask += causal_mask From ab888e1e0b8a7558081713241172d0a38f837e16 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 12 Feb 2025 05:49:00 -0500 Subject: [PATCH 43/78] Add add_weight_wrapper function to model patcher. Functions can now easily be added to wrap/modify model weights. --- comfy/model_patcher.py | 61 ++++++++++++++++++++++++++++++++++-------- comfy/ops.py | 33 ++++++++++++----------- 2 files changed, 67 insertions(+), 27 deletions(-) diff --git a/comfy/model_patcher.py b/comfy/model_patcher.py index 0501f7b38..aee0164c5 100644 --- a/comfy/model_patcher.py +++ b/comfy/model_patcher.py @@ -96,8 +96,28 @@ def wipe_lowvram_weight(m): if hasattr(m, "prev_comfy_cast_weights"): m.comfy_cast_weights = m.prev_comfy_cast_weights del m.prev_comfy_cast_weights - m.weight_function = None - m.bias_function = None + + if hasattr(m, "weight_function"): + m.weight_function = [] + + if hasattr(m, "bias_function"): + m.bias_function = [] + +def move_weight_functions(m, device): + if device is None: + return 0 + + memory = 0 + if hasattr(m, "weight_function"): + for f in m.weight_function: + if hasattr(f, "move_to"): + memory += f.move_to(device=device) + + if hasattr(m, "bias_function"): + for f in m.bias_function: + if hasattr(f, "move_to"): + memory += f.move_to(device=device) + return memory class LowVramPatch: def __init__(self, key, patches): @@ -192,6 +212,7 @@ class ModelPatcher: self.backup = {} self.object_patches = {} self.object_patches_backup = {} + self.weight_wrapper_patches = {} self.model_options = {"transformer_options":{}} self.model_size() self.load_device = load_device @@ -250,6 +271,7 @@ class ModelPatcher: n.patches_uuid = self.patches_uuid n.object_patches = self.object_patches.copy() + n.weight_wrapper_patches = self.weight_wrapper_patches.copy() n.model_options = copy.deepcopy(self.model_options) n.backup = self.backup n.object_patches_backup = self.object_patches_backup @@ -402,6 +424,10 @@ class ModelPatcher: def add_object_patch(self, name, obj): self.object_patches[name] = obj + def add_weight_wrapper(self, name, function): + self.weight_wrapper_patches[name] = self.weight_wrapper_patches.get(name, []) + [function] + self.patches_uuid = uuid.uuid4() + def get_model_object(self, name: str) -> torch.nn.Module: """Retrieves a nested attribute from an object using dot notation considering object patches. @@ -566,6 +592,9 @@ class ModelPatcher: lowvram_weight = False + weight_key = "{}.weight".format(n) + bias_key = "{}.bias".format(n) + if not full_load and hasattr(m, "comfy_cast_weights"): if mem_counter + module_mem >= lowvram_model_memory: lowvram_weight = True @@ -573,34 +602,42 @@ class ModelPatcher: if hasattr(m, "prev_comfy_cast_weights"): #Already lowvramed continue - weight_key = "{}.weight".format(n) - bias_key = "{}.bias".format(n) - if lowvram_weight: + if hasattr(m, "comfy_cast_weights"): + m.weight_function = [] + m.bias_function = [] + if weight_key in self.patches: if force_patch_weights: self.patch_weight_to_device(weight_key) else: - m.weight_function = LowVramPatch(weight_key, self.patches) + m.weight_function = [LowVramPatch(weight_key, self.patches)] patch_counter += 1 if bias_key in self.patches: if force_patch_weights: self.patch_weight_to_device(bias_key) else: - m.bias_function = LowVramPatch(bias_key, self.patches) + m.bias_function = [LowVramPatch(bias_key, self.patches)] patch_counter += 1 m.prev_comfy_cast_weights = m.comfy_cast_weights m.comfy_cast_weights = True else: if hasattr(m, "comfy_cast_weights"): - if m.comfy_cast_weights: - wipe_lowvram_weight(m) + wipe_lowvram_weight(m) if full_load or mem_counter + module_mem < lowvram_model_memory: mem_counter += module_mem load_completely.append((module_mem, n, m, params)) + if weight_key in self.weight_wrapper_patches: + m.weight_function.extend(self.weight_wrapper_patches[weight_key]) + + if bias_key in self.weight_wrapper_patches: + m.bias_function.extend(self.weight_wrapper_patches[bias_key]) + + mem_counter += move_weight_functions(m, device_to) + load_completely.sort(reverse=True) for x in load_completely: n = x[1] @@ -662,6 +699,7 @@ class ModelPatcher: self.unpatch_hooks() if self.model.model_lowvram: for m in self.model.modules(): + move_weight_functions(m, device_to) wipe_lowvram_weight(m) self.model.model_lowvram = False @@ -729,12 +767,13 @@ class ModelPatcher: bias_key = "{}.bias".format(n) if move_weight: m.to(device_to) + module_mem += move_weight_functions(m, device_to) if lowvram_possible: if weight_key in self.patches: - m.weight_function = LowVramPatch(weight_key, self.patches) + m.weight_function.append(LowVramPatch(weight_key, self.patches)) patch_counter += 1 if bias_key in self.patches: - m.bias_function = LowVramPatch(bias_key, self.patches) + m.bias_function.append(LowVramPatch(bias_key, self.patches)) patch_counter += 1 m.prev_comfy_cast_weights = m.comfy_cast_weights diff --git a/comfy/ops.py b/comfy/ops.py index 06be6b48b..30014477e 100644 --- a/comfy/ops.py +++ b/comfy/ops.py @@ -38,21 +38,23 @@ def cast_bias_weight(s, input=None, dtype=None, device=None, bias_dtype=None): bias = None non_blocking = comfy.model_management.device_supports_non_blocking(device) if s.bias is not None: - has_function = s.bias_function is not None + has_function = len(s.bias_function) > 0 bias = comfy.model_management.cast_to(s.bias, bias_dtype, device, non_blocking=non_blocking, copy=has_function) if has_function: - bias = s.bias_function(bias) + for f in s.bias_function: + bias = f(bias) - has_function = s.weight_function is not None + has_function = len(s.weight_function) > 0 weight = comfy.model_management.cast_to(s.weight, dtype, device, non_blocking=non_blocking, copy=has_function) if has_function: - weight = s.weight_function(weight) + for f in s.weight_function: + weight = f(weight) return weight, bias class CastWeightBiasOp: comfy_cast_weights = False - weight_function = None - bias_function = None + weight_function = [] + bias_function = [] class disable_weight_init: class Linear(torch.nn.Linear, CastWeightBiasOp): @@ -64,7 +66,7 @@ class disable_weight_init: return torch.nn.functional.linear(input, weight, bias) def forward(self, *args, **kwargs): - if self.comfy_cast_weights: + if self.comfy_cast_weights or len(self.weight_function) > 0 or len(self.bias_function) > 0: return self.forward_comfy_cast_weights(*args, **kwargs) else: return super().forward(*args, **kwargs) @@ -78,7 +80,7 @@ class disable_weight_init: return self._conv_forward(input, weight, bias) def forward(self, *args, **kwargs): - if self.comfy_cast_weights: + if self.comfy_cast_weights or len(self.weight_function) > 0 or len(self.bias_function) > 0: return self.forward_comfy_cast_weights(*args, **kwargs) else: return super().forward(*args, **kwargs) @@ -92,7 +94,7 @@ class disable_weight_init: return self._conv_forward(input, weight, bias) def forward(self, *args, **kwargs): - if self.comfy_cast_weights: + if self.comfy_cast_weights or len(self.weight_function) > 0 or len(self.bias_function) > 0: return self.forward_comfy_cast_weights(*args, **kwargs) else: return super().forward(*args, **kwargs) @@ -106,7 +108,7 @@ class disable_weight_init: return self._conv_forward(input, weight, bias) def forward(self, *args, **kwargs): - if self.comfy_cast_weights: + if self.comfy_cast_weights or len(self.weight_function) > 0 or len(self.bias_function) > 0: return self.forward_comfy_cast_weights(*args, **kwargs) else: return super().forward(*args, **kwargs) @@ -120,12 +122,11 @@ class disable_weight_init: return torch.nn.functional.group_norm(input, self.num_groups, weight, bias, self.eps) def forward(self, *args, **kwargs): - if self.comfy_cast_weights: + if self.comfy_cast_weights or len(self.weight_function) > 0 or len(self.bias_function) > 0: return self.forward_comfy_cast_weights(*args, **kwargs) else: return super().forward(*args, **kwargs) - class LayerNorm(torch.nn.LayerNorm, CastWeightBiasOp): def reset_parameters(self): return None @@ -139,7 +140,7 @@ class disable_weight_init: return torch.nn.functional.layer_norm(input, self.normalized_shape, weight, bias, self.eps) def forward(self, *args, **kwargs): - if self.comfy_cast_weights: + if self.comfy_cast_weights or len(self.weight_function) > 0 or len(self.bias_function) > 0: return self.forward_comfy_cast_weights(*args, **kwargs) else: return super().forward(*args, **kwargs) @@ -160,7 +161,7 @@ class disable_weight_init: output_padding, self.groups, self.dilation) def forward(self, *args, **kwargs): - if self.comfy_cast_weights: + if self.comfy_cast_weights or len(self.weight_function) > 0 or len(self.bias_function) > 0: return self.forward_comfy_cast_weights(*args, **kwargs) else: return super().forward(*args, **kwargs) @@ -181,7 +182,7 @@ class disable_weight_init: output_padding, self.groups, self.dilation) def forward(self, *args, **kwargs): - if self.comfy_cast_weights: + if self.comfy_cast_weights or len(self.weight_function) > 0 or len(self.bias_function) > 0: return self.forward_comfy_cast_weights(*args, **kwargs) else: return super().forward(*args, **kwargs) @@ -199,7 +200,7 @@ class disable_weight_init: return torch.nn.functional.embedding(input, weight, self.padding_idx, self.max_norm, self.norm_type, self.scale_grad_by_freq, self.sparse).to(dtype=output_dtype) def forward(self, *args, **kwargs): - if self.comfy_cast_weights: + if self.comfy_cast_weights or len(self.weight_function) > 0 or len(self.bias_function) > 0: return self.forward_comfy_cast_weights(*args, **kwargs) else: if "out_dtype" in kwargs: From 35740259de2798cf55098c231b7dab19f15e14da Mon Sep 17 00:00:00 2001 From: zhoufan2956 <78578838+zhoufan2956@users.noreply.github.com> Date: Wed, 12 Feb 2025 19:48:11 +0800 Subject: [PATCH 44/78] mix_ascend_bf16_infer_err (#6794) --- comfy/model_management.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/comfy/model_management.py b/comfy/model_management.py index 29cd43b51..cbf4c4ea6 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -1082,6 +1082,9 @@ def should_use_bf16(device=None, model_params=0, prioritize_performance=True, ma if is_intel_xpu(): return True + + if is_ascend_npu(): + return True props = torch.cuda.get_device_properties(device) if props.major >= 8: From 1d5d6586f300fa54802682802020aafb61bd31a3 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 12 Feb 2025 06:49:16 -0500 Subject: [PATCH 45/78] Fix ruff. --- comfy/model_management.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/model_management.py b/comfy/model_management.py index cbf4c4ea6..f3d90c668 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -1082,7 +1082,7 @@ def should_use_bf16(device=None, model_params=0, prioritize_performance=True, ma if is_intel_xpu(): return True - + if is_ascend_npu(): return True From 8773ccf74d189c21916f2a025df04f7a26a446a8 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Thu, 13 Feb 2025 08:32:36 -0500 Subject: [PATCH 46/78] Better memory estimation for ROCm that support mem efficient attention. There is no way to check if the card actually supports it so it assumes that it does if you use --use-pytorch-cross-attention with yours. --- comfy/model_management.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/comfy/model_management.py b/comfy/model_management.py index f3d90c668..212ce9af2 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -909,6 +909,8 @@ def pytorch_attention_flash_attention(): return True if is_ascend_npu(): return True + if is_amd(): + return True #if you have pytorch attention enabled on AMD it probably supports at least mem efficient attention return False def mac_version(): From 019c7029ea324517ab88d7e61e79b739bc8f4e91 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Thu, 13 Feb 2025 20:34:03 -0500 Subject: [PATCH 47/78] Add a way to set a different compute dtype for the model at runtime. Currently only works for diffusion models. --- comfy/model_patcher.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/comfy/model_patcher.py b/comfy/model_patcher.py index aee0164c5..4dbe1b7aa 100644 --- a/comfy/model_patcher.py +++ b/comfy/model_patcher.py @@ -218,6 +218,7 @@ class ModelPatcher: self.load_device = load_device self.offload_device = offload_device self.weight_inplace_update = weight_inplace_update + self.force_cast_weights = False self.patches_uuid = uuid.uuid4() self.parent = None @@ -277,6 +278,8 @@ class ModelPatcher: n.object_patches_backup = self.object_patches_backup n.parent = self + n.force_cast_weights = self.force_cast_weights + # attachments n.attachments = {} for k in self.attachments: @@ -424,6 +427,12 @@ class ModelPatcher: def add_object_patch(self, name, obj): self.object_patches[name] = obj + def set_model_compute_dtype(self, dtype): + self.add_object_patch("manual_cast_dtype", dtype) + if dtype is not None: + self.force_cast_weights = True + self.patches_uuid = uuid.uuid4() #TODO: optimize by preventing a full model reload for this + def add_weight_wrapper(self, name, function): self.weight_wrapper_patches[name] = self.weight_wrapper_patches.get(name, []) + [function] self.patches_uuid = uuid.uuid4() @@ -602,6 +611,7 @@ class ModelPatcher: if hasattr(m, "prev_comfy_cast_weights"): #Already lowvramed continue + cast_weight = self.force_cast_weights if lowvram_weight: if hasattr(m, "comfy_cast_weights"): m.weight_function = [] @@ -620,8 +630,7 @@ class ModelPatcher: m.bias_function = [LowVramPatch(bias_key, self.patches)] patch_counter += 1 - m.prev_comfy_cast_weights = m.comfy_cast_weights - m.comfy_cast_weights = True + cast_weight = True else: if hasattr(m, "comfy_cast_weights"): wipe_lowvram_weight(m) @@ -630,6 +639,10 @@ class ModelPatcher: mem_counter += module_mem load_completely.append((module_mem, n, m, params)) + if cast_weight: + m.prev_comfy_cast_weights = m.comfy_cast_weights + m.comfy_cast_weights = True + if weight_key in self.weight_wrapper_patches: m.weight_function.extend(self.weight_wrapper_patches[weight_key]) @@ -766,6 +779,7 @@ class ModelPatcher: weight_key = "{}.weight".format(n) bias_key = "{}.bias".format(n) if move_weight: + cast_weight = self.force_cast_weights m.to(device_to) module_mem += move_weight_functions(m, device_to) if lowvram_possible: @@ -775,7 +789,9 @@ class ModelPatcher: if bias_key in self.patches: m.bias_function.append(LowVramPatch(bias_key, self.patches)) patch_counter += 1 + cast_weight = True + if cast_weight: m.prev_comfy_cast_weights = m.comfy_cast_weights m.comfy_cast_weights = True m.comfy_patched_weights = False From 042a905c3791e466327764b79748cf26738a4c26 Mon Sep 17 00:00:00 2001 From: Robin Huang Date: Thu, 13 Feb 2025 17:39:04 -0800 Subject: [PATCH 48/78] Open yaml files with utf-8 encoding for extra_model_paths.yaml (#6807) * Using utf-8 encoding for yaml files. * Fix test assertion. --- tests-unit/utils/extra_config_test.py | 2 +- utils/extra_config.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests-unit/utils/extra_config_test.py b/tests-unit/utils/extra_config_test.py index b23f5bd08..6d232079e 100644 --- a/tests-unit/utils/extra_config_test.py +++ b/tests-unit/utils/extra_config_test.py @@ -114,7 +114,7 @@ def test_load_extra_model_paths_expands_userpath( mock_yaml_safe_load.assert_called_once() # Check if open was called with the correct file path - mock_file.assert_called_once_with(dummy_yaml_file_name, 'r') + mock_file.assert_called_once_with(dummy_yaml_file_name, 'r', encoding='utf-8') @patch('builtins.open', new_callable=mock_open) diff --git a/utils/extra_config.py b/utils/extra_config.py index d7b592855..b7196e36f 100644 --- a/utils/extra_config.py +++ b/utils/extra_config.py @@ -4,7 +4,7 @@ import folder_paths import logging def load_extra_path_config(yaml_path): - with open(yaml_path, 'r') as stream: + with open(yaml_path, 'r', encoding='utf-8') as stream: config = yaml.safe_load(stream) yaml_dir = os.path.dirname(os.path.abspath(yaml_path)) for c in config: From d7b4bf21a2decf2cbbd6fd8b128c37d8fada15d6 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Fri, 14 Feb 2025 04:17:56 -0500 Subject: [PATCH 49/78] Auto enable mem efficient attention on gfx1100 on pytorch nightly 2.7 I'm not not sure which arches are supported yet. If you see improvements in memory usage while using --use-pytorch-cross-attention on your AMD GPU let me know and I will add it to the list. --- comfy/model_management.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/comfy/model_management.py b/comfy/model_management.py index 212ce9af2..dd8a2a28f 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -236,6 +236,19 @@ try: except: pass + +try: + if is_amd(): + arch = torch.cuda.get_device_properties(get_torch_device()).gcnArchName + logging.info("AMD arch: {}".format(arch)) + if args.use_split_cross_attention == False and args.use_quad_cross_attention == False: + if int(torch_version[0]) >= 2 and int(torch_version[2]) >= 7: # works on 2.6 but doesn't actually seem to improve much + if arch in ["gfx1100"]: #TODO: more arches + ENABLE_PYTORCH_ATTENTION = True +except: + pass + + if ENABLE_PYTORCH_ATTENTION: torch.backends.cuda.enable_math_sdp(True) torch.backends.cuda.enable_flash_sdp(True) From 1cd6cd608086a8ff8789b747b8d4f8b9273e576e Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Fri, 14 Feb 2025 05:42:14 -0500 Subject: [PATCH 50/78] Disable pytorch attention in VAE for AMD. --- comfy/ldm/modules/diffusionmodules/model.py | 2 +- comfy/model_management.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/comfy/ldm/modules/diffusionmodules/model.py b/comfy/ldm/modules/diffusionmodules/model.py index 3bf83a7e2..8162742cf 100644 --- a/comfy/ldm/modules/diffusionmodules/model.py +++ b/comfy/ldm/modules/diffusionmodules/model.py @@ -297,7 +297,7 @@ def vae_attention(): if model_management.xformers_enabled_vae(): logging.info("Using xformers attention in VAE") return xformers_attention - elif model_management.pytorch_attention_enabled(): + elif model_management.pytorch_attention_enabled_vae(): logging.info("Using pytorch attention in VAE") return pytorch_attention else: diff --git a/comfy/model_management.py b/comfy/model_management.py index dd8a2a28f..fb924f432 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -912,6 +912,11 @@ def pytorch_attention_enabled(): global ENABLE_PYTORCH_ATTENTION return ENABLE_PYTORCH_ATTENTION +def pytorch_attention_enabled_vae(): + if is_amd(): + return False # enabling pytorch attention on AMD currently causes crash when doing high res + return pytorch_attention_enabled() + def pytorch_attention_flash_attention(): global ENABLE_PYTORCH_ATTENTION if ENABLE_PYTORCH_ATTENTION: From 2e21122aab0a73b4d7006b4b0ead93291efd7fec Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sat, 15 Feb 2025 04:15:37 -0500 Subject: [PATCH 51/78] Add a node to set the model compute dtype for debugging. --- comfy_extras/nodes_model_advanced.py | 21 +++++++++++++++++++++ node_helpers.py | 9 +++++++++ 2 files changed, 30 insertions(+) diff --git a/comfy_extras/nodes_model_advanced.py b/comfy_extras/nodes_model_advanced.py index 33f3face1..ceac5654b 100644 --- a/comfy_extras/nodes_model_advanced.py +++ b/comfy_extras/nodes_model_advanced.py @@ -3,6 +3,8 @@ import comfy.model_sampling import comfy.latent_formats import nodes import torch +import node_helpers + class LCM(comfy.model_sampling.EPS): def calculate_denoised(self, sigma, model_output, model_input): @@ -294,6 +296,24 @@ class RescaleCFG: m.set_model_sampler_cfg_function(rescale_cfg) return (m, ) +class ModelComputeDtype: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "dtype": (["default", "fp32", "fp16", "bf16"],), + }} + + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/debug/model" + + def patch(self, model, dtype): + m = model.clone() + m.set_model_compute_dtype(node_helpers.string_to_torch_dtype(dtype)) + return (m, ) + + NODE_CLASS_MAPPINGS = { "ModelSamplingDiscrete": ModelSamplingDiscrete, "ModelSamplingContinuousEDM": ModelSamplingContinuousEDM, @@ -303,4 +323,5 @@ NODE_CLASS_MAPPINGS = { "ModelSamplingAuraFlow": ModelSamplingAuraFlow, "ModelSamplingFlux": ModelSamplingFlux, "RescaleCFG": RescaleCFG, + "ModelComputeDtype": ModelComputeDtype, } diff --git a/node_helpers.py b/node_helpers.py index 4b38bfff8..48da3b099 100644 --- a/node_helpers.py +++ b/node_helpers.py @@ -1,4 +1,5 @@ import hashlib +import torch from comfy.cli_args import args @@ -35,3 +36,11 @@ def hasher(): "sha512": hashlib.sha512 } return hashfuncs[args.default_hashing_function] + +def string_to_torch_dtype(string): + if string == "fp32": + return torch.float32 + if string == "fp16": + return torch.float16 + if string == "bf16": + return torch.bfloat16 From b3d6ae15b303df46d303d31bc18a38eaa32ce00f Mon Sep 17 00:00:00 2001 From: Comfy Org PR Bot Date: Sat, 15 Feb 2025 18:32:47 +0900 Subject: [PATCH 52/78] Update frontend to v1.9.17 (#6814) Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com> --- ...111_1A.js => BaseViewTemplate-DlGljfEG.js} | 6 +- web/assets/DesktopStartView-B2BMUZxW.js | 19 + web/assets/DesktopStartView-FKlxS2Lt.js | 22 - web/assets/DesktopUpdateView-CxchaIvw.css | 20 + web/assets/DesktopUpdateView-DWsew03S.js | 58 + ...VXUne-M.js => DownloadGitView-SPK8AXQU.js} | 6 +- ...iPOrhDVM.js => ExtensionPanel-1HZtMFvH.js} | 8 +- ...ew-CVCdiww1.css => GraphView-Bo28XDd0.css} | 123 +- ...View-D9ZzDQZV.js => GraphView-CLFBgoGf.js} | 2127 ++-- ...ew-CVZcZZXJ.js => InstallView-x9XCq0hC.js} | 52 +- ...eHhC2F4.js => KeybindingPanel-BIrxefrS.js} | 26 +- web/assets/KeybindingPanel-CDYVPYDp.css | 8 + web/assets/KeybindingPanel-DvrUYZ4S.css | 8 - ...f7CHNWW.js => MaintenanceView-BUmTZX1d.js} | 1426 +-- ..._Vr6o.css => MaintenanceView-DEJCj8SR.css} | 4 +- ...js => ManualConfigurationView-D3on5kXY.js} | 6 +- ...gqrS.js => MetricsConsentView-DK20ednB.js} | 6 +- ...pntA4x.js => NotSupportedView-BzM0uuqA.js} | 6 +- ...I5M9c.js => ServerConfigPanel-D0jTW_iX.js} | 6 +- ...pH4TXPO.js => ServerStartView-BENqs5bD.js} | 8 +- ...wVDQY.css => ServerStartView-BZ7uhZHv.css} | 2 +- web/assets/TerminalOutputDrawer-BgTEspHP.js | 1061 ++ ...wxa07xPk.js => UserSelectView-CRPNAEVJ.js} | 6 +- ...ew-BrXELNIm.js => WelcomeView-Cvtvw05C.js} | 6 +- .../{index-BNlqgrYT.js => index-A-dAhghd.js} | 4 +- web/assets/index-B0BQ8jlU.js | 618 + .../{index-DXE47DZl.js => index-BTHx8UHZ.js} | 4 +- ...{index-C1Hb_Yo9.css => index-CBxvvAzM.css} | 343 +- .../{index-BYzwFNH3.js => index-D9D9jjLT.js} | 1239 +- .../{index-DKIv7atk.js => index-DSWvxALN.js} | 1032 +- .../{index-DqqhYDnY.js => index-DqXp9vW4.js} | 10596 +++++++++------- .../{index-BapOFhAR.js => index-KUUE4Ew8.js} | 6 +- ...Cutrm.js => keybindingService-DgS0S2M6.js} | 6 +- ...DJVFt.js => serverConfigStore-C8uoM7Sm.js} | 4 +- web/index.html | 4 +- web/scripts/domWidget.js | 2 + web/templates/image2image.json | 6 +- 37 files changed, 10547 insertions(+), 8337 deletions(-) rename web/assets/{BaseViewTemplate-Cz111_1A.js => BaseViewTemplate-DlGljfEG.js} (82%) create mode 100644 web/assets/DesktopStartView-B2BMUZxW.js delete mode 100644 web/assets/DesktopStartView-FKlxS2Lt.js create mode 100644 web/assets/DesktopUpdateView-CxchaIvw.css create mode 100644 web/assets/DesktopUpdateView-DWsew03S.js rename web/assets/{DownloadGitView-DVXUne-M.js => DownloadGitView-SPK8AXQU.js} (92%) rename web/assets/{ExtensionPanel-iPOrhDVM.js => ExtensionPanel-1HZtMFvH.js} (93%) rename web/assets/{GraphView-CVCdiww1.css => GraphView-Bo28XDd0.css} (65%) rename web/assets/{GraphView-D9ZzDQZV.js => GraphView-CLFBgoGf.js} (88%) rename web/assets/{InstallView-CVZcZZXJ.js => InstallView-x9XCq0hC.js} (95%) rename web/assets/{KeybindingPanel-CeHhC2F4.js => KeybindingPanel-BIrxefrS.js} (90%) create mode 100644 web/assets/KeybindingPanel-CDYVPYDp.css delete mode 100644 web/assets/KeybindingPanel-DvrUYZ4S.css rename web/assets/{MaintenanceView-Df7CHNWW.js => MaintenanceView-BUmTZX1d.js} (97%) rename web/assets/{MaintenanceView-Bj5_Vr6o.css => MaintenanceView-DEJCj8SR.css} (95%) rename web/assets/{ManualConfigurationView-Cz0_f_T-.js => ManualConfigurationView-D3on5kXY.js} (92%) rename web/assets/{MetricsConsentView-B5NlgqrS.js => MetricsConsentView-DK20ednB.js} (88%) rename web/assets/{NotSupportedView-BUpntA4x.js => NotSupportedView-BzM0uuqA.js} (95%) rename web/assets/{ServerConfigPanel-B1lI5M9c.js => ServerConfigPanel-D0jTW_iX.js} (94%) rename web/assets/{ServerStartView-BpH4TXPO.js => ServerStartView-BENqs5bD.js} (92%) rename web/assets/{ServerStartView-CJiwVDQY.css => ServerStartView-BZ7uhZHv.css} (64%) create mode 100644 web/assets/TerminalOutputDrawer-BgTEspHP.js rename web/assets/{UserSelectView-wxa07xPk.js => UserSelectView-CRPNAEVJ.js} (91%) rename web/assets/{WelcomeView-BrXELNIm.js => WelcomeView-Cvtvw05C.js} (87%) rename web/assets/{index-BNlqgrYT.js => index-A-dAhghd.js} (98%) create mode 100644 web/assets/index-B0BQ8jlU.js rename web/assets/{index-DXE47DZl.js => index-BTHx8UHZ.js} (91%) rename web/assets/{index-C1Hb_Yo9.css => index-CBxvvAzM.css} (92%) rename web/assets/{index-BYzwFNH3.js => index-D9D9jjLT.js} (98%) rename web/assets/{index-DKIv7atk.js => index-DSWvxALN.js} (85%) rename web/assets/{index-DqqhYDnY.js => index-DqXp9vW4.js} (97%) rename web/assets/{index-BapOFhAR.js => index-KUUE4Ew8.js} (99%) rename web/assets/{keybindingService-DEgCutrm.js => keybindingService-DgS0S2M6.js} (93%) rename web/assets/{serverConfigStore-Kb5DJVFt.js => serverConfigStore-C8uoM7Sm.js} (95%) create mode 100644 web/scripts/domWidget.js diff --git a/web/assets/BaseViewTemplate-Cz111_1A.js b/web/assets/BaseViewTemplate-DlGljfEG.js similarity index 82% rename from web/assets/BaseViewTemplate-Cz111_1A.js rename to web/assets/BaseViewTemplate-DlGljfEG.js index 74515b87c..9bf3787d3 100644 --- a/web/assets/BaseViewTemplate-Cz111_1A.js +++ b/web/assets/BaseViewTemplate-DlGljfEG.js @@ -1,4 +1,4 @@ -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-DqqhYDnY.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-DqXp9vW4.js"; const _hoisted_1 = { class: "flex-grow w-full flex items-center justify-center overflow-auto" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "BaseViewTemplate", @@ -27,7 +27,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ }); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", { - class: normalizeClass(["font-sans w-screen h-screen flex flex-col pointer-events-auto", [ + class: normalizeClass(["font-sans w-screen h-screen flex flex-col", [ props.dark ? "text-neutral-300 bg-neutral-900 dark-theme" : "text-neutral-900 bg-neutral-300" ]]) }, [ @@ -48,4 +48,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as _ }; -//# sourceMappingURL=BaseViewTemplate-Cz111_1A.js.map +//# sourceMappingURL=BaseViewTemplate-DlGljfEG.js.map diff --git a/web/assets/DesktopStartView-B2BMUZxW.js b/web/assets/DesktopStartView-B2BMUZxW.js new file mode 100644 index 000000000..7fdd14876 --- /dev/null +++ b/web/assets/DesktopStartView-B2BMUZxW.js @@ -0,0 +1,19 @@ +import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, k as createVNode, j as unref, bE as script } from "./index-DqXp9vW4.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.js"; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DesktopStartView", + setup(__props) { + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { dark: "" }, { + default: withCtx(() => [ + createVNode(unref(script), { class: "m-8 w-48 h-48" }) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=DesktopStartView-B2BMUZxW.js.map diff --git a/web/assets/DesktopStartView-FKlxS2Lt.js b/web/assets/DesktopStartView-FKlxS2Lt.js deleted file mode 100644 index b8b847632..000000000 --- a/web/assets/DesktopStartView-FKlxS2Lt.js +++ /dev/null @@ -1,22 +0,0 @@ -import { d as defineComponent, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, k as createVNode, j as unref, bz as script } from "./index-DqqhYDnY.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.js"; -const _hoisted_1 = { class: "max-w-screen-sm w-screen p-8" }; -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "DesktopStartView", - setup(__props) { - return (_ctx, _cache) => { - return openBlock(), createBlock(_sfc_main$1, { dark: "" }, { - default: withCtx(() => [ - createBaseVNode("div", _hoisted_1, [ - createVNode(unref(script), { mode: "indeterminate" }) - ]) - ]), - _: 1 - }); - }; - } -}); -export { - _sfc_main as default -}; -//# sourceMappingURL=DesktopStartView-FKlxS2Lt.js.map diff --git a/web/assets/DesktopUpdateView-CxchaIvw.css b/web/assets/DesktopUpdateView-CxchaIvw.css new file mode 100644 index 000000000..e85cbfae6 --- /dev/null +++ b/web/assets/DesktopUpdateView-CxchaIvw.css @@ -0,0 +1,20 @@ + +.download-bg[data-v-8d77828d]::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 +} diff --git a/web/assets/DesktopUpdateView-DWsew03S.js b/web/assets/DesktopUpdateView-DWsew03S.js new file mode 100644 index 000000000..dec3d41f2 --- /dev/null +++ b/web/assets/DesktopUpdateView-DWsew03S.js @@ -0,0 +1,58 @@ +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-DqXp9vW4.js"; +import { s as script$2 } from "./index-B0BQ8jlU.js"; +import { _ as _sfc_main$1 } from "./TerminalOutputDrawer-BgTEspHP.js"; +import { _ as _sfc_main$2 } from "./BaseViewTemplate-DlGljfEG.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" }; +const _hoisted_4 = { class: "m-8" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DesktopUpdateView", + setup(__props) { + const electron = electronAPI(); + const terminalVisible = ref(false); + const toggleConsoleDrawer = /* @__PURE__ */ __name(() => { + terminalVisible.value = !terminalVisible.value; + }, "toggleConsoleDrawer"); + onUnmounted(() => electron.Validation.dispose()); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$2, { dark: "" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("div", _hoisted_2, [ + createBaseVNode("h1", _hoisted_3, toDisplayString(unref(t)("desktopUpdate.title")), 1), + createBaseVNode("div", _hoisted_4, [ + createBaseVNode("span", null, toDisplayString(unref(t)("desktopUpdate.description")), 1) + ]), + createVNode(unref(script), { class: "m-8 w-48 h-48" }), + createVNode(unref(script$1), { + style: { "transform": "translateX(-50%)" }, + class: "fixed bottom-0 left-1/2 my-8", + label: unref(t)("maintenance.consoleLogs"), + icon: "pi pi-desktop", + "icon-pos": "left", + severity: "secondary", + onClick: toggleConsoleDrawer + }, null, 8, ["label"]), + createVNode(_sfc_main$1, { + modelValue: terminalVisible.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => terminalVisible.value = $event), + header: unref(t)("g.terminal"), + "default-message": unref(t)("desktopUpdate.terminalDefaultMessage") + }, null, 8, ["modelValue", "header", "default-message"]) + ]) + ]), + createVNode(unref(script$2)) + ]), + _: 1 + }); + }; + } +}); +const DesktopUpdateView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8d77828d"]]); +export { + DesktopUpdateView as default +}; +//# sourceMappingURL=DesktopUpdateView-DWsew03S.js.map diff --git a/web/assets/DownloadGitView-DVXUne-M.js b/web/assets/DownloadGitView-SPK8AXQU.js similarity index 92% rename from web/assets/DownloadGitView-DVXUne-M.js rename to web/assets/DownloadGitView-SPK8AXQU.js index 9d879bd3e..1b7d7e0c0 100644 --- a/web/assets/DownloadGitView-DVXUne-M.js +++ b/web/assets/DownloadGitView-SPK8AXQU.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqqhYDnY.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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-DqXp9vW4.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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" }; @@ -55,4 +55,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=DownloadGitView-DVXUne-M.js.map +//# sourceMappingURL=DownloadGitView-SPK8AXQU.js.map diff --git a/web/assets/ExtensionPanel-iPOrhDVM.js b/web/assets/ExtensionPanel-1HZtMFvH.js similarity index 93% rename from web/assets/ExtensionPanel-iPOrhDVM.js rename to web/assets/ExtensionPanel-1HZtMFvH.js index 4f4660193..99adb239b 100644 --- a/web/assets/ExtensionPanel-iPOrhDVM.js +++ b/web/assets/ExtensionPanel-1HZtMFvH.js @@ -1,8 +1,8 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, U as ref, dl as FilterMatchMode, dr as useExtensionStore, a as useSettingStore, p as onMounted, c as computed, o as openBlock, y as createBlock, z as withCtx, k as createVNode, dm 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, dn as _sfc_main$1 } from "./index-DqqhYDnY.js"; -import { g as script$2, h as script$6 } from "./index-BapOFhAR.js"; -import "./index-DXE47DZl.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-DqXp9vW4.js"; +import { g as script$2, h as script$6 } from "./index-KUUE4Ew8.js"; +import "./index-BTHx8UHZ.js"; const _hoisted_1 = { class: "flex justify-end" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "ExtensionPanel", @@ -179,4 +179,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ExtensionPanel-iPOrhDVM.js.map +//# sourceMappingURL=ExtensionPanel-1HZtMFvH.js.map diff --git a/web/assets/GraphView-CVCdiww1.css b/web/assets/GraphView-Bo28XDd0.css similarity index 65% rename from web/assets/GraphView-CVCdiww1.css rename to web/assets/GraphView-Bo28XDd0.css index 765b2a0e7..aab80799b 100644 --- a/web/assets/GraphView-CVCdiww1.css +++ b/web/assets/GraphView-Bo28XDd0.css @@ -1,6 +1,5 @@ -.comfy-menu-hamburger[data-v-7ed57d1a] { - pointer-events: auto; +.comfy-menu-hamburger[data-v-82120b51] { position: fixed; z-index: 9999; display: flex; @@ -41,19 +40,19 @@ z-index: 999; } -.p-buttongroup-vertical[data-v-cb8f9a1a] { +.p-buttongroup-vertical[data-v-27a9500c] { display: flex; flex-direction: column; border-radius: var(--p-button-border-radius); overflow: hidden; border: 1px solid var(--p-panel-border-color); } -.p-buttongroup-vertical .p-button[data-v-cb8f9a1a] { +.p-buttongroup-vertical .p-button[data-v-27a9500c] { margin: 0; border-radius: 0; } -.node-tooltip[data-v-46859edf] { +.node-tooltip[data-v-f03142eb] { background: var(--comfy-input-bg); border-radius: 5px; box-shadow: 0 0 5px rgba(0, 0, 0, 0.4); @@ -133,13 +132,11 @@ border-right: 4px solid var(--p-button-text-primary-color); } -.side-tool-bar-container[data-v-33cac83a] { +.side-tool-bar-container[data-v-04875455] { display: flex; flex-direction: column; align-items: center; - pointer-events: auto; - width: var(--sidebar-width); height: 100%; @@ -150,16 +147,16 @@ --sidebar-width: 4rem; --sidebar-icon-size: 1.5rem; } -.side-tool-bar-container.small-sidebar[data-v-33cac83a] { +.side-tool-bar-container.small-sidebar[data-v-04875455] { --sidebar-width: 2.5rem; --sidebar-icon-size: 1rem; } -.side-tool-bar-end[data-v-33cac83a] { +.side-tool-bar-end[data-v-04875455] { align-self: flex-end; margin-top: auto; } -.status-indicator[data-v-8d011a31] { +.status-indicator[data-v-fd6ae3af] { position: absolute; font-weight: 700; font-size: 1.5rem; @@ -221,7 +218,7 @@ border-radius: 0px } -[data-v-38831d8e] .workflow-tabs { +[data-v-6ab68035] .workflow-tabs { background-color: var(--comfy-menu-bg); } @@ -235,31 +232,36 @@ border-bottom-right-radius: 0; } -.actionbar[data-v-915e5456] { +.actionbar[data-v-ebd56d51] { pointer-events: all; position: fixed; z-index: 1000; } -.actionbar.is-docked[data-v-915e5456] { +.actionbar.is-docked[data-v-ebd56d51] { position: static; border-style: none; background-color: transparent; padding: 0px; } -.actionbar.is-dragging[data-v-915e5456] { +.actionbar.is-dragging[data-v-ebd56d51] { -webkit-user-select: none; -moz-user-select: none; user-select: none; } -[data-v-915e5456] .p-panel-content { +[data-v-ebd56d51] .p-panel-content { padding: 0.25rem; } -.is-docked[data-v-915e5456] .p-panel-content { +.is-docked[data-v-ebd56d51] .p-panel-content { padding: 0px; } -[data-v-915e5456] .p-panel-header { +[data-v-ebd56d51] .p-panel-header { display: none; } +.drag-handle[data-v-ebd56d51] { + height: -moz-max-content; + height: max-content; + width: 0.75rem; +} .top-menubar[data-v-56df69d2] .p-menubar-item-link svg { display: none; @@ -275,7 +277,7 @@ border-style: solid; } -.comfyui-menu[data-v-929e7543] { +.comfyui-menu[data-v-68d3b5b9] { width: 100vw; height: var(--comfy-topbar-height); background: var(--comfy-menu-bg); @@ -288,19 +290,94 @@ order: 0; grid-column: 1/-1; } -.comfyui-menu.dropzone[data-v-929e7543] { +.comfyui-menu.dropzone[data-v-68d3b5b9] { background: var(--p-highlight-background); } -.comfyui-menu.dropzone-active[data-v-929e7543] { +.comfyui-menu.dropzone-active[data-v-68d3b5b9] { background: var(--p-highlight-background-focus); } -[data-v-929e7543] .p-menubar-item-label { +[data-v-68d3b5b9] .p-menubar-item-label { line-height: revert; } -.comfyui-logo[data-v-929e7543] { +.comfyui-logo[data-v-68d3b5b9] { font-size: 1.2em; -webkit-user-select: none; -moz-user-select: none; user-select: none; cursor: default; } + +.comfyui-body[data-v-e89d9273] { + grid-template-columns: auto 1fr auto; + grid-template-rows: auto 1fr auto; +} + +/** + +------------------+------------------+------------------+ + | | + | .comfyui-body- | + | top | + | (spans all cols) | + | | + +------------------+------------------+------------------+ + | | | | + | .comfyui-body- | #graph-canvas | .comfyui-body- | + | left | | right | + | | | | + | | | | + +------------------+------------------+------------------+ + | | + | .comfyui-body- | + | bottom | + | (spans all cols) | + | | + +------------------+------------------+------------------+ +*/ +.comfyui-body-top[data-v-e89d9273] { + order: -5; + /* Span across all columns */ + grid-column: 1/-1; + /* Position at the first row */ + grid-row: 1; + /* Top menu bar dropdown needs to be above of graph canvas splitter overlay which is z-index: 999 */ + /* Top menu bar z-index needs to be higher than bottom menu bar z-index as by default + pysssss's image feed is located at body-bottom, and it can overlap with the queue button, which + is located in body-top. */ + z-index: 1001; + display: flex; + flex-direction: column; +} +.comfyui-body-left[data-v-e89d9273] { + order: -4; + /* Position in the first column */ + grid-column: 1; + /* Position below the top element */ + grid-row: 2; + z-index: 10; + display: flex; +} +.graph-canvas-container[data-v-e89d9273] { + width: 100%; + height: 100%; + order: -3; + grid-column: 2; + grid-row: 2; + position: relative; + overflow: hidden; +} +.comfyui-body-right[data-v-e89d9273] { + order: -2; + z-index: 10; + grid-column: 3; + grid-row: 2; +} +.comfyui-body-bottom[data-v-e89d9273] { + order: 4; + /* Span across all columns */ + grid-column: 1/-1; + grid-row: 3; + /* Bottom menu bar dropdown needs to be above of graph canvas splitter overlay which is z-index: 999 */ + z-index: 1000; + display: flex; + flex-direction: column; +} diff --git a/web/assets/GraphView-D9ZzDQZV.js b/web/assets/GraphView-CLFBgoGf.js similarity index 88% rename from web/assets/GraphView-D9ZzDQZV.js rename to web/assets/GraphView-CLFBgoGf.js index 5083b86f7..900a8cc86 100644 --- a/web/assets/GraphView-D9ZzDQZV.js +++ b/web/assets/GraphView-CLFBgoGf.js @@ -1,10 +1,11 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script, m as createBaseVNode, n as normalizeStyle, _ as _export_sfc, p as onMounted, q as onBeforeUnmount, t as useSidebarTabStore, x as useBottomPanelStore, y as createBlock, z as withCtx, A as renderSlot, B as createCommentVNode, C as resolveDynamicComponent, F as Fragment, D as renderList, E as toDisplayString, G as script$5, H as markRaw, I as defineStore, J as shallowRef, K as useI18n, L as useCommandStore, M as LiteGraph, N as useColorPaletteStore, O as watch, P as useNodeDefStore, Q as BadgePosition, R as LGraphBadge, S as _, T as NodeBadgeMode, U as ref, V as useEventListener, W as nextTick, X as st, Y as normalizeI18nKey, Z as LGraphGroup, $ as LGraphNode, a0 as EditableText, a1 as useNodeFrequencyStore, a2 as useNodeBookmarkStore, a3 as highlightQuery, a4 as script$8, a5 as formatNumberWithSuffix, a6 as NodeSourceType, a7 as createTextVNode, a8 as script$9, a9 as NodePreview, aa as NodeSearchFilter, ab as script$a, ac as SearchFilterChip, ad as useLitegraphService, ae as storeToRefs, af as isRef, ag as toRaw, ah as LinkReleaseTriggerAction, ai as normalizeClass, aj as useUserStore, ak as useDialogStore, al as SettingDialogHeader, am as SettingDialogContent, an as useKeybindingStore, ao as Teleport, ap as usePragmaticDraggable, aq as usePragmaticDroppable, ar as withModifiers, as as mergeProps, at as useWorkflowService, au as useWorkflowBookmarkStore, av as script$c, aw as script$d, ax as script$e, ay as LinkMarkerShape, az as useModelToNodeStore, aA as ComfyNodeDefImpl, aB as ComfyModelDef, aC as LGraph, aD as LLink, aE as DragAndScale, aF as LGraphCanvas, aG as ContextMenu, aH as api, aI as getStorageValue, aJ as useModelStore, aK as setStorageValue, aL as CanvasPointer, aM as IS_CONTROL_WIDGET, aN as updateControlWidgetLabel, aO as useColorPaletteService, aP as ChangeTracker, aQ as i18n, aR as useToast, aS as useToastStore, aT as useQueueSettingsStore, aU as script$g, aV as useQueuePendingTaskCountStore, aW as useLocalStorage, aX as useDraggable, aY as watchDebounced, aZ as inject, a_ as useElementBounding, a$ as script$i, b0 as lodashExports, b1 as useEventBus, b2 as useMenuItemStore, b3 as provide, b4 as isElectron, b5 as electronAPI, b6 as isNativeWindow, b7 as useDialogService, b8 as LGraphEventMode, b9 as useQueueStore, ba as DEFAULT_DARK_COLOR_PALETTE, bb as DEFAULT_LIGHT_COLOR_PALETTE, bc as t, bd as useErrorHandling } from "./index-DqqhYDnY.js"; -import { s as script$1, a as script$2, b as script$3, c as script$4, d as script$6, e as script$7, f as script$b, g as script$f, h as script$h, i as script$j } from "./index-DKIv7atk.js"; -import { u as useKeybindingService } from "./keybindingService-DEgCutrm.js"; -import { u as useServerConfigStore } from "./serverConfigStore-Kb5DJVFt.js"; -import "./index-DXE47DZl.js"; +import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script, m as createBaseVNode, n as normalizeStyle, _ as _export_sfc, p as onMounted, q as onBeforeUnmount, t as useSidebarTabStore, x as useBottomPanelStore, y as createBlock, z as withCtx, A as renderSlot, B as createCommentVNode, C as resolveDynamicComponent, F as Fragment, D as renderList, E as toDisplayString, G as script$5, H as markRaw, I as useI18n, J as useCommandStore, K as useCanvasStore, L as LiteGraph, M as useColorPaletteStore, N as watch, O as useNodeDefStore, P as BadgePosition, Q as LGraphBadge, R as _, S as NodeBadgeMode, T as ref, U as useEventListener, V as nextTick, W as st, X as normalizeI18nKey, Y as useTitleEditorStore, Z as LGraphGroup, $ as LGraphNode, a0 as EditableText, a1 as defineStore, a2 as useNodeFrequencyStore, a3 as useNodeBookmarkStore, a4 as highlightQuery, a5 as script$8, a6 as formatNumberWithSuffix, a7 as NodeSourceType, a8 as createTextVNode, a9 as script$9, aa as NodePreview, ab as NodeSearchFilter, ac as script$a, ad as SearchFilterChip, ae as useLitegraphService, af as storeToRefs, ag as isRef, ah as toRaw, ai as LinkReleaseTriggerAction, aj as normalizeClass, ak as useUserStore, al as useDialogStore, am as SettingDialogHeader, an as SettingDialogContent, ao as useKeybindingStore, ap as Teleport, aq as usePragmaticDraggable, ar as usePragmaticDroppable, as as withModifiers, at as mergeProps, au as useWorkflowService, av as useWorkflowBookmarkStore, aw as script$c, ax as script$d, ay as script$e, az as useModelToNodeStore, aA as ComfyNodeDefImpl, aB as ComfyModelDef, aC as ComfyWorkflow, aD as LGraphCanvas, aE as te, aF as LGraph, aG as LLink, aH as DragAndScale, aI as ContextMenu, aJ as CanvasPointer, aK as isImageNode, aL as api, aM as getStorageValue, aN as useModelStore, aO as setStorageValue, aP as LinkMarkerShape, aQ as IS_CONTROL_WIDGET, aR as updateControlWidgetLabel, aS as useColorPaletteService, aT as ChangeTracker, aU as i18n, aV as useToast, aW as useToastStore, aX as useQueueSettingsStore, aY as script$g, aZ as useQueuePendingTaskCountStore, a_ as useLocalStorage, a$ as useDraggable, b0 as watchDebounced, b1 as inject, b2 as useElementBounding, b3 as script$i, b4 as lodashExports, b5 as useEventBus, b6 as useMenuItemStore, b7 as provide, b8 as isElectron, b9 as electronAPI, ba as isNativeWindow, bb as useDialogService, bc as LGraphEventMode, bd as useQueueStore, be as DEFAULT_DARK_COLOR_PALETTE, bf as DEFAULT_LIGHT_COLOR_PALETTE, bg as t, bh as useErrorHandling } from "./index-DqXp9vW4.js"; +import { s as script$1, a as script$2, b as script$3, c as script$4, d as script$6, e as script$7, f as script$b, g as script$h, h as script$j } from "./index-DSWvxALN.js"; +import { s as script$f } from "./index-B0BQ8jlU.js"; +import { u as useKeybindingService } from "./keybindingService-DgS0S2M6.js"; +import { u as useServerConfigStore } from "./serverConfigStore-C8uoM7Sm.js"; +import "./index-BTHx8UHZ.js"; const DEFAULT_TITLE = "ComfyUI"; const TITLE_SUFFIX = " - ComfyUI"; const _sfc_main$u = /* @__PURE__ */ defineComponent({ @@ -39,7 +40,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({ }; } }); -const _hoisted_1$j = { class: "window-actions-spacer" }; +const _hoisted_1$k = { class: "window-actions-spacer" }; const _sfc_main$t = /* @__PURE__ */ defineComponent({ __name: "MenuHamburger", setup(__props) { @@ -84,7 +85,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({ }, null, 8, ["aria-label", "onContextmenu"]), [ [_directive_tooltip, { value: _ctx.$t("menu.showMenu"), showDelay: 300 }] ]), - withDirectives(createBaseVNode("div", _hoisted_1$j, null, 512), [ + withDirectives(createBaseVNode("div", _hoisted_1$k, null, 512), [ [vShow, menuSetting.value !== "Bottom"] ]) ], 4)), [ @@ -93,7 +94,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({ }; } }); -const MenuHamburger = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-7ed57d1a"]]); +const MenuHamburger = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-82120b51"]]); const _sfc_main$s = /* @__PURE__ */ defineComponent({ __name: "UnloadWindowConfirmDialog", setup(__props) { @@ -234,17 +235,17 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({ }; } }); -const _hoisted_1$i = { class: "flex flex-col h-full" }; -const _hoisted_2$6 = { class: "w-full flex justify-between" }; -const _hoisted_3$5 = { class: "tabs-container" }; -const _hoisted_4$1 = { class: "font-bold" }; +const _hoisted_1$j = { class: "flex flex-col h-full" }; +const _hoisted_2$7 = { class: "w-full flex justify-between" }; +const _hoisted_3$6 = { class: "tabs-container" }; +const _hoisted_4$2 = { class: "font-bold" }; const _hoisted_5$1 = { class: "flex-grow h-0" }; const _sfc_main$p = /* @__PURE__ */ defineComponent({ __name: "BottomPanel", setup(__props) { const bottomPanelStore = useBottomPanelStore(); return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$i, [ + return openBlock(), createElementBlock("div", _hoisted_1$j, [ createVNode(unref(script$5), { value: unref(bottomPanelStore).activeBottomPanelTabId, "onUpdate:value": _cache[1] || (_cache[1] = ($event) => unref(bottomPanelStore).activeBottomPanelTabId = $event) @@ -252,8 +253,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({ default: withCtx(() => [ createVNode(unref(script$3), { "pt:tabList": "border-none" }, { default: withCtx(() => [ - createBaseVNode("div", _hoisted_2$6, [ - createBaseVNode("div", _hoisted_3$5, [ + createBaseVNode("div", _hoisted_2$7, [ + createBaseVNode("div", _hoisted_3$6, [ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(bottomPanelStore).bottomPanelTabs, (tab) => { return openBlock(), createBlock(unref(script$4), { key: tab.id, @@ -261,7 +262,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({ class: "p-3 border-none" }, { default: withCtx(() => [ - createBaseVNode("span", _hoisted_4$1, toDisplayString(tab.title.toUpperCase()), 1) + createBaseVNode("span", _hoisted_4$2, toDisplayString(tab.title.toUpperCase()), 1) ]), _: 2 }, 1032, ["value"]); @@ -292,13 +293,13 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({ }; } }); -const _hoisted_1$h = { +const _hoisted_1$i = { viewBox: "0 0 1024 1024", width: "1.2em", height: "1.2em" }; function render$7(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$h, _cache[0] || (_cache[0] = [ + return openBlock(), createElementBlock("svg", _hoisted_1$i, _cache[0] || (_cache[0] = [ createBaseVNode("path", { fill: "currentColor", d: "M921.088 103.232L584.832 889.024L465.52 544.512L121.328 440.48zM1004.46.769c-6.096 0-13.52 1.728-22.096 5.36L27.708 411.2c-34.383 14.592-36.56 42.704-4.847 62.464l395.296 123.584l129.36 403.264c9.28 15.184 20.496 22.72 31.263 22.72c11.936 0 23.296-9.152 31.04-27.248l408.272-953.728C1029.148 16.368 1022.86.769 1004.46.769" @@ -307,13 +308,13 @@ function render$7(_ctx, _cache) { } __name(render$7, "render$7"); const __unplugin_components_1$2 = markRaw({ name: "simple-line-icons-cursor", render: render$7 }); -const _hoisted_1$g = { +const _hoisted_1$h = { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em" }; function render$6(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$g, _cache[0] || (_cache[0] = [ + return openBlock(), createElementBlock("svg", _hoisted_1$h, _cache[0] || (_cache[0] = [ createBaseVNode("path", { fill: "currentColor", d: "M10.05 23q-.75 0-1.4-.337T7.575 21.7L1.2 12.375l.6-.575q.475-.475 1.125-.55t1.175.3L7 13.575V4q0-.425.288-.712T8 3t.713.288T9 4v13.425l-3.7-2.6l3.925 5.725q.125.2.35.325t.475.125H17q.825 0 1.413-.587T19 19V5q0-.425.288-.712T20 4t.713.288T21 5v14q0 1.65-1.175 2.825T17 23zM11 12V2q0-.425.288-.712T12 1t.713.288T13 2v10zm4 0V3q0-.425.288-.712T16 2t.713.288T17 3v9zm-2.85 4.5" @@ -322,18 +323,6 @@ function render$6(_ctx, _cache) { } __name(render$6, "render$6"); const __unplugin_components_0$2 = markRaw({ name: "material-symbols-pan-tool-outline", render: render$6 }); -const useTitleEditorStore = defineStore("titleEditor", () => { - const titleEditorTarget = shallowRef(null); - return { - titleEditorTarget - }; -}); -const useCanvasStore = defineStore("canvas", () => { - const canvas = shallowRef(null); - return { - canvas - }; -}); const _sfc_main$o = /* @__PURE__ */ defineComponent({ __name: "GraphCanvasMenu", setup(__props) { @@ -361,7 +350,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({ const _component_i_material_symbols58pan_tool_outline = __unplugin_components_0$2; const _component_i_simple_line_icons58cursor = __unplugin_components_1$2; const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createBlock(unref(script$6), { class: "p-buttongroup-vertical absolute bottom-[10px] right-[10px] z-[1000] pointer-events-auto" }, { + return openBlock(), createBlock(unref(script$6), { class: "p-buttongroup-vertical absolute bottom-[10px] right-[10px] z-[1000]" }, { default: withCtx(() => [ withDirectives(createVNode(unref(script), { severity: "secondary", @@ -445,7 +434,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({ }; } }); -const GraphCanvasMenu = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-cb8f9a1a"]]); +const GraphCanvasMenu = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-27a9500c"]]); const _sfc_main$n = /* @__PURE__ */ defineComponent({ __name: "NodeBadge", setup(__props) { @@ -504,6 +493,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({ setup(__props) { let idleTimeout; const nodeDefStore = useNodeDefStore(); + const settingStore = useSettingStore(); const tooltipRef = ref(); const tooltipText = ref(""); const left = ref(); @@ -573,7 +563,10 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({ hideTooltip(); clearTimeout(idleTimeout); if (e.target.nodeName !== "CANVAS") return; - idleTimeout = window.setTimeout(onIdle, 500); + idleTimeout = window.setTimeout( + onIdle, + settingStore.get("LiteGraph.Node.TooltipDelay") + ); }, "onMouseMove"); useEventListener(window, "mousemove", onMouseMove); useEventListener(window, "click", hideTooltip); @@ -588,7 +581,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({ }; } }); -const NodeTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-46859edf"]]); +const NodeTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-f03142eb"]]); const _sfc_main$l = /* @__PURE__ */ defineComponent({ __name: "TitleEditor", setup(__props) { @@ -802,10 +795,10 @@ const _sfc_main$k = { } } }; -const _hoisted_1$f = { class: "option-container flex justify-between items-center px-2 py-0 cursor-pointer overflow-hidden w-full" }; -const _hoisted_2$5 = { class: "option-display-name font-semibold flex flex-col" }; -const _hoisted_3$4 = { key: 0 }; -const _hoisted_4 = ["innerHTML"]; +const _hoisted_1$g = { class: "option-container flex justify-between items-center px-2 py-0 cursor-pointer overflow-hidden w-full" }; +const _hoisted_2$6 = { class: "option-display-name font-semibold flex flex-col" }; +const _hoisted_3$5 = { key: 0 }; +const _hoisted_4$1 = ["innerHTML"]; const _hoisted_5 = ["innerHTML"]; const _hoisted_6 = { key: 0, @@ -839,15 +832,15 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({ ); const props = __props; return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$f, [ - createBaseVNode("div", _hoisted_2$5, [ + return openBlock(), createElementBlock("div", _hoisted_1$g, [ + createBaseVNode("div", _hoisted_2$6, [ createBaseVNode("div", null, [ - isBookmarked.value ? (openBlock(), createElementBlock("span", _hoisted_3$4, _cache[0] || (_cache[0] = [ + isBookmarked.value ? (openBlock(), createElementBlock("span", _hoisted_3$5, _cache[0] || (_cache[0] = [ createBaseVNode("i", { class: "pi pi-bookmark-fill text-sm mr-1" }, null, -1) ]))) : createCommentVNode("", true), createBaseVNode("span", { innerHTML: unref(highlightQuery)(_ctx.nodeDef.display_name, _ctx.currentQuery) - }, null, 8, _hoisted_4), + }, null, 8, _hoisted_4$1), _cache[1] || (_cache[1] = createBaseVNode("span", null, " ", -1)), showIdName.value ? (openBlock(), createBlock(unref(script$8), { key: 1, @@ -894,12 +887,12 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({ } }); const NodeSearchItem = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-fd0a74bd"]]); -const _hoisted_1$e = { class: "comfy-vue-node-search-container flex justify-center items-center w-full min-w-96 pointer-events-auto" }; -const _hoisted_2$4 = { +const _hoisted_1$f = { class: "comfy-vue-node-search-container flex justify-center items-center w-full min-w-96" }; +const _hoisted_2$5 = { key: 0, class: "comfy-vue-node-preview-container absolute left-[-350px] top-[50px]" }; -const _hoisted_3$3 = { class: "_dialog-body" }; +const _hoisted_3$4 = { class: "_dialog-body" }; const _sfc_main$i = /* @__PURE__ */ defineComponent({ __name: "NodeSearchBox", props: { @@ -962,8 +955,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({ hoveredSuggestion.value = value; }, "setHoverSuggestion"); return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$e, [ - enableNodePreview.value ? (openBlock(), createElementBlock("div", _hoisted_2$4, [ + return openBlock(), createElementBlock("div", _hoisted_1$f, [ + enableNodePreview.value ? (openBlock(), createElementBlock("div", _hoisted_2$5, [ hoveredSuggestion.value ? (openBlock(), createBlock(NodePreview, { nodeDef: hoveredSuggestion.value, key: hoveredSuggestion.value?.name || "" @@ -987,7 +980,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({ createBaseVNode("h3", null, "Add node filter condition", -1) ])), default: withCtx(() => [ - createBaseVNode("div", _hoisted_3$3, [ + createBaseVNode("div", _hoisted_3$4, [ createVNode(NodeSearchFilter, { onAddFilter }) ]) ]), @@ -1354,8 +1347,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({ }; } }); -const _hoisted_1$d = { class: "side-tool-bar-end" }; -const _hoisted_2$3 = { +const _hoisted_1$e = { class: "side-tool-bar-end" }; +const _hoisted_2$4 = { key: 0, class: "sidebar-content-container h-full overflow-y-auto overflow-x-hidden" }; @@ -1400,24 +1393,24 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({ onClick: /* @__PURE__ */ __name(($event) => onTabClick(tab), "onClick") }, null, 8, ["icon", "iconBadge", "tooltip", "selected", "class", "onClick"]); }), 128)), - createBaseVNode("div", _hoisted_1$d, [ + createBaseVNode("div", _hoisted_1$e, [ unref(userStore).isMultiUserServer ? (openBlock(), createBlock(_sfc_main$f, { key: 0 })) : createCommentVNode("", true), createVNode(_sfc_main$d), createVNode(_sfc_main$e) ]) ], 2) ], 8, ["to"])), - selectedTab.value ? (openBlock(), createElementBlock("div", _hoisted_2$3, [ + selectedTab.value ? (openBlock(), createElementBlock("div", _hoisted_2$4, [ createVNode(_sfc_main$q, { extension: selectedTab.value }, null, 8, ["extension"]) ])) : createCommentVNode("", true) ], 64); }; } }); -const SideToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-33cac83a"]]); -const _hoisted_1$c = { class: "workflow-label text-sm max-w-[150px] truncate inline-block" }; -const _hoisted_2$2 = { class: "relative" }; -const _hoisted_3$2 = { +const SideToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-04875455"]]); +const _hoisted_1$d = { class: "workflow-label text-sm max-w-[150px] truncate inline-block" }; +const _hoisted_2$3 = { class: "relative" }; +const _hoisted_3$3 = { key: 0, class: "status-indicator" }; @@ -1429,13 +1422,15 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ }, setup(__props) { const props = __props; + const { t: t2 } = useI18n(); const workspaceStore = useWorkspaceStore(); const workflowStore = useWorkflowStore(); const workflowTabRef = ref(null); const closeWorkflows = /* @__PURE__ */ __name(async (options) => { for (const opt of options) { if (!await useWorkflowService().closeWorkflow(opt.workflow, { - warnIfUnsaved: !workspaceStore.shiftDown + warnIfUnsaved: !workspaceStore.shiftDown, + hint: t2("sideToolbar.workflowTab.dirtyCloseHint") })) { break; } @@ -1477,7 +1472,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ ref_key: "workflowTabRef", ref: workflowTabRef }, _ctx.$attrs), [ - withDirectives((openBlock(), createElementBlock("span", _hoisted_1$c, [ + withDirectives((openBlock(), createElementBlock("span", _hoisted_1$d, [ createTextVNode(toDisplayString(_ctx.workflowOption.workflow.filename), 1) ])), [ [ @@ -1487,8 +1482,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ { bottom: true } ] ]), - createBaseVNode("div", _hoisted_2$2, [ - !unref(workspaceStore).shiftDown && (_ctx.workflowOption.workflow.isModified || !_ctx.workflowOption.workflow.isPersisted) ? (openBlock(), createElementBlock("span", _hoisted_3$2, "•")) : createCommentVNode("", true), + createBaseVNode("div", _hoisted_2$3, [ + !unref(workspaceStore).shiftDown && (_ctx.workflowOption.workflow.isModified || !_ctx.workflowOption.workflow.isPersisted) ? (openBlock(), createElementBlock("span", _hoisted_3$3, "•")) : createCommentVNode("", true), createVNode(unref(script), { class: "close-button p-0 w-auto", icon: "pi pi-times", @@ -1502,8 +1497,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ }; } }); -const WorkflowTab = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-8d011a31"]]); -const _hoisted_1$b = { class: "workflow-tabs-container flex flex-row max-w-full h-full" }; +const WorkflowTab = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-fd6ae3af"]]); +const _hoisted_1$c = { class: "workflow-tabs-container flex flex-row max-w-full h-full" }; const _sfc_main$a = /* @__PURE__ */ defineComponent({ __name: "WorkflowTabs", props: { @@ -1606,7 +1601,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({ }, "handleWheel"); return (_ctx, _cache) => { const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createElementBlock("div", _hoisted_1$b, [ + return openBlock(), createElementBlock("div", _hoisted_1$c, [ createVNode(unref(script$d), { class: "overflow-hidden no-drag", "pt:content": { @@ -1656,18 +1651,448 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({ } }); const WorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-54fadc45"]]); -const _hoisted_1$a = { class: "absolute top-0 left-0 w-auto max-w-full pointer-events-auto" }; +const _hoisted_1$b = { class: "absolute top-0 left-0 w-auto max-w-full" }; const _sfc_main$9 = /* @__PURE__ */ defineComponent({ __name: "SecondRowWorkflowTabs", setup(__props) { return (_ctx, _cache) => { - return openBlock(), createElementBlock("div", _hoisted_1$a, [ + return openBlock(), createElementBlock("div", _hoisted_1$b, [ createVNode(WorkflowTabs) ]); }; } }); -const SecondRowWorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-38831d8e"]]); +const SecondRowWorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-6ab68035"]]); +const useCanvasDrop = /* @__PURE__ */ __name((canvasRef) => { + const modelToNodeStore = useModelToNodeStore(); + const litegraphService = useLitegraphService(); + const workflowService = useWorkflowService(); + usePragmaticDroppable(() => canvasRef.value, { + getDropEffect: /* @__PURE__ */ __name((args) => args.source.data.type === "tree-explorer-node" ? "copy" : "move", "getDropEffect"), + onDrop: /* @__PURE__ */ __name((event) => { + const loc = event.location.current.input; + const dndData = event.source.data; + if (dndData.type === "tree-explorer-node") { + const node = dndData.data; + if (node.data instanceof ComfyNodeDefImpl) { + const nodeDef = node.data; + const pos = app.clientPosToCanvasPos([ + loc.clientX, + loc.clientY + LiteGraph.NODE_TITLE_HEIGHT + ]); + litegraphService.addNodeOnGraph(nodeDef, { pos }); + } else if (node.data instanceof ComfyModelDef) { + const model = node.data; + const pos = app.clientPosToCanvasPos([loc.clientX, loc.clientY]); + const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1]); + let targetProvider = null; + let targetGraphNode = null; + if (nodeAtPos) { + const providers = modelToNodeStore.getAllNodeProviders( + model.directory + ); + for (const provider of providers) { + if (provider.nodeDef.name === nodeAtPos.comfyClass) { + targetGraphNode = nodeAtPos; + targetProvider = provider; + } + } + } + if (!targetGraphNode) { + const provider = modelToNodeStore.getNodeProvider(model.directory); + if (provider) { + targetGraphNode = litegraphService.addNodeOnGraph( + provider.nodeDef, + { + pos + } + ); + targetProvider = provider; + } + } + if (targetGraphNode) { + const widget = targetGraphNode.widgets?.find( + (widget2) => widget2.name === targetProvider?.key + ); + if (widget) { + widget.value = model.file_name; + } + } + } else if (node.data instanceof ComfyWorkflow) { + const workflow = node.data; + const position = app.clientPosToCanvasPos([ + loc.clientX, + loc.clientY + ]); + workflowService.insertWorkflow(workflow, { position }); + } + } + }, "onDrop") + }); +}, "useCanvasDrop"); +const useContextMenuTranslation = /* @__PURE__ */ __name(() => { + const f = LGraphCanvas.prototype.getCanvasMenuOptions; + const getCanvasCenterMenuOptions = /* @__PURE__ */ __name(function(...args) { + const res = f.apply(this, args); + for (const item of res) { + if (item?.content) { + item.content = st(`contextMenu.${item.content}`, item.content); + } + } + return res; + }, "getCanvasCenterMenuOptions"); + LGraphCanvas.prototype.getCanvasMenuOptions = getCanvasCenterMenuOptions; + function translateMenus(values, options) { + if (!values) return; + const reInput = /Convert (.*) to input/; + const reWidget = /Convert (.*) to widget/; + const cvt = st("contextMenu.Convert ", "Convert "); + const tinp = st("contextMenu. to input", " to input"); + const twgt = st("contextMenu. to widget", " to widget"); + for (const value of values) { + if (typeof value === "string") continue; + translateMenus(value?.submenu?.options, options); + if (!value?.content) { + continue; + } + if (te(`contextMenu.${value.content}`)) { + value.content = st(`contextMenu.${value.content}`, value.content); + } + const extraInfo = options.extra || options.parentMenu?.options?.extra; + const matchInput = value.content?.match(reInput); + if (matchInput) { + let match = matchInput[1]; + extraInfo?.inputs?.find((i) => { + if (i.name != match) return false; + match = i.label ? i.label : i.name; + }); + extraInfo?.widgets?.find((i) => { + if (i.name != match) return false; + match = i.label ? i.label : i.name; + }); + value.content = cvt + match + tinp; + continue; + } + const matchWidget = value.content?.match(reWidget); + if (matchWidget) { + let match = matchWidget[1]; + extraInfo?.inputs?.find((i) => { + if (i.name != match) return false; + match = i.label ? i.label : i.name; + }); + extraInfo?.widgets?.find((i) => { + if (i.name != match) return false; + match = i.label ? i.label : i.name; + }); + value.content = cvt + match + twgt; + continue; + } + } + } + __name(translateMenus, "translateMenus"); + const OriginalContextMenu = LiteGraph.ContextMenu; + function ContextMenu2(values, options) { + if (options.title) { + options.title = st( + `nodeDefs.${normalizeI18nKey(options.title)}.display_name`, + options.title + ); + } + translateMenus(values, options); + const ctx = new OriginalContextMenu(values, options); + return ctx; + } + __name(ContextMenu2, "ContextMenu"); + LiteGraph.ContextMenu = ContextMenu2; +}, "useContextMenuTranslation"); +const useCopy = /* @__PURE__ */ __name(() => { + const canvasStore = useCanvasStore(); + useEventListener(document, "copy", (e) => { + if (!(e.target instanceof Element)) { + return; + } + if (e.target instanceof HTMLTextAreaElement && e.target.type === "textarea" || e.target instanceof HTMLInputElement && e.target.type === "text") { + return; + } + const isTargetInGraph = e.target.classList.contains("litegraph") || e.target.classList.contains("graph-canvas-container") || e.target.id === "graph-canvas"; + const canvas = canvasStore.canvas; + if (isTargetInGraph && canvas?.selectedItems) { + canvas.copyToClipboard(); + e.clipboardData?.setData("text", " "); + e.preventDefault(); + e.stopImmediatePropagation(); + return false; + } + }); +}, "useCopy"); +const useGlobalLitegraph = /* @__PURE__ */ __name(() => { + window["LiteGraph"] = LiteGraph; + window["LGraph"] = LGraph; + window["LLink"] = LLink; + window["LGraphNode"] = LGraphNode; + window["LGraphGroup"] = LGraphGroup; + window["DragAndScale"] = DragAndScale; + window["LGraphCanvas"] = LGraphCanvas; + window["ContextMenu"] = ContextMenu; + window["LGraphBadge"] = LGraphBadge; +}, "useGlobalLitegraph"); +const useLitegraphSettings = /* @__PURE__ */ __name(() => { + const settingStore = useSettingStore(); + const canvasStore = useCanvasStore(); + watchEffect(() => { + const canvasInfoEnabled = settingStore.get("Comfy.Graph.CanvasInfo"); + if (canvasStore.canvas) { + canvasStore.canvas.show_info = canvasInfoEnabled; + } + }); + watchEffect(() => { + const zoomSpeed = settingStore.get("Comfy.Graph.ZoomSpeed"); + if (canvasStore.canvas) { + canvasStore.canvas.zoom_speed = zoomSpeed; + } + }); + watchEffect(() => { + LiteGraph.snaps_for_comfy = settingStore.get( + "Comfy.Node.AutoSnapLinkToSlot" + ); + }); + watchEffect(() => { + LiteGraph.snap_highlights_node = settingStore.get( + "Comfy.Node.SnapHighlightsNode" + ); + }); + watchEffect(() => { + LGraphNode.keepAllLinksOnBypass = settingStore.get( + "Comfy.Node.BypassAllLinksOnDelete" + ); + }); + watchEffect(() => { + LiteGraph.middle_click_slot_add_default_node = settingStore.get( + "Comfy.Node.MiddleClickRerouteNode" + ); + }); + watchEffect(() => { + const linkRenderMode = settingStore.get("Comfy.LinkRenderMode"); + if (canvasStore.canvas) { + canvasStore.canvas.links_render_mode = linkRenderMode; + canvasStore.canvas.setDirty( + /* fg */ + false, + /* bg */ + true + ); + } + }); + watchEffect(() => { + const lowQualityRenderingZoomThreshold = settingStore.get( + "LiteGraph.Canvas.LowQualityRenderingZoomThreshold" + ); + if (canvasStore.canvas) { + canvasStore.canvas.low_quality_zoom_threshold = lowQualityRenderingZoomThreshold; + canvasStore.canvas.setDirty( + /* fg */ + true, + /* bg */ + true + ); + } + }); + watchEffect(() => { + const linkMarkerShape = settingStore.get("Comfy.Graph.LinkMarkers"); + const { canvas } = canvasStore; + if (canvas) { + canvas.linkMarkerShape = linkMarkerShape; + canvas.setDirty(false, true); + } + }); + watchEffect(() => { + const reroutesEnabled = settingStore.get("Comfy.RerouteBeta"); + const { canvas } = canvasStore; + if (canvas) { + canvas.reroutesEnabled = reroutesEnabled; + canvas.setDirty(false, true); + } + }); + watchEffect(() => { + const maximumFps = settingStore.get("LiteGraph.Canvas.MaximumFps"); + const { canvas } = canvasStore; + if (canvas) canvas.maximumFps = maximumFps; + }); + watchEffect(() => { + const dragZoomEnabled = settingStore.get("Comfy.Graph.CtrlShiftZoom"); + const { canvas } = canvasStore; + if (canvas) canvas.dragZoomEnabled = dragZoomEnabled; + }); + watchEffect(() => { + CanvasPointer.doubleClickTime = settingStore.get( + "Comfy.Pointer.DoubleClickTime" + ); + }); + watchEffect(() => { + CanvasPointer.bufferTime = settingStore.get("Comfy.Pointer.ClickBufferTime"); + }); + watchEffect(() => { + CanvasPointer.maxClickDrift = settingStore.get("Comfy.Pointer.ClickDrift"); + }); + watchEffect(() => { + LiteGraph.CANVAS_GRID_SIZE = settingStore.get("Comfy.SnapToGrid.GridSize"); + }); + watchEffect(() => { + LiteGraph.alwaysSnapToGrid = settingStore.get("pysssss.SnapToGrid"); + }); + watchEffect(() => { + LiteGraph.context_menu_scaling = settingStore.get( + "LiteGraph.ContextMenu.Scaling" + ); + }); +}, "useLitegraphSettings"); +const usePaste = /* @__PURE__ */ __name(() => { + const workspaceStore = useWorkspaceStore(); + const canvasStore = useCanvasStore(); + useEventListener(document, "paste", async (e) => { + if (workspaceStore.shiftDown) return; + const canvas = canvasStore.canvas; + if (!canvas) return; + const graph = canvas.graph; + let data = e.clipboardData || window.clipboardData; + const items = data.items; + for (const item of items) { + if (item.type.startsWith("image/")) { + let imageNode = null; + const currentNode = canvas.current_node; + if (currentNode && currentNode.is_selected && isImageNode(currentNode)) { + imageNode = currentNode; + } + if (!imageNode) { + const newNode = LiteGraph.createNode("LoadImage"); + newNode.pos = [...canvas.graph_mouse]; + imageNode = graph.add(newNode) ?? null; + graph.change(); + } + const blob = item.getAsFile(); + imageNode?.pasteFile?.(blob); + return; + } + } + data = data.getData("text/plain"); + let workflow = null; + try { + data = data.slice(data.indexOf("{")); + workflow = JSON.parse(data); + } catch (err) { + try { + data = data.slice(data.indexOf("workflow\n")); + data = data.slice(data.indexOf("{")); + workflow = JSON.parse(data); + } catch (error) { + workflow = null; + } + } + if (workflow && workflow.version && workflow.nodes && workflow.extra) { + await app.loadGraphData(workflow); + } else { + if (e.target instanceof HTMLTextAreaElement && e.target.type === "textarea" || e.target instanceof HTMLInputElement && e.target.type === "text") { + return; + } + canvas.pasteFromClipboard(); + } + }); +}, "usePaste"); +function useWorkflowPersistence() { + const workflowStore = useWorkflowStore(); + const settingStore = useSettingStore(); + const persistCurrentWorkflow = /* @__PURE__ */ __name(() => { + const workflow = JSON.stringify(app.serializeGraph()); + localStorage.setItem("workflow", workflow); + if (api.clientId) { + sessionStorage.setItem(`workflow:${api.clientId}`, workflow); + } + }, "persistCurrentWorkflow"); + const loadWorkflowFromStorage = /* @__PURE__ */ __name(async (json, workflowName) => { + if (!json) return false; + const workflow = JSON.parse(json); + await app.loadGraphData(workflow, true, true, workflowName); + return true; + }, "loadWorkflowFromStorage"); + const loadPreviousWorkflowFromStorage = /* @__PURE__ */ __name(async () => { + const workflowName = getStorageValue("Comfy.PreviousWorkflow"); + const clientId = api.initialClientId ?? api.clientId; + if (clientId) { + const sessionWorkflow = sessionStorage.getItem(`workflow:${clientId}`); + if (await loadWorkflowFromStorage(sessionWorkflow, workflowName)) { + return true; + } + } + const localWorkflow = localStorage.getItem("workflow"); + return await loadWorkflowFromStorage(localWorkflow, workflowName); + }, "loadPreviousWorkflowFromStorage"); + const loadDefaultWorkflow = /* @__PURE__ */ __name(async () => { + if (!settingStore.get("Comfy.TutorialCompleted")) { + await settingStore.set("Comfy.TutorialCompleted", true); + await useModelStore().loadModelFolders(); + await useWorkflowService().loadTutorialWorkflow(); + } else { + await app.loadGraphData(); + } + }, "loadDefaultWorkflow"); + const restorePreviousWorkflow = /* @__PURE__ */ __name(async () => { + try { + const restored = await loadPreviousWorkflowFromStorage(); + if (!restored) { + await loadDefaultWorkflow(); + } + } catch (err) { + console.error("Error loading previous workflow", err); + await loadDefaultWorkflow(); + } + }, "restorePreviousWorkflow"); + watchEffect(() => { + if (workflowStore.activeWorkflow) { + const workflow = workflowStore.activeWorkflow; + setStorageValue("Comfy.PreviousWorkflow", workflow.key); + persistCurrentWorkflow(); + } + }); + api.addEventListener("graphChanged", persistCurrentWorkflow); + const openWorkflows = computed(() => workflowStore.openWorkflows); + const activeWorkflow = computed(() => workflowStore.activeWorkflow); + const restoreState = computed( + () => { + if (!openWorkflows.value || !activeWorkflow.value) { + return { paths: [], activeIndex: -1 }; + } + const paths = openWorkflows.value.filter((workflow) => workflow?.isPersisted && !workflow.isModified).map((workflow) => workflow.path); + const activeIndex = openWorkflows.value.findIndex( + (workflow) => workflow.path === activeWorkflow.value?.path + ); + return { paths, activeIndex }; + } + ); + const storedWorkflows = JSON.parse( + getStorageValue("Comfy.OpenWorkflowsPaths") || "[]" + ); + const storedActiveIndex = JSON.parse( + getStorageValue("Comfy.ActiveWorkflowIndex") || "-1" + ); + watch(restoreState, ({ paths, activeIndex }) => { + setStorageValue("Comfy.OpenWorkflowsPaths", JSON.stringify(paths)); + setStorageValue("Comfy.ActiveWorkflowIndex", JSON.stringify(activeIndex)); + }); + const restoreWorkflowTabsState = /* @__PURE__ */ __name(() => { + const isRestorable = storedWorkflows?.length > 0 && storedActiveIndex >= 0; + if (isRestorable) { + workflowStore.openWorkflowsInBackground({ + left: storedWorkflows.slice(0, storedActiveIndex), + right: storedWorkflows.slice(storedActiveIndex) + }); + } + }, "restoreWorkflowTabsState"); + return { + restorePreviousWorkflow, + restoreWorkflowTabsState + }; +} +__name(useWorkflowPersistence, "useWorkflowPersistence"); const CORE_SETTINGS = [ { id: "Comfy.Validation.Workflows", @@ -2018,6 +2443,18 @@ const CORE_SETTINGS = [ }, defaultValue: 0 }, + { + id: "LiteGraph.Node.TooltipDelay", + name: "Tooltip Delay", + type: "number", + attrs: { + min: 100, + max: 3e3, + step: 50 + }, + defaultValue: 500, + versionAdded: "1.9.0" + }, { id: "Comfy.EnableTooltips", category: ["LiteGraph", "Node", "EnableTooltips"], @@ -2296,7 +2733,7 @@ const CORE_SETTINGS = [ }, { id: "LiteGraph.Canvas.MaximumFps", - name: "Maxium FPS", + name: "Maximum FPS", tooltip: "The maximum frames per second that the canvas is allowed to render. Caps GPU usage at the cost of smoothness. If 0, the screen refresh rate is used. Default: 0", type: "slider", attrs: { @@ -2361,173 +2798,21 @@ const CORE_SETTINGS = [ defaultValue: false, type: "boolean", versionAdded: "1.8.8" + }, + { + id: "LiteGraph.Canvas.LowQualityRenderingZoomThreshold", + name: "Low quality rendering zoom threshold", + tooltip: "Render low quality shapes when zoomed out", + type: "slider", + attrs: { + min: 0.1, + max: 1, + step: 0.01 + }, + defaultValue: 0.6, + versionAdded: "1.9.1" } ]; -const useCanvasDrop = /* @__PURE__ */ __name((canvasRef) => { - const modelToNodeStore = useModelToNodeStore(); - const litegraphService = useLitegraphService(); - usePragmaticDroppable(() => canvasRef.value, { - getDropEffect: /* @__PURE__ */ __name((args) => args.source.data.type === "tree-explorer-node" ? "copy" : "move", "getDropEffect"), - onDrop: /* @__PURE__ */ __name((event) => { - const loc = event.location.current.input; - const dndData = event.source.data; - if (dndData.type === "tree-explorer-node") { - const node = dndData.data; - if (node.data instanceof ComfyNodeDefImpl) { - const nodeDef = node.data; - const pos = app.clientPosToCanvasPos([ - loc.clientX, - loc.clientY + LiteGraph.NODE_TITLE_HEIGHT - ]); - litegraphService.addNodeOnGraph(nodeDef, { pos }); - } else if (node.data instanceof ComfyModelDef) { - const model = node.data; - const pos = app.clientPosToCanvasPos([loc.clientX, loc.clientY]); - const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1]); - let targetProvider = null; - let targetGraphNode = null; - if (nodeAtPos) { - const providers = modelToNodeStore.getAllNodeProviders( - model.directory - ); - for (const provider of providers) { - if (provider.nodeDef.name === nodeAtPos.comfyClass) { - targetGraphNode = nodeAtPos; - targetProvider = provider; - } - } - } - if (!targetGraphNode) { - const provider = modelToNodeStore.getNodeProvider(model.directory); - if (provider) { - targetGraphNode = litegraphService.addNodeOnGraph( - provider.nodeDef, - { - pos - } - ); - targetProvider = provider; - } - } - if (targetGraphNode) { - const widget = targetGraphNode.widgets?.find( - (widget2) => widget2.name === targetProvider?.key - ); - if (widget) { - widget.value = model.file_name; - } - } - } - } - }, "onDrop") - }); -}, "useCanvasDrop"); -const useGlobalLitegraph = /* @__PURE__ */ __name(() => { - window["LiteGraph"] = LiteGraph; - window["LGraph"] = LGraph; - window["LLink"] = LLink; - window["LGraphNode"] = LGraphNode; - window["LGraphGroup"] = LGraphGroup; - window["DragAndScale"] = DragAndScale; - window["LGraphCanvas"] = LGraphCanvas; - window["ContextMenu"] = ContextMenu; - window["LGraphBadge"] = LGraphBadge; -}, "useGlobalLitegraph"); -function useWorkflowPersistence() { - const workflowStore = useWorkflowStore(); - const settingStore = useSettingStore(); - const persistCurrentWorkflow = /* @__PURE__ */ __name(() => { - const workflow = JSON.stringify(app.serializeGraph()); - localStorage.setItem("workflow", workflow); - if (api.clientId) { - sessionStorage.setItem(`workflow:${api.clientId}`, workflow); - } - }, "persistCurrentWorkflow"); - const loadWorkflowFromStorage = /* @__PURE__ */ __name(async (json, workflowName) => { - if (!json) return false; - const workflow = JSON.parse(json); - await app.loadGraphData(workflow, true, true, workflowName); - return true; - }, "loadWorkflowFromStorage"); - const loadPreviousWorkflowFromStorage = /* @__PURE__ */ __name(async () => { - const workflowName = getStorageValue("Comfy.PreviousWorkflow"); - const clientId = api.initialClientId ?? api.clientId; - if (clientId) { - const sessionWorkflow = sessionStorage.getItem(`workflow:${clientId}`); - if (await loadWorkflowFromStorage(sessionWorkflow, workflowName)) { - return true; - } - } - const localWorkflow = localStorage.getItem("workflow"); - return await loadWorkflowFromStorage(localWorkflow, workflowName); - }, "loadPreviousWorkflowFromStorage"); - const loadDefaultWorkflow = /* @__PURE__ */ __name(async () => { - if (!settingStore.get("Comfy.TutorialCompleted")) { - await settingStore.set("Comfy.TutorialCompleted", true); - await useModelStore().loadModelFolders(); - await useWorkflowService().loadTutorialWorkflow(); - } else { - await app.loadGraphData(); - } - }, "loadDefaultWorkflow"); - const restorePreviousWorkflow = /* @__PURE__ */ __name(async () => { - try { - const restored = await loadPreviousWorkflowFromStorage(); - if (!restored) { - await loadDefaultWorkflow(); - } - } catch (err) { - console.error("Error loading previous workflow", err); - await loadDefaultWorkflow(); - } - }, "restorePreviousWorkflow"); - watchEffect(() => { - if (workflowStore.activeWorkflow) { - const workflow = workflowStore.activeWorkflow; - setStorageValue("Comfy.PreviousWorkflow", workflow.key); - persistCurrentWorkflow(); - } - }); - api.addEventListener("graphChanged", persistCurrentWorkflow); - const openWorkflows = computed(() => workflowStore.openWorkflows); - const activeWorkflow = computed(() => workflowStore.activeWorkflow); - const restoreState = computed( - () => { - if (!openWorkflows.value || !activeWorkflow.value) { - return { paths: [], activeIndex: -1 }; - } - const paths = openWorkflows.value.filter((workflow) => workflow?.isPersisted && !workflow.isModified).map((workflow) => workflow.path); - const activeIndex = openWorkflows.value.findIndex( - (workflow) => workflow.path === activeWorkflow.value?.path - ); - return { paths, activeIndex }; - } - ); - const storedWorkflows = JSON.parse( - getStorageValue("Comfy.OpenWorkflowsPaths") || "[]" - ); - const storedActiveIndex = JSON.parse( - getStorageValue("Comfy.ActiveWorkflowIndex") || "-1" - ); - watch(restoreState, ({ paths, activeIndex }) => { - setStorageValue("Comfy.OpenWorkflowsPaths", JSON.stringify(paths)); - setStorageValue("Comfy.ActiveWorkflowIndex", JSON.stringify(activeIndex)); - }); - const restoreWorkflowTabsState = /* @__PURE__ */ __name(() => { - const isRestorable = storedWorkflows?.length > 0 && storedActiveIndex >= 0; - if (isRestorable) { - workflowStore.openWorkflowsInBackground({ - left: storedWorkflows.slice(0, storedActiveIndex), - right: storedWorkflows.slice(storedActiveIndex) - }); - } - }, "restoreWorkflowTabsState"); - return { - restorePreviousWorkflow, - restoreWorkflowTabsState - }; -} -__name(useWorkflowPersistence, "useWorkflowPersistence"); const _sfc_main$8 = /* @__PURE__ */ defineComponent({ __name: "GraphCanvas", emits: ["ready"], @@ -2548,36 +2833,6 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({ () => settingStore.get("Comfy.Graph.CanvasMenu") ); const tooltipEnabled = computed(() => settingStore.get("Comfy.EnableTooltips")); - watchEffect(() => { - const canvasInfoEnabled = settingStore.get("Comfy.Graph.CanvasInfo"); - if (canvasStore.canvas) { - canvasStore.canvas.show_info = canvasInfoEnabled; - } - }); - watchEffect(() => { - const zoomSpeed = settingStore.get("Comfy.Graph.ZoomSpeed"); - if (canvasStore.canvas) { - canvasStore.canvas.zoom_speed = zoomSpeed; - } - }); - watchEffect(() => { - LiteGraph.snaps_for_comfy = settingStore.get("Comfy.Node.AutoSnapLinkToSlot"); - }); - watchEffect(() => { - LiteGraph.snap_highlights_node = settingStore.get( - "Comfy.Node.SnapHighlightsNode" - ); - }); - watchEffect(() => { - LGraphNode.keepAllLinksOnBypass = settingStore.get( - "Comfy.Node.BypassAllLinksOnDelete" - ); - }); - watchEffect(() => { - LiteGraph.middle_click_slot_add_default_node = settingStore.get( - "Comfy.Node.MiddleClickRerouteNode" - ); - }); watchEffect(() => { nodeDefStore.showDeprecated = settingStore.get("Comfy.Node.ShowDeprecated"); }); @@ -2595,56 +2850,6 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({ textarea.blur(); }); }); - watchEffect(() => { - const linkRenderMode = settingStore.get("Comfy.LinkRenderMode"); - if (canvasStore.canvas) { - canvasStore.canvas.links_render_mode = linkRenderMode; - canvasStore.canvas.setDirty( - /* fg */ - false, - /* bg */ - true - ); - } - }); - watchEffect(() => { - const linkMarkerShape = settingStore.get("Comfy.Graph.LinkMarkers"); - const { canvas } = canvasStore; - if (canvas) { - canvas.linkMarkerShape = linkMarkerShape; - canvas.setDirty(false, true); - } - }); - watchEffect(() => { - const reroutesEnabled = settingStore.get("Comfy.RerouteBeta"); - const { canvas } = canvasStore; - if (canvas) { - canvas.reroutesEnabled = reroutesEnabled; - canvas.setDirty(false, true); - } - }); - watchEffect(() => { - const maximumFps = settingStore.get("LiteGraph.Canvas.MaximumFps"); - const { canvas } = canvasStore; - if (canvas) canvas.maximumFps = maximumFps; - }); - watchEffect(() => { - CanvasPointer.doubleClickTime = settingStore.get( - "Comfy.Pointer.DoubleClickTime" - ); - }); - watchEffect(() => { - CanvasPointer.bufferTime = settingStore.get("Comfy.Pointer.ClickBufferTime"); - }); - watchEffect(() => { - CanvasPointer.maxClickDrift = settingStore.get("Comfy.Pointer.ClickDrift"); - }); - watchEffect(() => { - LiteGraph.CANVAS_GRID_SIZE = settingStore.get("Comfy.SnapToGrid.GridSize"); - }); - watchEffect(() => { - LiteGraph.alwaysSnapToGrid = settingStore.get("pysssss.SnapToGrid"); - }); watch( () => settingStore.get("Comfy.WidgetControlMode"), () => { @@ -2680,11 +2885,6 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({ settingStore.set("Comfy.ColorPalette", newValue); } ); - watchEffect(() => { - LiteGraph.context_menu_scaling = settingStore.get( - "LiteGraph.ContextMenu.Scaling" - ); - }); const loadCustomNodesI18n = /* @__PURE__ */ __name(async () => { try { const i18nData = await api.getCustomNodesI18n(); @@ -2698,8 +2898,12 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({ const comfyAppReady = ref(false); const workflowPersistence = useWorkflowPersistence(); useCanvasDrop(canvasRef); + useLitegraphSettings(); onMounted(async () => { useGlobalLitegraph(); + useContextMenuTranslation(); + useCopy(); + usePaste(); app.vueAppReady = true; workspaceStore.spinner = true; ChangeTracker.init(app); @@ -2731,31 +2935,36 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({ }); return (_ctx, _cache) => { return openBlock(), createElementBlock(Fragment, null, [ - (openBlock(), createBlock(Teleport, { to: ".graph-canvas-container" }, [ - comfyAppReady.value && betaMenuEnabled.value && !unref(workspaceStore).focusMode ? (openBlock(), createBlock(LiteGraphCanvasSplitterOverlay, { key: 0 }, { - "side-bar-panel": withCtx(() => [ - createVNode(SideToolbar) - ]), - "bottom-panel": withCtx(() => [ - createVNode(_sfc_main$p) - ]), - "graph-canvas-panel": withCtx(() => [ - workflowTabsPosition.value === "Topbar (2nd-row)" ? (openBlock(), createBlock(SecondRowWorkflowTabs, { key: 0 })) : createCommentVNode("", true), - canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 1 })) : createCommentVNode("", true) - ]), - _: 1 - })) : createCommentVNode("", true), - createVNode(TitleEditor), - !betaMenuEnabled.value && canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 1 })) : createCommentVNode("", true), - createBaseVNode("canvas", { - ref_key: "canvasRef", - ref: canvasRef, - id: "graph-canvas", - tabindex: "1" - }, null, 512) - ])), + comfyAppReady.value && betaMenuEnabled.value && !unref(workspaceStore).focusMode ? (openBlock(), createBlock(LiteGraphCanvasSplitterOverlay, { key: 0 }, { + "side-bar-panel": withCtx(() => [ + createVNode(SideToolbar) + ]), + "bottom-panel": withCtx(() => [ + createVNode(_sfc_main$p) + ]), + "graph-canvas-panel": withCtx(() => [ + workflowTabsPosition.value === "Topbar (2nd-row)" ? (openBlock(), createBlock(SecondRowWorkflowTabs, { + key: 0, + class: "pointer-events-auto" + })) : createCommentVNode("", true), + canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { + key: 1, + class: "pointer-events-auto" + })) : createCommentVNode("", true) + ]), + _: 1 + })) : createCommentVNode("", true), + createVNode(TitleEditor), + !betaMenuEnabled.value && canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 1 })) : createCommentVNode("", true), + createBaseVNode("canvas", { + ref_key: "canvasRef", + ref: canvasRef, + id: "graph-canvas", + tabindex: "1", + class: "w-full h-full touch-none" + }, null, 512), createVNode(_sfc_main$h), - tooltipEnabled.value ? (openBlock(), createBlock(NodeTooltip, { key: 0 })) : createCommentVNode("", true), + tooltipEnabled.value ? (openBlock(), createBlock(NodeTooltip, { key: 2 })) : createCommentVNode("", true), createVNode(_sfc_main$n) ], 64); }; @@ -2835,13 +3044,13 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({ }; } }); -const _hoisted_1$9 = { +const _hoisted_1$a = { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em" }; function render$5(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$9, _cache[0] || (_cache[0] = [ + return openBlock(), createElementBlock("svg", _hoisted_1$a, _cache[0] || (_cache[0] = [ createBaseVNode("path", { fill: "none", stroke: "currentColor", @@ -2854,13 +3063,13 @@ function render$5(_ctx, _cache) { } __name(render$5, "render$5"); const __unplugin_components_3 = markRaw({ name: "lucide-step-forward", render: render$5 }); -const _hoisted_1$8 = { +const _hoisted_1$9 = { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em" }; function render$4(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$8, _cache[0] || (_cache[0] = [ + return openBlock(), createElementBlock("svg", _hoisted_1$9, _cache[0] || (_cache[0] = [ createBaseVNode("path", { fill: "none", stroke: "currentColor", @@ -2873,13 +3082,13 @@ function render$4(_ctx, _cache) { } __name(render$4, "render$4"); const __unplugin_components_2 = markRaw({ name: "lucide-fast-forward", render: render$4 }); -const _hoisted_1$7 = { +const _hoisted_1$8 = { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em" }; function render$3(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$7, _cache[0] || (_cache[0] = [ + return openBlock(), createElementBlock("svg", _hoisted_1$8, _cache[0] || (_cache[0] = [ createBaseVNode("path", { fill: "none", stroke: "currentColor", @@ -2892,13 +3101,13 @@ function render$3(_ctx, _cache) { } __name(render$3, "render$3"); const __unplugin_components_1$1 = markRaw({ name: "lucide-play", render: render$3 }); -const _hoisted_1$6 = { +const _hoisted_1$7 = { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em" }; function render$2(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$6, _cache[0] || (_cache[0] = [ + return openBlock(), createElementBlock("svg", _hoisted_1$7, _cache[0] || (_cache[0] = [ createBaseVNode("g", { fill: "none", stroke: "currentColor", @@ -2913,7 +3122,7 @@ function render$2(_ctx, _cache) { } __name(render$2, "render$2"); const __unplugin_components_0$1 = markRaw({ name: "lucide-list-start", render: render$2 }); -const _hoisted_1$5 = ["aria-label"]; +const _hoisted_1$6 = ["aria-label"]; const minQueueCount = 1; const _sfc_main$6 = /* @__PURE__ */ defineComponent({ __name: "BatchCountEdit", @@ -2968,7 +3177,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ } } }, null, 8, ["modelValue", "max", "pt"]) - ], 10, _hoisted_1$5)), [ + ], 10, _hoisted_1$6)), [ [ _directive_tooltip, _ctx.$t("menu.batchCount"), @@ -2980,7 +3189,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ } }); const BatchCountEdit = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-26957f1f"]]); -const _hoisted_1$4 = { class: "queue-button-group flex" }; +const _hoisted_1$5 = { class: "queue-button-group flex" }; const _sfc_main$5 = /* @__PURE__ */ defineComponent({ __name: "ComfyQueueButton", setup(__props) { @@ -3033,7 +3242,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({ const _component_i_lucide58fast_forward = __unplugin_components_2; const _component_i_lucide58step_forward = __unplugin_components_3; const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createElementBlock("div", _hoisted_1$4, [ + return openBlock(), createElementBlock("div", _hoisted_1$5, [ withDirectives((openBlock(), createBlock(unref(script$h), { class: "comfyui-queue-button", label: activeQueueModeMenuItem.value.label, @@ -3263,7 +3472,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ }, { default: withCtx(() => [ createBaseVNode("div", { - class: "actionbar-content flex items-center", + class: "actionbar-content flex items-center select-none", ref_key: "panelRef", ref: panelRef }, [ @@ -3280,14 +3489,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ }; } }); -const Actionbar = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-915e5456"]]); -const _hoisted_1$3 = { +const Actionbar = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-ebd56d51"]]); +const _hoisted_1$4 = { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em" }; function render$1(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$3, _cache[0] || (_cache[0] = [ + return openBlock(), createElementBlock("svg", _hoisted_1$4, _cache[0] || (_cache[0] = [ createBaseVNode("path", { fill: "currentColor", d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-5v3h14v-3zm0-2h14V5H5zm0 2v3z" @@ -3296,13 +3505,13 @@ function render$1(_ctx, _cache) { } __name(render$1, "render$1"); const __unplugin_components_1 = markRaw({ name: "material-symbols-dock-to-bottom-outline", render: render$1 }); -const _hoisted_1$2 = { +const _hoisted_1$3 = { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em" }; function render(_ctx, _cache) { - return openBlock(), createElementBlock("svg", _hoisted_1$2, _cache[0] || (_cache[0] = [ + return openBlock(), createElementBlock("svg", _hoisted_1$3, _cache[0] || (_cache[0] = [ createBaseVNode("path", { fill: "currentColor", d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-7h14V5H5z" @@ -3336,9 +3545,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ }; } }); -const _hoisted_1$1 = ["href"]; -const _hoisted_2$1 = { class: "p-menubar-item-label" }; -const _hoisted_3$1 = { +const _hoisted_1$2 = ["href"]; +const _hoisted_2$2 = { class: "p-menubar-item-label" }; +const _hoisted_3$2 = { key: 1, class: "ml-auto border border-surface rounded text-muted text-xs text-nowrap p-1 keybinding-tag" }; @@ -3382,9 +3591,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ key: 0, class: normalizeClass(["p-menubar-item-icon", item.icon]) }, null, 2)) : createCommentVNode("", true), - createBaseVNode("span", _hoisted_2$1, toDisplayString(item.label), 1), - item?.comfyCommand?.keybinding ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(item.comfyCommand.keybinding.combo.toString()), 1)) : createCommentVNode("", true) - ], 16, _hoisted_1$1) + createBaseVNode("span", _hoisted_2$2, toDisplayString(item.label), 1), + item?.comfyCommand?.keybinding ? (openBlock(), createElementBlock("span", _hoisted_3$2, toDisplayString(item.comfyCommand.keybinding.combo.toString()), 1)) : createCommentVNode("", true) + ], 16, _hoisted_1$2) ]), _: 1 }, 8, ["model", "pt"]); @@ -3392,9 +3601,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ } }); const CommandMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-56df69d2"]]); -const _hoisted_1 = { class: "flex-grow min-w-0 app-drag h-full" }; -const _hoisted_2 = { class: "window-actions-spacer flex-shrink-0" }; -const _hoisted_3 = { class: "fixed top-0 left-0 app-drag w-full h-[var(--comfy-topbar-height)]" }; +const _hoisted_1$1 = { class: "flex-grow min-w-0 app-drag h-full" }; +const _hoisted_2$1 = { class: "window-actions-spacer flex-shrink-0" }; +const _hoisted_3$1 = { class: "fixed top-0 left-0 app-drag w-full h-[var(--comfy-topbar-height)]" }; const _sfc_main$1 = /* @__PURE__ */ defineComponent({ __name: "TopMenubar", setup(__props) { @@ -3405,9 +3614,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ ); const menuSetting = computed(() => settingStore.get("Comfy.UseNewMenu")); const betaMenuEnabled = computed(() => menuSetting.value !== "Disabled"); - const teleportTarget = computed( - () => settingStore.get("Comfy.UseNewMenu") === "Top" ? ".comfyui-body-top" : ".comfyui-body-bottom" - ); const showTopMenu = computed( () => betaMenuEnabled.value && !workspaceState.focusMode ); @@ -3438,50 +3644,577 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ return (_ctx, _cache) => { const _directive_tooltip = resolveDirective("tooltip"); return openBlock(), createElementBlock(Fragment, null, [ - (openBlock(), createBlock(Teleport, { to: teleportTarget.value }, [ - withDirectives(createBaseVNode("div", { - ref_key: "topMenuRef", - ref: topMenuRef, - class: normalizeClass(["comfyui-menu flex items-center", { dropzone: isDropZone.value, "dropzone-active": isDroppable.value }]) - }, [ - _cache[1] || (_cache[1] = createBaseVNode("h1", { class: "comfyui-logo mx-2 app-drag" }, "ComfyUI", -1)), - createVNode(CommandMenubar), - createBaseVNode("div", _hoisted_1, [ - workflowTabsPosition.value === "Topbar" ? (openBlock(), createBlock(WorkflowTabs, { key: 0 })) : createCommentVNode("", true) - ]), - createBaseVNode("div", { - class: "comfyui-menu-right", - ref_key: "menuRight", - ref: menuRight - }, null, 512), - createVNode(Actionbar), - createVNode(_sfc_main$3, { class: "flex-shrink-0" }), - withDirectives(createVNode(unref(script), { - class: "flex-shrink-0", - icon: "pi pi-bars", - severity: "secondary", - text: "", - "aria-label": _ctx.$t("menu.hideMenu"), - onClick: _cache[0] || (_cache[0] = ($event) => unref(workspaceState).focusMode = true), - onContextmenu: unref(showNativeMenu) - }, null, 8, ["aria-label", "onContextmenu"]), [ - [_directive_tooltip, { value: _ctx.$t("menu.hideMenu"), showDelay: 300 }] - ]), - withDirectives(createBaseVNode("div", _hoisted_2, null, 512), [ - [vShow, menuSetting.value !== "Bottom"] - ]) - ], 2), [ - [vShow, showTopMenu.value] + withDirectives(createBaseVNode("div", { + ref_key: "topMenuRef", + ref: topMenuRef, + class: normalizeClass(["comfyui-menu flex items-center", { dropzone: isDropZone.value, "dropzone-active": isDroppable.value }]) + }, [ + _cache[1] || (_cache[1] = createBaseVNode("h1", { class: "comfyui-logo mx-2 app-drag" }, "ComfyUI", -1)), + createVNode(CommandMenubar), + createBaseVNode("div", _hoisted_1$1, [ + workflowTabsPosition.value === "Topbar" ? (openBlock(), createBlock(WorkflowTabs, { key: 0 })) : createCommentVNode("", true) + ]), + createBaseVNode("div", { + class: "comfyui-menu-right flex-shrink-0", + ref_key: "menuRight", + ref: menuRight + }, null, 512), + createVNode(Actionbar), + createVNode(_sfc_main$3, { class: "flex-shrink-0" }), + withDirectives(createVNode(unref(script), { + class: "flex-shrink-0", + icon: "pi pi-bars", + severity: "secondary", + text: "", + "aria-label": _ctx.$t("menu.hideMenu"), + onClick: _cache[0] || (_cache[0] = ($event) => unref(workspaceState).focusMode = true), + onContextmenu: unref(showNativeMenu) + }, null, 8, ["aria-label", "onContextmenu"]), [ + [_directive_tooltip, { value: _ctx.$t("menu.hideMenu"), showDelay: 300 }] + ]), + withDirectives(createBaseVNode("div", _hoisted_2$1, null, 512), [ + [vShow, menuSetting.value !== "Bottom"] ]) - ], 8, ["to"])), - withDirectives(createBaseVNode("div", _hoisted_3, null, 512), [ + ], 2), [ + [vShow, showTopMenu.value] + ]), + withDirectives(createBaseVNode("div", _hoisted_3$1, null, 512), [ [vShow, unref(isNativeWindow)() && !showTopMenu.value] ]) ], 64); }; } }); -const TopMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-929e7543"]]); +const TopMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-68d3b5b9"]]); +function useCoreCommands() { + const workflowService = useWorkflowService(); + const workflowStore = useWorkflowStore(); + const dialogService = useDialogService(); + const colorPaletteStore = useColorPaletteStore(); + const getTracker = /* @__PURE__ */ __name(() => workflowStore.activeWorkflow?.changeTracker, "getTracker"); + const getSelectedNodes = /* @__PURE__ */ __name(() => { + const selectedNodes = app.canvas.selected_nodes; + const result = []; + if (selectedNodes) { + for (const i in selectedNodes) { + const node = selectedNodes[i]; + result.push(node); + } + } + return result; + }, "getSelectedNodes"); + const toggleSelectedNodesMode = /* @__PURE__ */ __name((mode) => { + getSelectedNodes().forEach((node) => { + if (node.mode === mode) { + node.mode = LGraphEventMode.ALWAYS; + } else { + node.mode = mode; + } + }); + }, "toggleSelectedNodesMode"); + return [ + { + id: "Comfy.NewBlankWorkflow", + icon: "pi pi-plus", + label: "New Blank Workflow", + menubarLabel: "New", + function: /* @__PURE__ */ __name(() => workflowService.loadBlankWorkflow(), "function") + }, + { + id: "Comfy.OpenWorkflow", + icon: "pi pi-folder-open", + label: "Open Workflow", + menubarLabel: "Open", + function: /* @__PURE__ */ __name(() => { + app.ui.loadFile(); + }, "function") + }, + { + id: "Comfy.LoadDefaultWorkflow", + icon: "pi pi-code", + label: "Load Default Workflow", + function: /* @__PURE__ */ __name(() => workflowService.loadDefaultWorkflow(), "function") + }, + { + id: "Comfy.SaveWorkflow", + icon: "pi pi-save", + label: "Save Workflow", + menubarLabel: "Save", + function: /* @__PURE__ */ __name(async () => { + const workflow = useWorkflowStore().activeWorkflow; + if (!workflow) return; + await workflowService.saveWorkflow(workflow); + }, "function") + }, + { + id: "Comfy.SaveWorkflowAs", + icon: "pi pi-save", + label: "Save Workflow As", + menubarLabel: "Save As", + function: /* @__PURE__ */ __name(async () => { + const workflow = useWorkflowStore().activeWorkflow; + if (!workflow) return; + await workflowService.saveWorkflowAs(workflow); + }, "function") + }, + { + id: "Comfy.ExportWorkflow", + icon: "pi pi-download", + label: "Export Workflow", + menubarLabel: "Export", + function: /* @__PURE__ */ __name(() => { + workflowService.exportWorkflow("workflow", "workflow"); + }, "function") + }, + { + id: "Comfy.ExportWorkflowAPI", + icon: "pi pi-download", + label: "Export Workflow (API Format)", + menubarLabel: "Export (API)", + function: /* @__PURE__ */ __name(() => { + workflowService.exportWorkflow("workflow_api", "output"); + }, "function") + }, + { + id: "Comfy.Undo", + icon: "pi pi-undo", + label: "Undo", + function: /* @__PURE__ */ __name(async () => { + await getTracker()?.undo?.(); + }, "function") + }, + { + id: "Comfy.Redo", + icon: "pi pi-refresh", + label: "Redo", + function: /* @__PURE__ */ __name(async () => { + await getTracker()?.redo?.(); + }, "function") + }, + { + id: "Comfy.ClearWorkflow", + icon: "pi pi-trash", + label: "Clear Workflow", + function: /* @__PURE__ */ __name(() => { + const settingStore = useSettingStore(); + if (!settingStore.get("Comfy.ComfirmClear") || confirm("Clear workflow?")) { + app.clean(); + app.graph.clear(); + api.dispatchCustomEvent("graphCleared"); + } + }, "function") + }, + { + id: "Comfy.Canvas.ResetView", + icon: "pi pi-expand", + label: "Reset View", + function: /* @__PURE__ */ __name(() => { + useLitegraphService().resetView(); + }, "function") + }, + { + id: "Comfy.OpenClipspace", + icon: "pi pi-clipboard", + label: "Clipspace", + function: /* @__PURE__ */ __name(() => { + app.openClipspace(); + }, "function") + }, + { + id: "Comfy.RefreshNodeDefinitions", + icon: "pi pi-refresh", + label: "Refresh Node Definitions", + function: /* @__PURE__ */ __name(async () => { + await app.refreshComboInNodes(); + }, "function") + }, + { + id: "Comfy.Interrupt", + icon: "pi pi-stop", + label: "Interrupt", + function: /* @__PURE__ */ __name(async () => { + await api.interrupt(); + useToastStore().add({ + severity: "info", + summary: "Interrupted", + detail: "Execution has been interrupted", + life: 1e3 + }); + }, "function") + }, + { + id: "Comfy.ClearPendingTasks", + icon: "pi pi-stop", + label: "Clear Pending Tasks", + function: /* @__PURE__ */ __name(async () => { + await useQueueStore().clear(["queue"]); + useToastStore().add({ + severity: "info", + summary: "Confirmed", + detail: "Pending tasks deleted", + life: 3e3 + }); + }, "function") + }, + { + id: "Comfy.BrowseTemplates", + icon: "pi pi-folder-open", + label: "Browse Templates", + function: /* @__PURE__ */ __name(() => { + dialogService.showTemplateWorkflowsDialog(); + }, "function") + }, + { + id: "Comfy.Canvas.ZoomIn", + icon: "pi pi-plus", + label: "Zoom In", + function: /* @__PURE__ */ __name(() => { + const ds = app.canvas.ds; + ds.changeScale( + ds.scale * 1.1, + ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 + ); + app.canvas.setDirty(true, true); + }, "function") + }, + { + id: "Comfy.Canvas.ZoomOut", + icon: "pi pi-minus", + label: "Zoom Out", + function: /* @__PURE__ */ __name(() => { + const ds = app.canvas.ds; + ds.changeScale( + ds.scale / 1.1, + ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 + ); + app.canvas.setDirty(true, true); + }, "function") + }, + { + id: "Comfy.Canvas.FitView", + icon: "pi pi-expand", + label: "Fit view to selected nodes", + function: /* @__PURE__ */ __name(() => { + if (app.canvas.empty) { + useToastStore().add({ + severity: "error", + summary: "Empty canvas", + life: 3e3 + }); + return; + } + app.canvas.fitViewToSelectionAnimated(); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleLock", + icon: "pi pi-lock", + label: "Canvas Toggle Lock", + function: /* @__PURE__ */ __name(() => { + app.canvas["read_only"] = !app.canvas["read_only"]; + }, "function") + }, + { + id: "Comfy.Canvas.ToggleLinkVisibility", + icon: "pi pi-eye", + label: "Canvas Toggle Link Visibility", + versionAdded: "1.3.6", + function: (() => { + const settingStore = useSettingStore(); + let lastLinksRenderMode = LiteGraph.SPLINE_LINK; + return () => { + const currentMode = settingStore.get("Comfy.LinkRenderMode"); + if (currentMode === LiteGraph.HIDDEN_LINK) { + settingStore.set("Comfy.LinkRenderMode", lastLinksRenderMode); + } else { + lastLinksRenderMode = currentMode; + settingStore.set("Comfy.LinkRenderMode", LiteGraph.HIDDEN_LINK); + } + }; + })() + }, + { + id: "Comfy.QueuePrompt", + icon: "pi pi-play", + label: "Queue Prompt", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const batchCount = useQueueSettingsStore().batchCount; + app.queuePrompt(0, batchCount); + }, "function") + }, + { + id: "Comfy.QueuePromptFront", + icon: "pi pi-play", + label: "Queue Prompt (Front)", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const batchCount = useQueueSettingsStore().batchCount; + app.queuePrompt(-1, batchCount); + }, "function") + }, + { + id: "Comfy.ShowSettingsDialog", + icon: "pi pi-cog", + label: "Show Settings Dialog", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + dialogService.showSettingsDialog(); + }, "function") + }, + { + id: "Comfy.Graph.GroupSelectedNodes", + icon: "pi pi-sitemap", + label: "Group Selected Nodes", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const { canvas } = app; + if (!canvas.selectedItems?.size) { + useToastStore().add({ + severity: "error", + summary: "Nothing to group", + detail: "Please select the nodes (or other groups) to create a group for", + life: 3e3 + }); + return; + } + const group = new LGraphGroup(); + const padding = useSettingStore().get( + "Comfy.GroupSelectedNodes.Padding" + ); + group.resizeTo(canvas.selectedItems, padding); + canvas.graph.add(group); + useTitleEditorStore().titleEditorTarget = group; + }, "function") + }, + { + id: "Workspace.NextOpenedWorkflow", + icon: "pi pi-step-forward", + label: "Next Opened Workflow", + versionAdded: "1.3.9", + function: /* @__PURE__ */ __name(() => { + workflowService.loadNextOpenedWorkflow(); + }, "function") + }, + { + id: "Workspace.PreviousOpenedWorkflow", + icon: "pi pi-step-backward", + label: "Previous Opened Workflow", + versionAdded: "1.3.9", + function: /* @__PURE__ */ __name(() => { + workflowService.loadPreviousOpenedWorkflow(); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Mute", + icon: "pi pi-volume-off", + label: "Mute/Unmute Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + toggleSelectedNodesMode(LGraphEventMode.NEVER); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Bypass", + icon: "pi pi-shield", + label: "Bypass/Unbypass Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + toggleSelectedNodesMode(LGraphEventMode.BYPASS); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Pin", + icon: "pi pi-pin", + label: "Pin/Unpin Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + getSelectedNodes().forEach((node) => { + node.pin(!node.pinned); + }); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelected.Pin", + icon: "pi pi-pin", + label: "Pin/Unpin Selected Items", + versionAdded: "1.3.33", + function: /* @__PURE__ */ __name(() => { + for (const item of app.canvas.selectedItems) { + if (item instanceof LGraphNode || item instanceof LGraphGroup) { + item.pin(!item.pinned); + } + } + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Collapse", + icon: "pi pi-minus", + label: "Collapse/Expand Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + getSelectedNodes().forEach((node) => { + node.collapse(); + }); + }, "function") + }, + { + id: "Comfy.ToggleTheme", + icon: "pi pi-moon", + label: "Toggle Theme (Dark/Light)", + versionAdded: "1.3.12", + function: (() => { + let previousDarkTheme = DEFAULT_DARK_COLOR_PALETTE.id; + let previousLightTheme = DEFAULT_LIGHT_COLOR_PALETTE.id; + return () => { + const settingStore = useSettingStore(); + const theme = colorPaletteStore.completedActivePalette; + if (theme.light_theme) { + previousLightTheme = theme.id; + settingStore.set("Comfy.ColorPalette", previousDarkTheme); + } else { + previousDarkTheme = theme.id; + settingStore.set("Comfy.ColorPalette", previousLightTheme); + } + }; + })() + }, + { + id: "Workspace.ToggleBottomPanel", + icon: "pi pi-list", + label: "Toggle Bottom Panel", + versionAdded: "1.3.22", + function: /* @__PURE__ */ __name(() => { + useBottomPanelStore().toggleBottomPanel(); + }, "function") + }, + { + id: "Workspace.ToggleFocusMode", + icon: "pi pi-eye", + label: "Toggle Focus Mode", + versionAdded: "1.3.27", + function: /* @__PURE__ */ __name(() => { + useWorkspaceStore().toggleFocusMode(); + }, "function") + }, + { + id: "Comfy.Graph.FitGroupToContents", + icon: "pi pi-expand", + label: "Fit Group To Contents", + versionAdded: "1.4.9", + function: /* @__PURE__ */ __name(() => { + for (const group of app.canvas.selectedItems) { + if (group instanceof LGraphGroup) { + group.recomputeInsideNodes(); + const padding = useSettingStore().get( + "Comfy.GroupSelectedNodes.Padding" + ); + group.resizeTo(group.children, padding); + app.graph.change(); + } + } + }, "function") + }, + { + id: "Comfy.Help.OpenComfyUIIssues", + icon: "pi pi-github", + label: "Open ComfyUI Issues", + menubarLabel: "ComfyUI Issues", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open( + "https://github.com/comfyanonymous/ComfyUI/issues", + "_blank" + ); + }, "function") + }, + { + id: "Comfy.Help.OpenComfyUIDocs", + icon: "pi pi-info-circle", + label: "Open ComfyUI Docs", + menubarLabel: "ComfyUI Docs", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open("https://docs.comfy.org/", "_blank"); + }, "function") + }, + { + id: "Comfy.Help.OpenComfyOrgDiscord", + icon: "pi pi-discord", + label: "Open Comfy-Org Discord", + menubarLabel: "Comfy-Org Discord", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open("https://www.comfy.org/discord", "_blank"); + }, "function") + }, + { + id: "Workspace.SearchBox.Toggle", + icon: "pi pi-search", + label: "Toggle Search Box", + versionAdded: "1.5.7", + function: /* @__PURE__ */ __name(() => { + useSearchBoxStore().toggleVisible(); + }, "function") + }, + { + id: "Comfy.Help.AboutComfyUI", + icon: "pi pi-info-circle", + label: "Open About ComfyUI", + menubarLabel: "About ComfyUI", + versionAdded: "1.6.4", + function: /* @__PURE__ */ __name(() => { + dialogService.showSettingsDialog("about"); + }, "function") + }, + { + id: "Comfy.DuplicateWorkflow", + icon: "pi pi-clone", + label: "Duplicate Current Workflow", + versionAdded: "1.6.15", + function: /* @__PURE__ */ __name(() => { + workflowService.duplicateWorkflow(workflowStore.activeWorkflow); + }, "function") + }, + { + id: "Workspace.CloseWorkflow", + icon: "pi pi-times", + label: "Close Current Workflow", + versionAdded: "1.7.3", + function: /* @__PURE__ */ __name(() => { + if (workflowStore.activeWorkflow) + workflowService.closeWorkflow(workflowStore.activeWorkflow); + }, "function") + }, + { + id: "Comfy.Feedback", + icon: "pi pi-megaphone", + label: "Give Feedback", + versionAdded: "1.8.2", + function: /* @__PURE__ */ __name(() => { + dialogService.showIssueReportDialog({ + title: t("g.feedback"), + subtitle: t("issueReport.feedbackTitle"), + panelProps: { + errorType: "Feedback", + defaultFields: ["SystemStats", "Settings"] + } + }); + }, "function") + }, + { + id: "Comfy.Help.OpenComfyUIForum", + icon: "pi pi-comments", + label: "Open ComfyUI Forum", + menubarLabel: "ComfyUI Forum", + versionAdded: "1.8.2", + function: /* @__PURE__ */ __name(() => { + window.open("https://forum.comfy.org/", "_blank"); + }, "function") + } + ]; +} +__name(useCoreCommands, "useCoreCommands"); var LatentPreviewMethod = /* @__PURE__ */ ((LatentPreviewMethod2) => { LatentPreviewMethod2["NoPreviews"] = "none"; LatentPreviewMethod2["Auto"] = "auto"; @@ -3959,535 +4692,6 @@ const SERVER_CONFIG_ITEMS = [ defaultValue: "" } ]; -function useCoreCommands() { - const workflowService = useWorkflowService(); - const workflowStore = useWorkflowStore(); - const dialogService = useDialogService(); - const colorPaletteStore = useColorPaletteStore(); - const getTracker = /* @__PURE__ */ __name(() => workflowStore.activeWorkflow?.changeTracker, "getTracker"); - const getSelectedNodes = /* @__PURE__ */ __name(() => { - const selectedNodes = app.canvas.selected_nodes; - const result = []; - if (selectedNodes) { - for (const i in selectedNodes) { - const node = selectedNodes[i]; - result.push(node); - } - } - return result; - }, "getSelectedNodes"); - const toggleSelectedNodesMode = /* @__PURE__ */ __name((mode) => { - getSelectedNodes().forEach((node) => { - if (node.mode === mode) { - node.mode = LGraphEventMode.ALWAYS; - } else { - node.mode = mode; - } - }); - }, "toggleSelectedNodesMode"); - return [ - { - id: "Comfy.NewBlankWorkflow", - icon: "pi pi-plus", - label: "New Blank Workflow", - menubarLabel: "New", - function: /* @__PURE__ */ __name(() => workflowService.loadBlankWorkflow(), "function") - }, - { - id: "Comfy.OpenWorkflow", - icon: "pi pi-folder-open", - label: "Open Workflow", - menubarLabel: "Open", - function: /* @__PURE__ */ __name(() => { - app.ui.loadFile(); - }, "function") - }, - { - id: "Comfy.LoadDefaultWorkflow", - icon: "pi pi-code", - label: "Load Default Workflow", - function: /* @__PURE__ */ __name(() => workflowService.loadDefaultWorkflow(), "function") - }, - { - id: "Comfy.SaveWorkflow", - icon: "pi pi-save", - label: "Save Workflow", - menubarLabel: "Save", - function: /* @__PURE__ */ __name(async () => { - const workflow = useWorkflowStore().activeWorkflow; - if (!workflow) return; - await workflowService.saveWorkflow(workflow); - }, "function") - }, - { - id: "Comfy.SaveWorkflowAs", - icon: "pi pi-save", - label: "Save Workflow As", - menubarLabel: "Save As", - function: /* @__PURE__ */ __name(async () => { - const workflow = useWorkflowStore().activeWorkflow; - if (!workflow) return; - await workflowService.saveWorkflowAs(workflow); - }, "function") - }, - { - id: "Comfy.ExportWorkflow", - icon: "pi pi-download", - label: "Export Workflow", - menubarLabel: "Export", - function: /* @__PURE__ */ __name(() => { - workflowService.exportWorkflow("workflow", "workflow"); - }, "function") - }, - { - id: "Comfy.ExportWorkflowAPI", - icon: "pi pi-download", - label: "Export Workflow (API Format)", - menubarLabel: "Export (API)", - function: /* @__PURE__ */ __name(() => { - workflowService.exportWorkflow("workflow_api", "output"); - }, "function") - }, - { - id: "Comfy.Undo", - icon: "pi pi-undo", - label: "Undo", - function: /* @__PURE__ */ __name(async () => { - await getTracker()?.undo?.(); - }, "function") - }, - { - id: "Comfy.Redo", - icon: "pi pi-refresh", - label: "Redo", - function: /* @__PURE__ */ __name(async () => { - await getTracker()?.redo?.(); - }, "function") - }, - { - id: "Comfy.ClearWorkflow", - icon: "pi pi-trash", - label: "Clear Workflow", - function: /* @__PURE__ */ __name(() => { - const settingStore = useSettingStore(); - if (!settingStore.get("Comfy.ComfirmClear") || confirm("Clear workflow?")) { - app.clean(); - app.graph.clear(); - api.dispatchCustomEvent("graphCleared"); - } - }, "function") - }, - { - id: "Comfy.Canvas.ResetView", - icon: "pi pi-expand", - label: "Reset View", - function: /* @__PURE__ */ __name(() => { - app.resetView(); - }, "function") - }, - { - id: "Comfy.OpenClipspace", - icon: "pi pi-clipboard", - label: "Clipspace", - function: /* @__PURE__ */ __name(() => { - app.openClipspace(); - }, "function") - }, - { - id: "Comfy.RefreshNodeDefinitions", - icon: "pi pi-refresh", - label: "Refresh Node Definitions", - function: /* @__PURE__ */ __name(async () => { - await app.refreshComboInNodes(); - }, "function") - }, - { - id: "Comfy.Interrupt", - icon: "pi pi-stop", - label: "Interrupt", - function: /* @__PURE__ */ __name(async () => { - await api.interrupt(); - useToastStore().add({ - severity: "info", - summary: "Interrupted", - detail: "Execution has been interrupted", - life: 1e3 - }); - }, "function") - }, - { - id: "Comfy.ClearPendingTasks", - icon: "pi pi-stop", - label: "Clear Pending Tasks", - function: /* @__PURE__ */ __name(async () => { - await useQueueStore().clear(["queue"]); - useToastStore().add({ - severity: "info", - summary: "Confirmed", - detail: "Pending tasks deleted", - life: 3e3 - }); - }, "function") - }, - { - id: "Comfy.BrowseTemplates", - icon: "pi pi-folder-open", - label: "Browse Templates", - function: /* @__PURE__ */ __name(() => { - dialogService.showTemplateWorkflowsDialog(); - }, "function") - }, - { - id: "Comfy.Canvas.ZoomIn", - icon: "pi pi-plus", - label: "Zoom In", - function: /* @__PURE__ */ __name(() => { - const ds = app.canvas.ds; - ds.changeScale( - ds.scale * 1.1, - ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 - ); - app.canvas.setDirty(true, true); - }, "function") - }, - { - id: "Comfy.Canvas.ZoomOut", - icon: "pi pi-minus", - label: "Zoom Out", - function: /* @__PURE__ */ __name(() => { - const ds = app.canvas.ds; - ds.changeScale( - ds.scale / 1.1, - ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 - ); - app.canvas.setDirty(true, true); - }, "function") - }, - { - id: "Comfy.Canvas.FitView", - icon: "pi pi-expand", - label: "Fit view to selected nodes", - function: /* @__PURE__ */ __name(() => { - if (app.canvas.empty) { - useToastStore().add({ - severity: "error", - summary: "Empty canvas", - life: 3e3 - }); - return; - } - app.canvas.fitViewToSelectionAnimated(); - }, "function") - }, - { - id: "Comfy.Canvas.ToggleLock", - icon: "pi pi-lock", - label: "Canvas Toggle Lock", - function: /* @__PURE__ */ __name(() => { - app.canvas["read_only"] = !app.canvas["read_only"]; - }, "function") - }, - { - id: "Comfy.Canvas.ToggleLinkVisibility", - icon: "pi pi-eye", - label: "Canvas Toggle Link Visibility", - versionAdded: "1.3.6", - function: (() => { - const settingStore = useSettingStore(); - let lastLinksRenderMode = LiteGraph.SPLINE_LINK; - return () => { - const currentMode = settingStore.get("Comfy.LinkRenderMode"); - if (currentMode === LiteGraph.HIDDEN_LINK) { - settingStore.set("Comfy.LinkRenderMode", lastLinksRenderMode); - } else { - lastLinksRenderMode = currentMode; - settingStore.set("Comfy.LinkRenderMode", LiteGraph.HIDDEN_LINK); - } - }; - })() - }, - { - id: "Comfy.QueuePrompt", - icon: "pi pi-play", - label: "Queue Prompt", - versionAdded: "1.3.7", - function: /* @__PURE__ */ __name(() => { - const batchCount = useQueueSettingsStore().batchCount; - app.queuePrompt(0, batchCount); - }, "function") - }, - { - id: "Comfy.QueuePromptFront", - icon: "pi pi-play", - label: "Queue Prompt (Front)", - versionAdded: "1.3.7", - function: /* @__PURE__ */ __name(() => { - const batchCount = useQueueSettingsStore().batchCount; - app.queuePrompt(-1, batchCount); - }, "function") - }, - { - id: "Comfy.ShowSettingsDialog", - icon: "pi pi-cog", - label: "Show Settings Dialog", - versionAdded: "1.3.7", - function: /* @__PURE__ */ __name(() => { - dialogService.showSettingsDialog(); - }, "function") - }, - { - id: "Comfy.Graph.GroupSelectedNodes", - icon: "pi pi-sitemap", - label: "Group Selected Nodes", - versionAdded: "1.3.7", - function: /* @__PURE__ */ __name(() => { - const { canvas } = app; - if (!canvas.selectedItems?.size) { - useToastStore().add({ - severity: "error", - summary: "Nothing to group", - detail: "Please select the nodes (or other groups) to create a group for", - life: 3e3 - }); - return; - } - const group = new LGraphGroup(); - const padding = useSettingStore().get( - "Comfy.GroupSelectedNodes.Padding" - ); - group.resizeTo(canvas.selectedItems, padding); - canvas.graph.add(group); - useTitleEditorStore().titleEditorTarget = group; - }, "function") - }, - { - id: "Workspace.NextOpenedWorkflow", - icon: "pi pi-step-forward", - label: "Next Opened Workflow", - versionAdded: "1.3.9", - function: /* @__PURE__ */ __name(() => { - workflowService.loadNextOpenedWorkflow(); - }, "function") - }, - { - id: "Workspace.PreviousOpenedWorkflow", - icon: "pi pi-step-backward", - label: "Previous Opened Workflow", - versionAdded: "1.3.9", - function: /* @__PURE__ */ __name(() => { - workflowService.loadPreviousOpenedWorkflow(); - }, "function") - }, - { - id: "Comfy.Canvas.ToggleSelectedNodes.Mute", - icon: "pi pi-volume-off", - label: "Mute/Unmute Selected Nodes", - versionAdded: "1.3.11", - function: /* @__PURE__ */ __name(() => { - toggleSelectedNodesMode(LGraphEventMode.NEVER); - }, "function") - }, - { - id: "Comfy.Canvas.ToggleSelectedNodes.Bypass", - icon: "pi pi-shield", - label: "Bypass/Unbypass Selected Nodes", - versionAdded: "1.3.11", - function: /* @__PURE__ */ __name(() => { - toggleSelectedNodesMode(LGraphEventMode.BYPASS); - }, "function") - }, - { - id: "Comfy.Canvas.ToggleSelectedNodes.Pin", - icon: "pi pi-pin", - label: "Pin/Unpin Selected Nodes", - versionAdded: "1.3.11", - function: /* @__PURE__ */ __name(() => { - getSelectedNodes().forEach((node) => { - node.pin(!node.pinned); - }); - }, "function") - }, - { - id: "Comfy.Canvas.ToggleSelected.Pin", - icon: "pi pi-pin", - label: "Pin/Unpin Selected Items", - versionAdded: "1.3.33", - function: /* @__PURE__ */ __name(() => { - for (const item of app.canvas.selectedItems) { - if (item instanceof LGraphNode || item instanceof LGraphGroup) { - item.pin(!item.pinned); - } - } - }, "function") - }, - { - id: "Comfy.Canvas.ToggleSelectedNodes.Collapse", - icon: "pi pi-minus", - label: "Collapse/Expand Selected Nodes", - versionAdded: "1.3.11", - function: /* @__PURE__ */ __name(() => { - getSelectedNodes().forEach((node) => { - node.collapse(); - }); - }, "function") - }, - { - id: "Comfy.ToggleTheme", - icon: "pi pi-moon", - label: "Toggle Theme (Dark/Light)", - versionAdded: "1.3.12", - function: (() => { - let previousDarkTheme = DEFAULT_DARK_COLOR_PALETTE.id; - let previousLightTheme = DEFAULT_LIGHT_COLOR_PALETTE.id; - return () => { - const settingStore = useSettingStore(); - const theme = colorPaletteStore.completedActivePalette; - if (theme.light_theme) { - previousLightTheme = theme.id; - settingStore.set("Comfy.ColorPalette", previousDarkTheme); - } else { - previousDarkTheme = theme.id; - settingStore.set("Comfy.ColorPalette", previousLightTheme); - } - }; - })() - }, - { - id: "Workspace.ToggleBottomPanel", - icon: "pi pi-list", - label: "Toggle Bottom Panel", - versionAdded: "1.3.22", - function: /* @__PURE__ */ __name(() => { - useBottomPanelStore().toggleBottomPanel(); - }, "function") - }, - { - id: "Workspace.ToggleFocusMode", - icon: "pi pi-eye", - label: "Toggle Focus Mode", - versionAdded: "1.3.27", - function: /* @__PURE__ */ __name(() => { - useWorkspaceStore().toggleFocusMode(); - }, "function") - }, - { - id: "Comfy.Graph.FitGroupToContents", - icon: "pi pi-expand", - label: "Fit Group To Contents", - versionAdded: "1.4.9", - function: /* @__PURE__ */ __name(() => { - for (const group of app.canvas.selectedItems) { - if (group instanceof LGraphGroup) { - group.recomputeInsideNodes(); - const padding = useSettingStore().get( - "Comfy.GroupSelectedNodes.Padding" - ); - group.resizeTo(group.children, padding); - app.graph.change(); - } - } - }, "function") - }, - { - id: "Comfy.Help.OpenComfyUIIssues", - icon: "pi pi-github", - label: "Open ComfyUI Issues", - menubarLabel: "ComfyUI Issues", - versionAdded: "1.5.5", - function: /* @__PURE__ */ __name(() => { - window.open( - "https://github.com/comfyanonymous/ComfyUI/issues", - "_blank" - ); - }, "function") - }, - { - id: "Comfy.Help.OpenComfyUIDocs", - icon: "pi pi-info-circle", - label: "Open ComfyUI Docs", - menubarLabel: "ComfyUI Docs", - versionAdded: "1.5.5", - function: /* @__PURE__ */ __name(() => { - window.open("https://docs.comfy.org/", "_blank"); - }, "function") - }, - { - id: "Comfy.Help.OpenComfyOrgDiscord", - icon: "pi pi-discord", - label: "Open Comfy-Org Discord", - menubarLabel: "Comfy-Org Discord", - versionAdded: "1.5.5", - function: /* @__PURE__ */ __name(() => { - window.open("https://www.comfy.org/discord", "_blank"); - }, "function") - }, - { - id: "Workspace.SearchBox.Toggle", - icon: "pi pi-search", - label: "Toggle Search Box", - versionAdded: "1.5.7", - function: /* @__PURE__ */ __name(() => { - useSearchBoxStore().toggleVisible(); - }, "function") - }, - { - id: "Comfy.Help.AboutComfyUI", - icon: "pi pi-info-circle", - label: "Open About ComfyUI", - menubarLabel: "About ComfyUI", - versionAdded: "1.6.4", - function: /* @__PURE__ */ __name(() => { - dialogService.showSettingsDialog("about"); - }, "function") - }, - { - id: "Comfy.DuplicateWorkflow", - icon: "pi pi-clone", - label: "Duplicate Current Workflow", - versionAdded: "1.6.15", - function: /* @__PURE__ */ __name(() => { - workflowService.duplicateWorkflow(workflowStore.activeWorkflow); - }, "function") - }, - { - id: "Workspace.CloseWorkflow", - icon: "pi pi-times", - label: "Close Current Workflow", - versionAdded: "1.7.3", - function: /* @__PURE__ */ __name(() => { - if (workflowStore.activeWorkflow) - workflowService.closeWorkflow(workflowStore.activeWorkflow); - }, "function") - }, - { - id: "Comfy.Feedback", - icon: "pi pi-megaphone", - label: "Give Feedback", - versionAdded: "1.8.2", - function: /* @__PURE__ */ __name(() => { - dialogService.showIssueReportDialog({ - title: t("g.feedback"), - subtitle: t("issueReport.feedbackTitle"), - panelProps: { - errorType: "Feedback", - defaultFields: ["SystemStats", "Settings"] - } - }); - }, "function") - }, - { - id: "Comfy.Help.OpenComfyUIForum", - icon: "pi pi-comments", - label: "Open ComfyUI Forum", - menubarLabel: "ComfyUI Forum", - versionAdded: "1.8.2", - function: /* @__PURE__ */ __name(() => { - window.open("https://forum.comfy.org/", "_blank"); - }, "function") - } - ]; -} -__name(useCoreCommands, "useCoreCommands"); function setupAutoQueueHandler() { const queueCountStore = useQueuePendingTaskCountStore(); const queueSettingsStore = useQueueSettingsStore(); @@ -4518,6 +4722,19 @@ function setupAutoQueueHandler() { ); } __name(setupAutoQueueHandler, "setupAutoQueueHandler"); +const _hoisted_1 = { class: "comfyui-body grid h-screen w-screen overflow-hidden" }; +const _hoisted_2 = { + class: "comfyui-body-top", + id: "comfyui-body-top" +}; +const _hoisted_3 = { + class: "comfyui-body-bottom", + id: "comfyui-body-bottom" +}; +const _hoisted_4 = { + class: "graph-canvas-container", + id: "graph-canvas-container" +}; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "GraphView", setup(__props) { @@ -4588,9 +4805,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ i18n.global.locale.value = locale; } }); + const useNewMenu = computed(() => { + return settingStore.get("Comfy.UseNewMenu"); + }); watchEffect(() => { - const useNewMenu = settingStore.get("Comfy.UseNewMenu"); - if (useNewMenu === "Disabled") { + if (useNewMenu.value === "Disabled") { app.ui.menuContainer.style.setProperty("display", "block"); app.ui.restoreMenuPosition(); } else { @@ -4666,8 +4885,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ }, "onGraphReady"); return (_ctx, _cache) => { return openBlock(), createElementBlock(Fragment, null, [ - createVNode(TopMenubar), - createVNode(_sfc_main$8, { onReady: onGraphReady }), + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("div", _hoisted_2, [ + useNewMenu.value === "Top" ? (openBlock(), createBlock(TopMenubar, { key: 0 })) : createCommentVNode("", true) + ]), + createBaseVNode("div", _hoisted_3, [ + useNewMenu.value === "Bottom" ? (openBlock(), createBlock(TopMenubar, { key: 0 })) : createCommentVNode("", true) + ]), + _cache[0] || (_cache[0] = createBaseVNode("div", { + class: "comfyui-body-left", + id: "comfyui-body-left" + }, null, -1)), + _cache[1] || (_cache[1] = createBaseVNode("div", { + class: "comfyui-body-right", + id: "comfyui-body-right" + }, null, -1)), + createBaseVNode("div", _hoisted_4, [ + createVNode(_sfc_main$8, { onReady: onGraphReady }) + ]) + ]), createVNode(_sfc_main$7), !unref(isElectron)() ? (openBlock(), createBlock(_sfc_main$s, { key: 0 })) : createCommentVNode("", true), createVNode(_sfc_main$u), @@ -4676,7 +4912,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ }; } }); +const GraphView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e89d9273"]]); export { - _sfc_main as default + GraphView as default }; -//# sourceMappingURL=GraphView-D9ZzDQZV.js.map +//# sourceMappingURL=GraphView-CLFBgoGf.js.map diff --git a/web/assets/InstallView-CVZcZZXJ.js b/web/assets/InstallView-x9XCq0hC.js similarity index 95% rename from web/assets/InstallView-CVZcZZXJ.js rename to web/assets/InstallView-x9XCq0hC.js index 25d05f5f0..9487ebf27 100644 --- a/web/assets/InstallView-CVZcZZXJ.js +++ b/web/assets/InstallView-x9XCq0hC.js @@ -1,9 +1,9 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, U as ref, bm as useModel, o as openBlock, f as createElementBlock, m as createBaseVNode, E as toDisplayString, k as createVNode, j as unref, bn as script, bh as script$1, ar as withModifiers, z as withCtx, ab as script$2, K as useI18n, c as computed, ai as normalizeClass, B as createCommentVNode, a4 as script$3, a7 as createTextVNode, b5 as electronAPI, _ as _export_sfc, p as onMounted, r as resolveDirective, bg as script$4, i as withDirectives, bo as script$5, bp as script$6, l as script$7, y as createBlock, bj as script$8, bq as MigrationItems, w as watchEffect, F as Fragment, D as renderList, br as script$9, bs as mergeModels, bt as ValidationState, Y as normalizeI18nKey, O as watch, bu as checkMirrorReachable, bv as _sfc_main$7, bw as mergeValidationStates, bc as t, a$ as script$a, bx as CUDA_TORCH_URL, by as NIGHTLY_CPU_TORCH_URL, be as useRouter, ag as toRaw } from "./index-DqqhYDnY.js"; -import { s as script$b, a as script$c, b as script$d, c as script$e, d as script$f } from "./index-BNlqgrYT.js"; +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-DqXp9vW4.js"; +import { s as script$b, a as script$c, b as script$d, c as script$e, d as script$f } from "./index-A-dAhghd.js"; import { P as PYTHON_MIRROR, a as PYPI_MIRROR } from "./uvMirrors-B-HKMf6X.js"; -import { _ as _sfc_main$8 } from "./BaseViewTemplate-Cz111_1A.js"; +import { _ as _sfc_main$8 } from "./BaseViewTemplate-DlGljfEG.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" }; @@ -314,6 +314,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ const pathExists = ref(false); const appData = ref(""); const appPath = ref(""); + const inputTouched = ref(false); const electron = electronAPI(); onMounted(async () => { const paths = await electron.getSystemPaths(); @@ -355,6 +356,13 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ pathError.value = t2("install.failedToSelectDirectory"); } }, "browsePath"); + const onFocus = /* @__PURE__ */ __name(() => { + if (!inputTouched.value) { + inputTouched.value = true; + return; + } + validatePath(installPath.value); + }, "onFocus"); return (_ctx, _cache) => { const _directive_tooltip = resolveDirective("tooltip"); return openBlock(), createElementBlock("div", _hoisted_1$3, [ @@ -370,10 +378,16 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ _cache[0] || (_cache[0] = ($event) => installPath.value = $event), validatePath ], - class: normalizeClass(["w-full", { "p-invalid": pathError.value }]) + class: normalizeClass(["w-full", { "p-invalid": pathError.value }]), + onFocus }, null, 8, ["modelValue", "class"]), withDirectives(createVNode(unref(script$5), { class: "pi pi-info-circle" }, null, 512), [ - [_directive_tooltip, _ctx.$t("install.installLocationTooltip")] + [ + _directive_tooltip, + _ctx.$t("install.installLocationTooltip"), + void 0, + { top: true } + ] ]) ]), _: 1 @@ -595,13 +609,12 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ } }); return (_ctx, _cache) => { - const _component_UrlInput = _sfc_main$7; return openBlock(), createElementBlock("div", _hoisted_1$1, [ createBaseVNode("div", _hoisted_2$1, [ createBaseVNode("h3", _hoisted_3$1, toDisplayString(_ctx.$t(`settings.${normalizedSettingId.value}.name`)), 1), createBaseVNode("p", _hoisted_4$1, toDisplayString(_ctx.$t(`settings.${normalizedSettingId.value}.tooltip`)), 1) ]), - createVNode(_component_UrlInput, { + createVNode(_sfc_main$7, { modelValue: modelValue.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event), "validate-url-fn": /* @__PURE__ */ __name((mirror) => unref(checkMirrorReachable)(mirror + (_ctx.item.validationPathSuffix ?? "")), "validate-url-fn"), @@ -653,11 +666,24 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ }; } }, "getTorchMirrorItem"); - const mirrors = computed(() => [ - [PYTHON_MIRROR, pythonMirror], - [PYPI_MIRROR, pypiMirror], - [getTorchMirrorItem(__props.device), torchMirror] - ]); + const userIsInChina = ref(false); + onMounted(async () => { + userIsInChina.value = await isInChina(); + }); + const useFallbackMirror = /* @__PURE__ */ __name((mirror) => ({ + ...mirror, + mirror: mirror.fallbackMirror + }), "useFallbackMirror"); + const mirrors = computed( + () => [ + [PYTHON_MIRROR, pythonMirror], + [PYPI_MIRROR, pypiMirror], + [getTorchMirrorItem(__props.device), torchMirror] + ].map(([item, modelValue]) => [ + userIsInChina.value ? useFallbackMirror(item) : item, + modelValue + ]) + ); const validationStates = ref( mirrors.value.map(() => ValidationState.IDLE) ); @@ -942,4 +968,4 @@ const InstallView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data- export { InstallView as default }; -//# sourceMappingURL=InstallView-CVZcZZXJ.js.map +//# sourceMappingURL=InstallView-x9XCq0hC.js.map diff --git a/web/assets/KeybindingPanel-CeHhC2F4.js b/web/assets/KeybindingPanel-BIrxefrS.js similarity index 90% rename from web/assets/KeybindingPanel-CeHhC2F4.js rename to web/assets/KeybindingPanel-BIrxefrS.js index c14bb7632..dc8d2ae3c 100644 --- a/web/assets/KeybindingPanel-CeHhC2F4.js +++ b/web/assets/KeybindingPanel-BIrxefrS.js @@ -1,9 +1,9 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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, dl 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, dm 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, dn as _sfc_main$2, dp as KeyComboImpl, dq as KeybindingImpl, _ as _export_sfc } from "./index-DqqhYDnY.js"; -import { g as script$1, h as script$3 } from "./index-BapOFhAR.js"; -import { u as useKeybindingService } from "./keybindingService-DEgCutrm.js"; -import "./index-DXE47DZl.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-DqXp9vW4.js"; +import { g as script$1, h as script$3 } from "./index-KUUE4Ew8.js"; +import { u as useKeybindingService } from "./keybindingService-DgS0S2M6.js"; +import "./index-BTHx8UHZ.js"; const _hoisted_1$1 = { key: 0, class: "px-2" @@ -96,6 +96,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ } __name(removeKeybinding, "removeKeybinding"); function captureKeybinding(event) { + if (!event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey) { + switch (event.key) { + case "Escape": + cancelEdit(); + return; + case "Enter": + saveKeybinding(); + return; + } + } const keyCombo = KeyComboImpl.fromEvent(event); newBindingKeyCombo.value = keyCombo; } @@ -151,7 +161,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ value: commandsData.value, selection: selectedCommandData.value, "onUpdate:selection": _cache[1] || (_cache[1] = ($event) => selectedCommandData.value = $event), - "global-filter-fields": ["id"], + "global-filter-fields": ["id", "label"], filters: filters.value, selectionMode: "single", stripedRows: "", @@ -216,7 +226,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ visible: editDialogVisible.value, "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => editDialogVisible.value = $event), modal: "", - header: currentEditingCommand.value?.id, + header: currentEditingCommand.value?.label, onHide: cancelEdit }, { footer: withCtx(() => [ @@ -275,8 +285,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ }; } }); -const KeybindingPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2554ab36"]]); +const KeybindingPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8454e24f"]]); export { KeybindingPanel as default }; -//# sourceMappingURL=KeybindingPanel-CeHhC2F4.js.map +//# sourceMappingURL=KeybindingPanel-BIrxefrS.js.map diff --git a/web/assets/KeybindingPanel-CDYVPYDp.css b/web/assets/KeybindingPanel-CDYVPYDp.css new file mode 100644 index 000000000..2392e4f5c --- /dev/null +++ b/web/assets/KeybindingPanel-CDYVPYDp.css @@ -0,0 +1,8 @@ + +[data-v-8454e24f] .p-datatable-tbody > tr > td { + padding: 0.25rem; + min-height: 2rem +} +[data-v-8454e24f] .p-datatable-row-selected .actions,[data-v-8454e24f] .p-datatable-selectable-row:hover .actions { + visibility: visible +} diff --git a/web/assets/KeybindingPanel-DvrUYZ4S.css b/web/assets/KeybindingPanel-DvrUYZ4S.css deleted file mode 100644 index 8f714bcdb..000000000 --- a/web/assets/KeybindingPanel-DvrUYZ4S.css +++ /dev/null @@ -1,8 +0,0 @@ - -[data-v-2554ab36] .p-datatable-tbody > tr > td { - padding: 0.25rem; - min-height: 2rem -} -[data-v-2554ab36] .p-datatable-row-selected .actions,[data-v-2554ab36] .p-datatable-selectable-row:hover .actions { - visibility: visible -} diff --git a/web/assets/MaintenanceView-Df7CHNWW.js b/web/assets/MaintenanceView-BUmTZX1d.js similarity index 97% rename from web/assets/MaintenanceView-Df7CHNWW.js rename to web/assets/MaintenanceView-BUmTZX1d.js index 88056ab28..f52e9b169 100644 --- a/web/assets/MaintenanceView-Df7CHNWW.js +++ b/web/assets/MaintenanceView-BUmTZX1d.js @@ -1,396 +1,13 @@ var __defProp = Object.defineProperty; var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); -import { bA as BaseStyle, bB as script$1d, bC as ZIndex, bD as addClass, bE as focus, bF as blockBodyScroll, bG as unblockBodyScroll, bH as FocusTrap, l as script$1e, bI as script$1f, bJ as script$1g, bK as resolveComponent, r as resolveDirective, o as openBlock, y as createBlock, z as withCtx, f as createElementBlock, as as mergeProps, k as createVNode, bL as Transition, i as withDirectives, A as renderSlot, F as Fragment, m as createBaseVNode, ai as normalizeClass, E as toDisplayString, B as createCommentVNode, C as resolveDynamicComponent, d as defineComponent, bs as mergeModels, bm as useModel, v as vShow, j as unref, bM as script$1h, c as computed, bN as PrimeIcons, bc as t, a4 as script$1i, aZ as inject, bO as findSingle, bP as getAttribute, bQ as script$1j, bR as script$1k, bS as Ripple, bT as UniqueComponentId, bU as script$1l, D as renderList, bV as BaseDirective, bW as removeClass, bX as createElement, bY as hasClass, bZ as script$1m, b_ as script$1n, b$ as addStyle, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, c2 as relativePosition, c3 as getOuterWidth, c4 as absolutePosition, c5 as find, c6 as getIndex, c7 as getFocusableElements, c8 as OverlayEventBus, c9 as setAttribute, ca as localeComparator, bg as script$1o, cb as script$1p, n as normalizeStyle, a7 as createTextVNode, bf as withKeys, cc as resolveFieldData, cd as isNotEmpty, ce as equals, cf as script$1q, cg as isString, ch as isPrintableCharacter, ci as isEmpty, cj as findLastIndex, ck as script$1r, cl as script$1s, cm as uuid, a8 as script$1t, cn as sort, co as createSlots, cp as EventBus, H as markRaw, cq as resolve, cr as Tooltip, bi as script$1v, ab as script$1w, cs as script$1x, ct as script$1y, cu as script$1z, bz as script$1A, bj as script$1B, cv as normalizeProps, cw as isAttributeEquals, cx as guardReactiveProps, cy as setCSSProperty, cz as $dt, cA as script$1D, cB as script$1F, cC as getUserAgent, bn as script$1G, cD as script$1H, cE as getFirstFocusableElement, cF as getLastFocusableElement, cG as FilterService, br as script$1J, cH as script$1K, bp as script$1L, bo as script$1M, cI as script$1N, cJ as findIndexInList, cK as scrollInView, cL as script$1O, cM as script$1P, cN as script$1Q, cO as findLast, cP as getWindowScrollTop, cQ as getWidth, cR as getOffset, cS as vModelText, cT as script$1U, ar as withModifiers, cU as getVNodeProp, cV as getNextElementSibling, cW as getPreviousElementSibling, cX as isClickable, cY as _default, cZ as clearSelection, c_ as isRTL, b5 as electronAPI, I as defineStore, U as ref, c$ as useTimeout, O as watch, d0 as script$1Y, _ as _export_sfc, aR as useToast, d1 as useConfirm, bh as script$1Z, d2 as script$1_, p as onMounted, d3 as onUnmounted, av as script$1$, af as isRef, bl as BaseTerminal } from "./index-DqqhYDnY.js"; -import { j as script$1C, k as script$1E, g as script$20 } from "./index-DKIv7atk.js"; -import { s as script$1u, a as script$1R, b as script$1S, c as script$1T, d as script$1V, e as script$1W, f as script$1X } from "./index-BapOFhAR.js"; -import { s as script$1I } from "./index-DXE47DZl.js"; -import "./index-BNlqgrYT.js"; -import { _ as _sfc_main$7 } from "./BaseViewTemplate-Cz111_1A.js"; -var theme$D = /* @__PURE__ */ __name(function theme(_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$9 = { - 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$M = { - mask: /* @__PURE__ */ __name(function mask2(_ref3) { - var instance = _ref3.instance, props = _ref3.props; - var positions = ["left", "right", "top", "bottom"]; - var pos = positions.find(function(item8) { - return item8 === 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: theme$D, - classes: classes$M, - inlineStyles: inlineStyles$9 -}); -var script$1$O = { - name: "BaseDrawer", - "extends": script$1d, - 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 _default2() { - 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$1c = { - name: "Drawer", - "extends": script$1$O, - 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(event2) { - if (this.dismissable && this.modal && this.mask === event2.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(event2) { - if (event2.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(event2) { - if (_this.isOutsideClicked(event2)) { - _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(event2) { - return this.container && !this.container.contains(event2.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$1e, - Portal: script$1f, - TimesIcon: script$1g - } -}; -var _hoisted_1$v = ["aria-modal"]; -function render$13(_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$v)), [[_directive_focustrap]]) : createCommentVNode("", true)]; - }), - _: 3 - }, 16, ["onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"])], 16)) : createCommentVNode("", true)]; - }), - _: 3 - }); -} -__name(render$13, "render$13"); -script$1c.render = render$13; +import { d as defineComponent, bw as mergeModels, bq as useModel, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, aj as normalizeClass, i as withDirectives, v as vShow, k as createVNode, j as unref, bE as script$1c, l as script$1d, c as computed, bF as PrimeIcons, bg as t, a5 as script$1e, b1 as inject, bG as BaseStyle, bH as script$1f, at as mergeProps, bI as Transition, C as resolveDynamicComponent, A as renderSlot, B as createCommentVNode, bJ as findSingle, bK as getAttribute, bL as focus, bM as script$1g, bN as script$1h, bO as Ripple, r as resolveDirective, bP as UniqueComponentId, bQ as script$1i, bR as resolveComponent, f as createElementBlock, F as Fragment, D as renderList, E as toDisplayString, bS as BaseDirective, bT as removeClass, bU as addClass, bV as createElement, bW as hasClass, bX as script$1j, bY as script$1k, bZ as ZIndex, b_ as addStyle, b$ as ConnectedOverlayScrollHandler, c0 as isTouchDevice, c1 as relativePosition, c2 as getOuterWidth, c3 as absolutePosition, c4 as find, c5 as getIndex, c6 as getFocusableElements, c7 as OverlayEventBus, c8 as setAttribute, c9 as localeComparator, bk as script$1l, ca as script$1m, cb as script$1n, n as normalizeStyle, a8 as createTextVNode, bj as withKeys, cc as resolveFieldData, cd as isNotEmpty, ce as equals, cf as script$1o, cg as isString, ch as isPrintableCharacter, ci as isEmpty, cj as findLastIndex, ck as script$1p, cl as script$1q, cm as script$1r, cn as uuid, a9 as script$1s, co as sort, cp as createSlots, cq as EventBus, H as markRaw, cr as resolve, cs as Tooltip, bm as script$1u, ac as script$1v, ct as script$1w, cu as script$1x, cv as script$1y, cw as script$1z, bn as script$1A, cx as normalizeProps, cy as blockBodyScroll, cz as isAttributeEquals, cA as unblockBodyScroll, cB as FocusTrap, cC as guardReactiveProps, cD as setCSSProperty, cE as $dt, cF as script$1C, cG as script$1E, cH as getUserAgent, br as script$1F, cI as script$1G, cJ as getFirstFocusableElement, cK as getLastFocusableElement, cL as FilterService, bv as script$1I, cM as script$1J, bt as script$1K, bs as script$1L, cN as script$1M, cO as findIndexInList, cP as scrollInView, cQ as script$1N, cR as script$1O, cS as script$1P, cT as findLast, cU as getWindowScrollTop, cV as getWidth, cW as getOffset, cX as vModelText, cY as script$1U, as as withModifiers, cZ as getVNodeProp, c_ as getNextElementSibling, c$ as getPreviousElementSibling, d0 as isClickable, d1 as _default, d2 as clearSelection, d3 as isRTL, b9 as electronAPI, a1 as defineStore, T as ref, d4 as useTimeout, N as watch, d5 as script$1Y, _ as _export_sfc, aV as useToast, d6 as useConfirm, bl as script$1Z, d7 as script$1_, p as onMounted, d8 as onUnmounted, aw as script$1$, ag as isRef } from "./index-DqXp9vW4.js"; +import { a as script$1B, b as script$1D, s as script$20 } from "./index-B0BQ8jlU.js"; +import "./index-DSWvxALN.js"; +import { s as script$1t, a as script$1Q, b as script$1R, c as script$1S, d as script$1V, e as script$1W, f as script$1X } from "./index-KUUE4Ew8.js"; +import { s as script$1T, _ as _sfc_main$7 } from "./TerminalOutputDrawer-BgTEspHP.js"; +import { s as script$1H } from "./index-BTHx8UHZ.js"; +import "./index-A-dAhghd.js"; +import { _ as _sfc_main$8 } from "./BaseViewTemplate-DlGljfEG.js"; const _sfc_main$6 = /* @__PURE__ */ defineComponent({ __name: "RefreshButton", props: /* @__PURE__ */ mergeModels({ @@ -406,7 +23,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ const props = __props; const active3 = useModel(__props, "modelValue"); return (_ctx, _cache) => { - return openBlock(), createBlock(unref(script$1e), { + return openBlock(), createBlock(unref(script$1d), { class: "relative p-button-icon-only", outlined: props.outlined, severity: props.severity, @@ -422,7 +39,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ class: "p-button-label", "data-pc-section": "label" }, " ", -1)), - withDirectives(createVNode(unref(script$1h), { class: "absolute w-1/2 h-1/2" }, null, 512), [ + withDirectives(createVNode(unref(script$1c), { class: "absolute w-1/2 h-1/2" }, null, 512), [ [vShow, active3.value] ]) ]), @@ -455,7 +72,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({ return t("maintenance.OK"); }); return (_ctx, _cache) => { - return openBlock(), createBlock(unref(script$1i), { + return openBlock(), createBlock(unref(script$1e), { icon: icon2.value, severity: severity.value, value: value2.value @@ -482,7 +99,7 @@ var AccordionContentStyle = BaseStyle.extend({ }); var script$1$N = { name: "BaseAccordionContent", - "extends": script$1d, + "extends": script$1f, props: { as: { type: [String, Object], @@ -494,7 +111,7 @@ var script$1$N = { } }, style: AccordionContentStyle, - provide: /* @__PURE__ */ __name(function provide2() { + provide: /* @__PURE__ */ __name(function provide() { return { $pcAccordionContent: this, $parentInstance: this @@ -572,7 +189,7 @@ var AccordionHeaderStyle = BaseStyle.extend({ }); var script$1$M = { name: "BaseAccordionHeader", - "extends": script$1d, + "extends": script$1f, props: { as: { type: [String, Object], @@ -584,7 +201,7 @@ var script$1$M = { } }, style: AccordionHeaderStyle, - provide: /* @__PURE__ */ __name(function provide3() { + provide: /* @__PURE__ */ __name(function provide2() { return { $pcAccordionHeader: this, $parentInstance: this @@ -603,7 +220,7 @@ var script$1a = { onClick: /* @__PURE__ */ __name(function onClick() { this.changeActiveValue(); }, "onClick"), - onKeydown: /* @__PURE__ */ __name(function onKeydown2(event2) { + onKeydown: /* @__PURE__ */ __name(function onKeydown(event2) { switch (event2.code) { case "ArrowDown": this.onArrowDownKey(event2); @@ -715,8 +332,8 @@ var script$1a = { }, "ptParams") }, components: { - ChevronUpIcon: script$1j, - ChevronDownIcon: script$1k + ChevronUpIcon: script$1g, + ChevronDownIcon: script$1h }, directives: { ripple: Ripple @@ -759,7 +376,7 @@ function render$11(_ctx, _cache, $props, $setup, $data, $options) { __name(render$11, "render$11"); script$1a.render = render$11; var classes$J = { - root: /* @__PURE__ */ __name(function root2(_ref) { + root: /* @__PURE__ */ __name(function root(_ref) { var instance = _ref.instance, props = _ref.props; return ["p-accordionpanel", { "p-accordionpanel-active": instance.active, @@ -773,7 +390,7 @@ var AccordionPanelStyle = BaseStyle.extend({ }); var script$1$L = { name: "BaseAccordionPanel", - "extends": script$1d, + "extends": script$1f, props: { value: { type: [String, Number], @@ -793,7 +410,7 @@ var script$1$L = { } }, style: AccordionPanelStyle, - provide: /* @__PURE__ */ __name(function provide4() { + provide: /* @__PURE__ */ __name(function provide3() { return { $pcAccordionPanel: this, $parentInstance: this @@ -846,7 +463,7 @@ function render$10(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$10, "render$10"); script$19.render = render$10; -var theme$C = /* @__PURE__ */ __name(function theme2(_ref) { +var theme$C = /* @__PURE__ */ __name(function theme(_ref) { var dt = _ref.dt; return "\n.p-accordionpanel {\n display: flex;\n flex-direction: column;\n border-style: solid;\n border-width: ".concat(dt("accordion.panel.border.width"), ";\n border-color: ").concat(dt("accordion.panel.border.color"), ";\n}\n\n.p-accordionheader {\n all: unset;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ").concat(dt("accordion.header.padding"), ";\n color: ").concat(dt("accordion.header.color"), ";\n background: ").concat(dt("accordion.header.background"), ";\n border-style: solid;\n border-width: ").concat(dt("accordion.header.border.width"), ";\n border-color: ").concat(dt("accordion.header.border.color"), ";\n font-weight: ").concat(dt("accordion.header.font.weight"), ";\n border-radius: ").concat(dt("accordion.header.border.radius"), ";\n transition: background ").concat(dt("accordion.transition.duration"), "; color ").concat(dt("accordion.transition.duration"), "color ").concat(dt("accordion.transition.duration"), ", outline-color ").concat(dt("accordion.transition.duration"), ", box-shadow ").concat(dt("accordion.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-accordionpanel:first-child > .p-accordionheader {\n border-width: ").concat(dt("accordion.header.first.border.width"), ";\n border-start-start-radius: ").concat(dt("accordion.header.first.top.border.radius"), ";\n border-start-end-radius: ").concat(dt("accordion.header.first.top.border.radius"), ";\n}\n\n.p-accordionpanel:last-child > .p-accordionheader {\n border-end-start-radius: ").concat(dt("accordion.header.last.bottom.border.radius"), ";\n border-end-end-radius: ").concat(dt("accordion.header.last.bottom.border.radius"), ";\n}\n\n.p-accordionpanel:last-child.p-accordionpanel-active > .p-accordionheader {\n border-end-start-radius: ").concat(dt("accordion.header.last.active.bottom.border.radius"), ";\n border-end-end-radius: ").concat(dt("accordion.header.last.active.bottom.border.radius"), ";\n}\n\n.p-accordionheader-toggle-icon {\n color: ").concat(dt("accordion.header.toggle.icon.color"), ";\n}\n\n.p-accordionpanel:not(.p-disabled) .p-accordionheader:focus-visible {\n box-shadow: ").concat(dt("accordion.header.focus.ring.shadow"), ";\n outline: ").concat(dt("accordion.header.focus.ring.width"), " ").concat(dt("accordion.header.focus.ring.style"), " ").concat(dt("accordion.header.focus.ring.color"), ";\n outline-offset: ").concat(dt("accordion.header.focus.ring.offset"), ";\n}\n\n.p-accordionpanel:not(.p-accordionpanel-active):not(.p-disabled) > .p-accordionheader:hover {\n background: ").concat(dt("accordion.header.hover.background"), ";\n color: ").concat(dt("accordion.header.hover.color"), ";\n}\n\n.p-accordionpanel:not(.p-accordionpanel-active):not(.p-disabled) .p-accordionheader:hover .p-accordionheader-toggle-icon {\n color: ").concat(dt("accordion.header.toggle.icon.hover.color"), ";\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader {\n background: ").concat(dt("accordion.header.active.background"), ";\n color: ").concat(dt("accordion.header.active.color"), ";\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader .p-accordionheader-toggle-icon {\n color: ").concat(dt("accordion.header.toggle.icon.active.color"), ";\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader:hover {\n background: ").concat(dt("accordion.header.active.hover.background"), ";\n color: ").concat(dt("accordion.header.active.hover.color"), ";\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader:hover .p-accordionheader-toggle-icon {\n color: ").concat(dt("accordion.header.toggle.icon.active.hover.color"), ";\n}\n\n.p-accordioncontent-content {\n border-style: solid;\n border-width: ").concat(dt("accordion.content.border.width"), ";\n border-color: ").concat(dt("accordion.content.border.color"), ";\n background-color: ").concat(dt("accordion.content.background"), ";\n color: ").concat(dt("accordion.content.color"), ";\n padding: ").concat(dt("accordion.content.padding"), ";\n}\n"); }, "theme"); @@ -860,7 +477,7 @@ var AccordionStyle = BaseStyle.extend({ }); var script$1$K = { name: "BaseAccordion", - "extends": script$1d, + "extends": script$1f, props: { value: { type: [String, Number, Array], @@ -897,7 +514,7 @@ var script$1$K = { } }, style: AccordionStyle, - provide: /* @__PURE__ */ __name(function provide5() { + provide: /* @__PURE__ */ __name(function provide4() { return { $pcAccordion: this, $parentInstance: this @@ -909,7 +526,7 @@ var script$18 = { "extends": script$1$K, inheritAttrs: false, emits: ["update:value", "update:activeIndex", "tab-open", "tab-close", "tab-click"], - data: /* @__PURE__ */ __name(function data2() { + data: /* @__PURE__ */ __name(function data() { return { id: this.$attrs.id, d_value: this.value @@ -1040,8 +657,8 @@ var script$18 = { AccordionPanel: script$19, AccordionHeader: script$1a, AccordionContent: script$1b, - ChevronUpIcon: script$1j, - ChevronRightIcon: script$1l + ChevronUpIcon: script$1g, + ChevronRightIcon: script$1i } }; function render$$(_ctx, _cache, $props, $setup, $data, $options) { @@ -1115,7 +732,7 @@ var AccordionTabStyle = BaseStyle.extend({ }); var script$1$J = { name: "BaseAccordionTab", - "extends": script$1d, + "extends": script$1f, props: { header: null, headerStyle: null, @@ -1128,7 +745,7 @@ var script$1$J = { disabled: Boolean }, style: AccordionTabStyle, - provide: /* @__PURE__ */ __name(function provide6() { + provide: /* @__PURE__ */ __name(function provide5() { return { $pcAccordionTab: this, $parentInstance: this @@ -1284,9 +901,9 @@ var AnimateOnScroll = BaseAnimateOnScroll.extend("animateonscroll", { }, "bindAnimationEvents"), bindIntersectionObserver: /* @__PURE__ */ __name(function bindIntersectionObserver() { var _this2 = this; - var _this$$value = this.$value, root35 = _this$$value.root, rootMargin = _this$$value.rootMargin, _this$$value$threshol = _this$$value.threshold, threshold = _this$$value$threshol === void 0 ? 0.5 : _this$$value$threshol; + var _this$$value = this.$value, root34 = _this$$value.root, rootMargin = _this$$value.rootMargin, _this$$value$threshol = _this$$value.threshold, threshold = _this$$value$threshol === void 0 ? 0.5 : _this$$value$threshol; var options4 = { - root: root35, + root: root34, rootMargin, threshold }; @@ -1349,12 +966,12 @@ var AnimateOnScroll = BaseAnimateOnScroll.extend("animateonscroll", { }, "unbindIntersectionObserver") } }); -var theme$B = /* @__PURE__ */ __name(function theme3(_ref) { +var theme$B = /* @__PURE__ */ __name(function theme2(_ref) { var dt = _ref.dt; return "\n.p-avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ".concat(dt("avatar.width"), ";\n height: ").concat(dt("avatar.height"), ";\n font-size: ").concat(dt("avatar.font.size"), ";\n background: ").concat(dt("avatar.background"), ";\n color: ").concat(dt("avatar.color"), ";\n border-radius: ").concat(dt("avatar.border.radius"), ";\n}\n\n.p-avatar-image {\n background: transparent;\n}\n\n.p-avatar-circle {\n border-radius: 50%;\n}\n\n.p-avatar-circle img {\n border-radius: 50%;\n}\n\n.p-avatar-icon {\n font-size: ").concat(dt("avatar.icon.size"), ";\n width: ").concat(dt("avatar.icon.size"), ";\n height: ").concat(dt("avatar.icon.size"), ";\n}\n\n.p-avatar img {\n width: 100%;\n height: 100%;\n}\n\n.p-avatar-lg {\n width: ").concat(dt("avatar.lg.width"), ";\n height: ").concat(dt("avatar.lg.width"), ";\n font-size: ").concat(dt("avatar.lg.font.size"), ";\n}\n\n.p-avatar-lg .p-avatar-icon {\n font-size: ").concat(dt("avatar.lg.icon.size"), ";\n width: ").concat(dt("avatar.lg.icon.size"), ";\n height: ").concat(dt("avatar.lg.icon.size"), ";\n}\n\n.p-avatar-xl {\n width: ").concat(dt("avatar.xl.width"), ";\n height: ").concat(dt("avatar.xl.width"), ";\n font-size: ").concat(dt("avatar.xl.font.size"), ";\n}\n\n.p-avatar-xl .p-avatar-icon {\n font-size: ").concat(dt("avatar.xl.icon.size"), ";\n width: ").concat(dt("avatar.xl.icon.size"), ";\n height: ").concat(dt("avatar.xl.icon.size"), ";\n}\n\n.p-avatar-group {\n display: flex;\n align-items: center;\n}\n\n.p-avatar-group .p-avatar + .p-avatar {\n margin-inline-start: ").concat(dt("avatar.group.offset"), ";\n}\n\n.p-avatar-group .p-avatar {\n border: 2px solid ").concat(dt("avatar.group.border.color"), ";\n}\n\n.p-avatar-group .p-avatar-lg + .p-avatar-lg {\n margin-inline-start: ").concat(dt("avatar.lg.group.offset"), ";\n}\n\n.p-avatar-group .p-avatar-xl + .p-avatar-xl {\n margin-inline-start: ").concat(dt("avatar.xl.group.offset"), ";\n}\n"); }, "theme"); var classes$H = { - root: /* @__PURE__ */ __name(function root3(_ref2) { + root: /* @__PURE__ */ __name(function root2(_ref2) { var props = _ref2.props; return ["p-avatar p-component", { "p-avatar-image": props.image != null, @@ -1373,7 +990,7 @@ var AvatarStyle = BaseStyle.extend({ }); var script$1$I = { name: "BaseAvatar", - "extends": script$1d, + "extends": script$1f, props: { label: { type: String, @@ -1405,7 +1022,7 @@ var script$1$I = { } }, style: AvatarStyle, - provide: /* @__PURE__ */ __name(function provide7() { + provide: /* @__PURE__ */ __name(function provide6() { return { $pcAvatar: this, $parentInstance: this @@ -1461,9 +1078,9 @@ var AvatarGroupStyle = BaseStyle.extend({ }); var script$1$H = { name: "BaseAvatarGroup", - "extends": script$1d, + "extends": script$1f, style: AvatarGroupStyle, - provide: /* @__PURE__ */ __name(function provide8() { + provide: /* @__PURE__ */ __name(function provide7() { return { $pcAvatarGroup: this, $parentInstance: this @@ -1577,7 +1194,7 @@ var BadgeDirective = BaseBadgeDirective.extend("badge", { el.appendChild(badge); this.$el = badge; }, "mounted"), - updated: /* @__PURE__ */ __name(function updated2(el, binding) { + updated: /* @__PURE__ */ __name(function updated(el, binding) { !this.isUnstyled() && addClass(el, "p-overlay-badge"); el.setAttribute("data-p-overlay-badge", "true"); if (binding.oldValue !== binding.value) { @@ -1598,7 +1215,7 @@ var BadgeDirective = BaseBadgeDirective.extend("badge", { } }, "updated") }); -var theme$A = /* @__PURE__ */ __name(function theme4(_ref) { +var theme$A = /* @__PURE__ */ __name(function theme3(_ref) { var dt = _ref.dt; return "\n.p-breadcrumb {\n background: ".concat(dt("breadcrumb.background"), ";\n padding: ").concat(dt("breadcrumb.padding"), ";\n overflow-x: auto;\n}\n\n.p-breadcrumb-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: ").concat(dt("breadcrumb.gap"), ";\n}\n\n.p-breadcrumb-separator {\n display: flex;\n align-items: center;\n color: ").concat(dt("breadcrumb.separator.color"), ";\n}\n\n.p-breadcrumb-separator-icon:dir(rtl) {\n transform: rotate(180deg);\n}\n\n.p-breadcrumb::-webkit-scrollbar {\n display: none;\n}\n\n.p-breadcrumb-item-link {\n text-decoration: none;\n display: flex;\n align-items: center;\n gap: ").concat(dt("breadcrumb.item.gap"), ";\n transition: background ").concat(dt("breadcrumb.transition.duration"), ", color ").concat(dt("breadcrumb.transition.duration"), ", outline-color ").concat(dt("breadcrumb.transition.duration"), ", box-shadow ").concat(dt("breadcrumb.transition.duration"), ";\n border-radius: ").concat(dt("breadcrumb.item.border.radius"), ";\n outline-color: transparent;\n color: ").concat(dt("breadcrumb.item.color"), ";\n}\n\n.p-breadcrumb-item-link:focus-visible {\n box-shadow: ").concat(dt("breadcrumb.item.focus.ring.shadow"), ";\n outline: ").concat(dt("breadcrumb.item.focus.ring.width"), " ").concat(dt("breadcrumb.item.focus.ring.style"), " ").concat(dt("breadcrumb.item.focus.ring.color"), ";\n outline-offset: ").concat(dt("breadcrumb.item.focus.ring.offset"), ";\n}\n\n.p-breadcrumb-item-link:hover .p-breadcrumb-item-label {\n color: ").concat(dt("breadcrumb.item.hover.color"), ";\n}\n\n.p-breadcrumb-item-label {\n transition: inherit;\n}\n\n.p-breadcrumb-item-icon {\n color: ").concat(dt("breadcrumb.item.icon.color"), ";\n transition: inherit;\n}\n\n.p-breadcrumb-item-link:hover .p-breadcrumb-item-icon {\n color: ").concat(dt("breadcrumb.item.icon.hover.color"), ";\n}\n"); }, "theme"); @@ -1625,7 +1242,7 @@ var BreadcrumbStyle = BaseStyle.extend({ }); var script$2$9 = { name: "BaseBreadcrumb", - "extends": script$1d, + "extends": script$1f, props: { model: { type: Array, @@ -1637,7 +1254,7 @@ var script$2$9 = { } }, style: BreadcrumbStyle, - provide: /* @__PURE__ */ __name(function provide9() { + provide: /* @__PURE__ */ __name(function provide8() { return { $pcBreadcrumb: this, $parentInstance: this @@ -1647,7 +1264,7 @@ var script$2$9 = { var script$1$G = { name: "BreadcrumbItem", hostName: "Breadcrumb", - "extends": script$1d, + "extends": script$1f, props: { item: null, templates: null, @@ -1745,7 +1362,7 @@ var script$14 = { inheritAttrs: false, components: { BreadcrumbItem: script$1$G, - ChevronRightIcon: script$1l + ChevronRightIcon: script$1i } }; function render$X(_ctx, _cache, $props, $setup, $data, $options) { @@ -1788,7 +1405,7 @@ __name(render$X, "render$X"); script$14.render = render$X; var script$13 = { name: "CalendarIcon", - "extends": script$1m + "extends": script$1j }; function render$W(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -1804,12 +1421,12 @@ function render$W(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$W, "render$W"); script$13.render = render$W; -var theme$z = /* @__PURE__ */ __name(function theme5(_ref) { +var theme$z = /* @__PURE__ */ __name(function theme4(_ref) { var dt = _ref.dt; return "\n.p-datepicker {\n display: inline-flex;\n max-width: 100%;\n}\n\n.p-datepicker-input {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-datepicker:has(.p-datepicker-dropdown) .p-datepicker-input {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n}\n\n.p-datepicker-dropdown {\n cursor: pointer;\n display: inline-flex;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ".concat(dt("datepicker.dropdown.width"), ";\n border-start-end-radius: ").concat(dt("datepicker.dropdown.border.radius"), ";\n border-end-end-radius: ").concat(dt("datepicker.dropdown.border.radius"), ";\n background: ").concat(dt("datepicker.dropdown.background"), ";\n border: 1px solid ").concat(dt("datepicker.dropdown.border.color"), ";\n border-inline-start: 0 none;\n color: ").concat(dt("datepicker.dropdown.color"), ";\n transition: background ").concat(dt("datepicker.transition.duration"), ", color ").concat(dt("datepicker.transition.duration"), ", border-color ").concat(dt("datepicker.transition.duration"), ", outline-color ").concat(dt("datepicker.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-datepicker-dropdown:not(:disabled):hover {\n background: ").concat(dt("datepicker.dropdown.hover.background"), ";\n border-color: ").concat(dt("datepicker.dropdown.hover.border.color"), ";\n color: ").concat(dt("datepicker.dropdown.hover.color"), ";\n}\n\n.p-datepicker-dropdown:not(:disabled):active {\n background: ").concat(dt("datepicker.dropdown.active.background"), ";\n border-color: ").concat(dt("datepicker.dropdown.active.border.color"), ";\n color: ").concat(dt("datepicker.dropdown.active.color"), ";\n}\n\n.p-datepicker-dropdown:focus-visible {\n box-shadow: ").concat(dt("datepicker.dropdown.focus.ring.shadow"), ";\n outline: ").concat(dt("datepicker.dropdown.focus.ring.width"), " ").concat(dt("datepicker.dropdown.focus.ring.style"), " ").concat(dt("datepicker.dropdown.focus.ring.color"), ";\n outline-offset: ").concat(dt("datepicker.dropdown.focus.ring.offset"), ";\n}\n\n.p-datepicker:has(.p-datepicker-input-icon-container) {\n position: relative;\n}\n\n.p-datepicker:has(.p-datepicker-input-icon-container) .p-datepicker-input {\n padding-inline-end: calc((").concat(dt("form.field.padding.x"), " * 2) + ").concat(dt("icon.size"), ");\n}\n\n.p-datepicker-input-icon-container {\n cursor: pointer;\n position: absolute;\n top: 50%;\n inset-inline-end: ").concat(dt("form.field.padding.x"), ";\n margin-block-start: calc(-1 * (").concat(dt("icon.size"), " / 2));\n color: ").concat(dt("datepicker.input.icon.color"), ";\n line-height: 1;\n}\n\n.p-datepicker-fluid {\n display: flex;\n}\n\n.p-datepicker-fluid .p-datepicker-input {\n width: 1%;\n}\n\n.p-datepicker .p-datepicker-panel {\n min-width: 100%;\n}\n\n.p-datepicker-panel {\n width: auto;\n padding: ").concat(dt("datepicker.panel.padding"), ";\n background: ").concat(dt("datepicker.panel.background"), ";\n color: ").concat(dt("datepicker.panel.color"), ";\n border: 1px solid ").concat(dt("datepicker.panel.border.color"), ";\n border-radius: ").concat(dt("datepicker.panel.border.radius"), ";\n box-shadow: ").concat(dt("datepicker.panel.shadow"), ";\n}\n\n.p-datepicker-panel-inline {\n display: inline-block;\n overflow-x: auto;\n box-shadow: none;\n}\n\n.p-datepicker-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ").concat(dt("datepicker.header.padding"), ";\n background: ").concat(dt("datepicker.header.background"), ";\n color: ").concat(dt("datepicker.header.color"), ";\n border-block-end: 1px solid ").concat(dt("datepicker.header.border.color"), ";\n}\n\n.p-datepicker-next-button:dir(rtl) {\n order: -1;\n}\n\n.p-datepicker-prev-button:dir(rtl) {\n order: 1;\n}\n\n.p-datepicker-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ").concat(dt("datepicker.title.gap"), ";\n font-weight: ").concat(dt("datepicker.title.font.weight"), ";\n}\n\n.p-datepicker-select-year,\n.p-datepicker-select-month {\n border: none;\n background: transparent;\n margin: 0;\n cursor: pointer;\n font-weight: inherit;\n transition: background ").concat(dt("datepicker.transition.duration"), ", color ").concat(dt("datepicker.transition.duration"), ", border-color ").concat(dt("datepicker.transition.duration"), ", outline-color ").concat(dt("datepicker.transition.duration"), ", box-shadow ").concat(dt("datepicker.transition.duration"), ";\n}\n\n.p-datepicker-select-month {\n padding: ").concat(dt("datepicker.select.month.padding"), ";\n color: ").concat(dt("datepicker.select.month.color"), ";\n border-radius: ").concat(dt("datepicker.select.month.border.radius"), ";\n}\n\n.p-datepicker-select-year {\n padding: ").concat(dt("datepicker.select.year.padding"), ";\n color: ").concat(dt("datepicker.select.year.color"), ";\n border-radius: ").concat(dt("datepicker.select.year.border.radius"), ";\n}\n\n.p-datepicker-select-month:enabled:hover {\n background: ").concat(dt("datepicker.select.month.hover.background"), ";\n color: ").concat(dt("datepicker.select.month.hover.color"), ";\n}\n\n.p-datepicker-select-year:enabled:hover {\n background: ").concat(dt("datepicker.select.year.hover.background"), ";\n color: ").concat(dt("datepicker.select.year.hover.color"), ";\n}\n\n.p-datepicker-select-month:focus-visible,\n.p-datepicker-select-year:focus-visible {\n box-shadow: ").concat(dt("datepicker.date.focus.ring.shadow"), ";\n outline: ").concat(dt("datepicker.date.focus.ring.width"), " ").concat(dt("datepicker.date.focus.ring.style"), " ").concat(dt("datepicker.date.focus.ring.color"), ";\n outline-offset: ").concat(dt("datepicker.date.focus.ring.offset"), ";\n}\n\n.p-datepicker-calendar-container {\n display: flex;\n}\n\n.p-datepicker-calendar-container .p-datepicker-calendar {\n flex: 1 1 auto;\n border-inline-start: 1px solid ").concat(dt("datepicker.group.border.color"), ";\n padding-inline-end: ").concat(dt("datepicker.group.gap"), ";\n padding-inline-start: ").concat(dt("datepicker.group.gap"), ";\n}\n\n.p-datepicker-calendar-container .p-datepicker-calendar:first-child {\n padding-inline-start: 0;\n border-inline-start: 0 none;\n}\n\n.p-datepicker-calendar-container .p-datepicker-calendar:last-child {\n padding-inline-end: 0;\n}\n\n.p-datepicker-day-view {\n width: 100%;\n border-collapse: collapse;\n font-size: 1rem;\n margin: ").concat(dt("datepicker.day.view.margin"), ";\n}\n\n.p-datepicker-weekday-cell {\n padding: ").concat(dt("datepicker.week.day.padding"), ";\n}\n\n.p-datepicker-weekday {\n font-weight: ").concat(dt("datepicker.week.day.font.weight"), ";\n color: ").concat(dt("datepicker.week.day.color"), ";\n}\n\n.p-datepicker-day-cell {\n padding: ").concat(dt("datepicker.date.padding"), ";\n}\n\n.p-datepicker-day {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n margin: 0 auto;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("datepicker.date.width"), ";\n height: ").concat(dt("datepicker.date.height"), ";\n border-radius: ").concat(dt("datepicker.date.border.radius"), ";\n transition: background ").concat(dt("datepicker.transition.duration"), ", color ").concat(dt("datepicker.transition.duration"), ", border-color ").concat(dt("datepicker.transition.duration"), ", box-shadow ").concat(dt("datepicker.transition.duration"), ", outline-color ").concat(dt("datepicker.transition.duration"), ";\n border: 1px solid transparent;\n outline-color: transparent;\n color: ").concat(dt("datepicker.date.color"), ";\n}\n\n.p-datepicker-day:not(.p-datepicker-day-selected):not(.p-disabled):hover {\n background: ").concat(dt("datepicker.date.hover.background"), ";\n color: ").concat(dt("datepicker.date.hover.color"), ";\n}\n\n.p-datepicker-day:focus-visible {\n box-shadow: ").concat(dt("datepicker.date.focus.ring.shadow"), ";\n outline: ").concat(dt("datepicker.date.focus.ring.width"), " ").concat(dt("datepicker.date.focus.ring.style"), " ").concat(dt("datepicker.date.focus.ring.color"), ";\n outline-offset: ").concat(dt("datepicker.date.focus.ring.offset"), ";\n}\n\n.p-datepicker-day-selected {\n background: ").concat(dt("datepicker.date.selected.background"), ";\n color: ").concat(dt("datepicker.date.selected.color"), ";\n}\n\n.p-datepicker-day-selected-range {\n background: ").concat(dt("datepicker.date.range.selected.background"), ";\n color: ").concat(dt("datepicker.date.range.selected.color"), ";\n}\n\n.p-datepicker-today > .p-datepicker-day {\n background: ").concat(dt("datepicker.today.background"), ";\n color: ").concat(dt("datepicker.today.color"), ";\n}\n\n.p-datepicker-today > .p-datepicker-day-selected {\n background: ").concat(dt("datepicker.date.selected.background"), ";\n color: ").concat(dt("datepicker.date.selected.color"), ";\n}\n\n.p-datepicker-today > .p-datepicker-day-selected-range {\n background: ").concat(dt("datepicker.date.range.selected.background"), ";\n color: ").concat(dt("datepicker.date.range.selected.color"), ";\n}\n\n.p-datepicker-weeknumber {\n text-align: center;\n}\n\n.p-datepicker-month-view {\n margin: ").concat(dt("datepicker.month.view.margin"), ";\n}\n\n.p-datepicker-month {\n width: 33.3%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n padding: ").concat(dt("datepicker.month.padding"), ";\n transition: background ").concat(dt("datepicker.transition.duration"), ", color ").concat(dt("datepicker.transition.duration"), ", border-color ").concat(dt("datepicker.transition.duration"), ", box-shadow ").concat(dt("datepicker.transition.duration"), ", outline-color ").concat(dt("datepicker.transition.duration"), ";\n border-radius: ").concat(dt("datepicker.month.border.radius"), ";\n outline-color: transparent;\n color: ").concat(dt("datepicker.date.color"), ";\n}\n\n.p-datepicker-month:not(.p-disabled):not(.p-datepicker-month-selected):hover {\n color: ").concat(dt("datepicker.date.hover.color"), ";\n background: ").concat(dt("datepicker.date.hover.background"), ";\n}\n\n.p-datepicker-month-selected {\n color: ").concat(dt("datepicker.date.selected.color"), ";\n background: ").concat(dt("datepicker.date.selected.background"), ";\n}\n\n.p-datepicker-month:not(.p-disabled):focus-visible {\n box-shadow: ").concat(dt("datepicker.date.focus.ring.shadow"), ";\n outline: ").concat(dt("datepicker.date.focus.ring.width"), " ").concat(dt("datepicker.date.focus.ring.style"), " ").concat(dt("datepicker.date.focus.ring.color"), ";\n outline-offset: ").concat(dt("datepicker.date.focus.ring.offset"), ";\n}\n\n.p-datepicker-year-view {\n margin: ").concat(dt("datepicker.year.view.margin"), ";\n}\n\n.p-datepicker-year {\n width: 50%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n padding: ").concat(dt("datepicker.year.padding"), ";\n transition: background ").concat(dt("datepicker.transition.duration"), ", color ").concat(dt("datepicker.transition.duration"), ", border-color ").concat(dt("datepicker.transition.duration"), ", box-shadow ").concat(dt("datepicker.transition.duration"), ", outline-color ").concat(dt("datepicker.transition.duration"), ";\n border-radius: ").concat(dt("datepicker.year.border.radius"), ";\n outline-color: transparent;\n color: ").concat(dt("datepicker.date.color"), ";\n}\n\n.p-datepicker-year:not(.p-disabled):not(.p-datepicker-year-selected):hover {\n color: ").concat(dt("datepicker.date.hover.color"), ";\n background: ").concat(dt("datepicker.date.hover.background"), ";\n}\n\n.p-datepicker-year-selected {\n color: ").concat(dt("datepicker.date.selected.color"), ";\n background: ").concat(dt("datepicker.date.selected.background"), ";\n}\n\n.p-datepicker-year:not(.p-disabled):focus-visible {\n box-shadow: ").concat(dt("datepicker.date.focus.ring.shadow"), ";\n outline: ").concat(dt("datepicker.date.focus.ring.width"), " ").concat(dt("datepicker.date.focus.ring.style"), " ").concat(dt("datepicker.date.focus.ring.color"), ";\n outline-offset: ").concat(dt("datepicker.date.focus.ring.offset"), ";\n}\n\n.p-datepicker-buttonbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ").concat(dt("datepicker.buttonbar.padding"), ";\n border-block-start: 1px solid ").concat(dt("datepicker.buttonbar.border.color"), ";\n}\n\n.p-datepicker-buttonbar .p-button {\n width: auto;\n}\n\n.p-datepicker-time-picker {\n display: flex;\n justify-content: center;\n align-items: center;\n border-block-start: 1px solid ").concat(dt("datepicker.time.picker.border.color"), ";\n padding: 0;\n gap: ").concat(dt("datepicker.time.picker.gap"), ";\n}\n\n.p-datepicker-calendar-container + .p-datepicker-time-picker {\n padding: ").concat(dt("datepicker.time.picker.padding"), ";\n}\n\n.p-datepicker-time-picker > div {\n display: flex;\n align-items: center;\n flex-direction: column;\n gap: ").concat(dt("datepicker.time.picker.button.gap"), ";\n}\n\n.p-datepicker-time-picker span {\n font-size: 1rem;\n}\n\n.p-datepicker-timeonly .p-datepicker-time-picker {\n border-block-start: 0 none;\n}\n\n.p-datepicker:has(.p-inputtext-sm) .p-datepicker-dropdown {\n width: ").concat(dt("datepicker.dropdown.sm.width"), ";\n}\n\n.p-datepicker:has(.p-inputtext-sm) .p-datepicker-dropdown .p-icon,\n.p-datepicker:has(.p-inputtext-sm) .p-datepicker-input-icon {\n font-size: ").concat(dt("form.field.sm.font.size"), ";\n width: ").concat(dt("form.field.sm.font.size"), ";\n height: ").concat(dt("form.field.sm.font.size"), ";\n}\n\n.p-datepicker:has(.p-inputtext-lg) .p-datepicker-dropdown {\n width: ").concat(dt("datepicker.dropdown.lg.width"), ";\n}\n\n.p-datepicker:has(.p-inputtext-lg) .p-datepicker-dropdown .p-icon,\n.p-datepicker:has(.p-inputtext-lg) .p-datepicker-input-icon {\n font-size: ").concat(dt("form.field.lg.font.size"), ";\n width: ").concat(dt("form.field.lg.font.size"), ";\n height: ").concat(dt("form.field.lg.font.size"), ";\n}\n"); }, "theme"); var inlineStyles$8 = { - root: /* @__PURE__ */ __name(function root4(_ref2) { + root: /* @__PURE__ */ __name(function root3(_ref2) { var props = _ref2.props; return { position: props.appendTo === "self" ? "relative" : void 0 @@ -1817,7 +1434,7 @@ var inlineStyles$8 = { }, "root") }; var classes$D = { - root: /* @__PURE__ */ __name(function root5(_ref3) { + root: /* @__PURE__ */ __name(function root4(_ref3) { var instance = _ref3.instance, state = _ref3.state; return ["p-datepicker p-component p-inputwrapper", { "p-invalid": instance.$invalid, @@ -1908,7 +1525,7 @@ var DatePickerStyle = BaseStyle.extend({ }); var script$1$F = { name: "BaseDatePicker", - "extends": script$1n, + "extends": script$1k, props: { selectionMode: { type: String, @@ -2097,7 +1714,7 @@ var script$1$F = { }, todayButtonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default3() { + "default": /* @__PURE__ */ __name(function _default2() { return { severity: "secondary", text: true, @@ -2107,7 +1724,7 @@ var script$1$F = { }, clearButtonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default4() { + "default": /* @__PURE__ */ __name(function _default3() { return { severity: "secondary", text: true, @@ -2117,7 +1734,7 @@ var script$1$F = { }, navigatorButtonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default5() { + "default": /* @__PURE__ */ __name(function _default4() { return { severity: "secondary", text: true, @@ -2127,7 +1744,7 @@ var script$1$F = { }, timepickerButtonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default6() { + "default": /* @__PURE__ */ __name(function _default5() { return { severity: "secondary", text: true, @@ -2145,7 +1762,7 @@ var script$1$F = { } }, style: DatePickerStyle, - provide: /* @__PURE__ */ __name(function provide10() { + provide: /* @__PURE__ */ __name(function provide9() { return { $pcDatePicker: this, $parentInstance: this @@ -2246,7 +1863,7 @@ var script$12 = { timePickerTimer: null, preventFocus: false, typeUpdate: false, - data: /* @__PURE__ */ __name(function data3() { + data: /* @__PURE__ */ __name(function data2() { return { d_id: this.id, currentMonth: null, @@ -2326,7 +1943,7 @@ var script$12 = { this.input.value = this.inputFieldValue; } }, "mounted"), - updated: /* @__PURE__ */ __name(function updated3() { + updated: /* @__PURE__ */ __name(function updated2() { if (this.overlay) { this.preventFocus = true; setTimeout(this.updateFocus, 0); @@ -2338,7 +1955,7 @@ var script$12 = { this.selectionEnd = null; } }, "updated"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { if (this.timePickerTimer) { clearTimeout(this.timePickerTimer); } @@ -2674,7 +2291,7 @@ var script$12 = { this.currentMinute = Math.floor(date.getMinutes() / this.stepMinute) * this.stepMinute; this.currentSecond = Math.floor(date.getSeconds() / this.stepSecond) * this.stepSecond; }, "updateCurrentTimeMeta"), - bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener2() { + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener() { var _this3 = this; if (!this.outsideClickListener) { this.outsideClickListener = function(event2) { @@ -2685,7 +2302,7 @@ var script$12 = { document.addEventListener("mousedown", this.outsideClickListener); } }, "bindOutsideClickListener"), - unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener2() { + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener() { if (this.outsideClickListener) { document.removeEventListener("mousedown", this.outsideClickListener); this.outsideClickListener = null; @@ -2743,7 +2360,7 @@ var script$12 = { this.matchMediaListener = null; } }, "unbindMatchMediaListener"), - isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked2(event2) { + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked(event2) { return !(this.$el.isSameNode(event2.target) || this.isNavIconClicked(event2) || this.$el.contains(event2.target) || this.overlay && this.overlay.contains(event2.target)); }, "isOutsideClicked"), isNavIconClicked: /* @__PURE__ */ __name(function isNavIconClicked(event2) { @@ -4405,14 +4022,14 @@ var script$12 = { }, "panelId") }, components: { - InputText: script$1o, - Button: script$1e, - Portal: script$1f, + InputText: script$1l, + Button: script$1d, + Portal: script$1m, CalendarIcon: script$13, - ChevronLeftIcon: script$1p, - ChevronRightIcon: script$1l, - ChevronUpIcon: script$1j, - ChevronDownIcon: script$1k + ChevronLeftIcon: script$1n, + ChevronRightIcon: script$1i, + ChevronUpIcon: script$1g, + ChevronDownIcon: script$1h }, directives: { ripple: Ripple @@ -4425,7 +4042,7 @@ var _hoisted_4$9 = ["disabled", "aria-label"]; var _hoisted_5$4 = ["disabled", "aria-label"]; var _hoisted_6$2 = ["disabled", "aria-label"]; var _hoisted_7$2 = ["disabled", "aria-label"]; -var _hoisted_8$1 = ["data-p-disabled"]; +var _hoisted_8$2 = ["data-p-disabled"]; var _hoisted_9 = ["abbr"]; var _hoisted_10 = ["data-p-disabled"]; var _hoisted_11 = ["aria-label", "data-p-today", "data-p-other-month"]; @@ -4704,7 +4321,7 @@ function render$V(_ctx, _cache, $props, $setup, $data, $options) { }), { "data-pc-group-section": "tableheadercelllabel" }), toDisplayString($options.weekHeaderLabel), 17)]; - })], 16, _hoisted_8$1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList($options.weekDays, function(weekDay) { + })], 16, _hoisted_8$2)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList($options.weekDays, function(weekDay) { return openBlock(), createElementBlock("th", mergeProps({ key: weekDay, scope: "col", @@ -4780,7 +4397,7 @@ function render$V(_ctx, _cache, $props, $setup, $data, $options) { return $options.onDateSelect($event, date); }, "onClick"), draggable: "false", - onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + onKeydown: /* @__PURE__ */ __name(function onKeydown5($event) { return $options.onDateCellKeydown($event, date, groupIndex); }, "onKeydown"), "aria-selected": $options.isSelected(date), @@ -4824,7 +4441,7 @@ function render$V(_ctx, _cache, $props, $setup, $data, $options) { index: i }); }, "onClick"), - onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + onKeydown: /* @__PURE__ */ __name(function onKeydown5($event) { return $options.onMonthCellKeydown($event, { month: m, index: i @@ -4862,7 +4479,7 @@ function render$V(_ctx, _cache, $props, $setup, $data, $options) { onClick: /* @__PURE__ */ __name(function onClick11($event) { return $options.onYearSelect($event, y); }, "onClick"), - onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + onKeydown: /* @__PURE__ */ __name(function onKeydown5($event) { return $options.onYearCellKeydown($event, y); }, "onKeydown"), "class": _ctx.cx("year", { @@ -5250,12 +4867,12 @@ var script$11 = { var CalendarStyle = BaseStyle.extend({ name: "calendar" }); -var theme$y = /* @__PURE__ */ __name(function theme6(_ref) { +var theme$y = /* @__PURE__ */ __name(function theme5(_ref) { var dt = _ref.dt; return "\n.p-cascadeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ".concat(dt("cascadeselect.background"), ";\n border: 1px solid ").concat(dt("cascadeselect.border.color"), ";\n transition: background ").concat(dt("cascadeselect.transition.duration"), ", color ").concat(dt("cascadeselect.transition.duration"), ", border-color ").concat(dt("cascadeselect.transition.duration"), ", outline-color ").concat(dt("cascadeselect.transition.duration"), ", box-shadow ").concat(dt("cascadeselect.transition.duration"), ";\n border-radius: ").concat(dt("cascadeselect.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("cascadeselect.shadow"), ";\n}\n\n.p-cascadeselect:not(.p-disabled):hover {\n border-color: ").concat(dt("cascadeselect.hover.border.color"), ";\n}\n\n.p-cascadeselect:not(.p-disabled).p-focus {\n border-color: ").concat(dt("cascadeselect.focus.border.color"), ";\n box-shadow: ").concat(dt("cascadeselect.focus.ring.shadow"), ";\n outline: ").concat(dt("cascadeselect.focus.ring.width"), " ").concat(dt("cascadeselect.focus.ring.style"), " ").concat(dt("cascadeselect.focus.ring.color"), ";\n outline-offset: ").concat(dt("cascadeselect.focus.ring.offset"), ";\n}\n\n.p-cascadeselect.p-variant-filled {\n background: ").concat(dt("cascadeselect.filled.background"), ";\n}\n\n.p-cascadeselect.p-variant-filled:not(.p-disabled):hover {\n background: ").concat(dt("cascadeselect.filled.hover.background"), ";\n}\n\n.p-cascadeselect.p-variant-filled.p-focus {\n background: ").concat(dt("cascadeselect.filled.focus.background"), ";\n}\n\n.p-cascadeselect.p-invalid {\n border-color: ").concat(dt("cascadeselect.invalid.border.color"), ";\n}\n\n.p-cascadeselect.p-disabled {\n opacity: 1;\n background: ").concat(dt("cascadeselect.disabled.background"), ";\n}\n\n.p-cascadeselect-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ").concat(dt("cascadeselect.dropdown.color"), ";\n width: ").concat(dt("cascadeselect.dropdown.width"), ";\n border-start-end-radius: ").concat(dt("border.radius.md"), ";\n border-end-end-radius: ").concat(dt("border.radius.md"), ";\n}\n\n.p-cascadeselect-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ").concat(dt("cascadeselect.clear.icon.color"), ";\n inset-inline-end: ").concat(dt("cascadeselect.dropdown.width"), ";\n}\n\n.p-cascadeselect-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n text-overflow: ellipsis;\n cursor: pointer;\n padding: ").concat(dt("cascadeselect.padding.y"), " ").concat(dt("cascadeselect.padding.x"), ";\n background: transparent;\n border: 0 none;\n outline: 0 none;\n}\n\n.p-cascadeselect-label.p-placeholder {\n color: ").concat(dt("cascadeselect.placeholder.color"), ";\n}\n\n.p-cascadeselect.p-invalid .p-cascadeselect-label.p-placeholder {\n color: ").concat(dt("cascadeselect.invalid.placeholder.color"), ";\n}\n\n.p-cascadeselect.p-disabled .p-cascadeselect-label {\n color: ").concat(dt("cascadeselect.disabled.color"), ";\n}\n\n.p-cascadeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\n\n.p-cascadeselect-fluid {\n display: flex;\n}\n\n.p-cascadeselect-fluid .p-cascadeselect-label {\n width: 1%;\n}\n\n.p-cascadeselect-overlay {\n background: ").concat(dt("cascadeselect.overlay.background"), ";\n color: ").concat(dt("cascadeselect.overlay.color"), ";\n border: 1px solid ").concat(dt("cascadeselect.overlay.border.color"), ";\n border-radius: ").concat(dt("cascadeselect.overlay.border.radius"), ";\n box-shadow: ").concat(dt("cascadeselect.overlay.shadow"), ";\n}\n\n.p-cascadeselect .p-cascadeselect-overlay {\n min-width: 100%;\n}\n\n.p-cascadeselect-option-list {\n display: none;\n min-width: 100%;\n position: absolute;\n z-index: 1;\n}\n\n.p-cascadeselect-list {\n min-width: 100%;\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: ").concat(dt("cascadeselect.list.padding"), ";\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("cascadeselect.list.gap"), ";\n}\n\n.p-cascadeselect-option {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n border: 0 none;\n color: ").concat(dt("cascadeselect.option.color"), ";\n background: transparent;\n border-radius: ").concat(dt("cascadeselect.option.border.radius"), ";\n}\n\n.p-cascadeselect-option-active {\n overflow: visible;\n}\n\n.p-cascadeselect-option-active > .p-cascadeselect-option-content {\n background: ").concat(dt("cascadeselect.option.focus.background"), ";\n color: ").concat(dt("cascadeselect.option.focus.color"), ";\n}\n\n.p-cascadeselect-option:not(.p-cascadeselect-option-selected):not(.p-disabled).p-focus > .p-cascadeselect-option-content {\n background: ").concat(dt("cascadeselect.option.focus.background"), ";\n color: ").concat(dt("cascadeselect.option.focus.color"), ";\n}\n\n.p-cascadeselect-option:not(.p-cascadeselect-option-selected):not(.p-disabled).p-focus > .p-cascadeselect-option-content > .p-cascadeselect-group-icon-container > .p-cascadeselect-group-icon {\n color: ").concat(dt("cascadeselect.option.icon.focus.color"), ";\n}\n\n.p-cascadeselect-option-selected > .p-cascadeselect-option-content {\n background: ").concat(dt("cascadeselect.option.selected.background"), ";\n color: ").concat(dt("cascadeselect.option.selected.color"), ";\n}\n\n.p-cascadeselect-option-selected.p-focus > .p-cascadeselect-option-content {\n background: ").concat(dt("cascadeselect.option.selected.focus.background"), ";\n color: ").concat(dt("cascadeselect.option.selected.focus.color"), ";\n}\n\n.p-cascadeselect-option-active > .p-cascadeselect-option-list {\n inset-inline-start: 100%;\n inset-block-start: 0;\n}\n\n.p-cascadeselect-option-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n overflow: hidden;\n position: relative;\n padding: ").concat(dt("cascadeselect.option.padding"), ";\n border-radius: ").concat(dt("cascadeselect.option.border.radius"), ";\n transition: background ").concat(dt("cascadeselect.transition.duration"), ", color ").concat(dt("cascadeselect.transition.duration"), ", border-color ").concat(dt("cascadeselect.transition.duration"), ", box-shadow ").concat(dt("cascadeselect.transition.duration"), ", outline-color ").concat(dt("cascadeselect.transition.duration"), ";\n}\n\n.p-cascadeselect-group-icon {\n font-size: ").concat(dt("cascadeselect.option.icon.size"), ";\n width: ").concat(dt("cascadeselect.option.icon.size"), ";\n height: ").concat(dt("cascadeselect.option.icon.size"), ";\n color: ").concat(dt("cascadeselect.option.icon.color"), ";\n}\n\n.p-cascadeselect-group-icon:dir(rtl) {\n transform: rotate(180deg);\n}\n\n.p-cascadeselect-mobile-active .p-cascadeselect-option-list {\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-inline-start: ").concat(dt("tieredmenu.submenu.mobile.indent"), ";\n padding-inline-end: 0;\n}\n\n.p-cascadeselect-mobile-active .p-cascadeselect-group-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-cascadeselect-mobile-active .p-cascadeselect-option-active > .p-cascadeselect-option-content .p-cascadeselect-group-icon {\n transform: rotate(-90deg);\n}\n\n.p-cascadeselect-sm .p-cascadeselect-label {\n font-size: ").concat(dt("cascadeselect.sm.font.size"), ";\n padding-block: ").concat(dt("cascadeselect.sm.padding.y"), ";\n padding-inline: ").concat(dt("cascadeselect.sm.padding.x"), ";\n}\n\n.p-cascadeselect-sm .p-cascadeselect-dropdown .p-icon {\n font-size: ").concat(dt("cascadeselect.sm.font.size"), ";\n width: ").concat(dt("cascadeselect.sm.font.size"), ";\n height: ").concat(dt("cascadeselect.sm.font.size"), ";\n}\n\n.p-cascadeselect-lg .p-cascadeselect-label {\n font-size: ").concat(dt("cascadeselect.lg.font.size"), ";\n padding-block: ").concat(dt("cascadeselect.lg.padding.y"), ";\n padding-inline: ").concat(dt("cascadeselect.lg.padding.x"), ";\n}\n\n.p-cascadeselect-lg .p-cascadeselect-dropdown .p-icon {\n font-size: ").concat(dt("cascadeselect.lg.font.size"), ";\n width: ").concat(dt("cascadeselect.lg.font.size"), ";\n height: ").concat(dt("cascadeselect.lg.font.size"), ";\n}\n"); }, "theme"); var inlineStyles$7 = { - root: /* @__PURE__ */ __name(function root6(_ref2) { + root: /* @__PURE__ */ __name(function root5(_ref2) { var props = _ref2.props; return { position: props.appendTo === "self" ? "relative" : void 0 @@ -5263,7 +4880,7 @@ var inlineStyles$7 = { }, "root") }; var classes$C = { - root: /* @__PURE__ */ __name(function root7(_ref3) { + root: /* @__PURE__ */ __name(function root6(_ref3) { var instance = _ref3.instance, props = _ref3.props; return ["p-cascadeselect p-component p-inputwrapper", { "p-cascadeselect-mobile": instance.queryMatches, @@ -5321,7 +4938,7 @@ var CascadeSelectStyle = BaseStyle.extend({ }); var script$2$8 = { name: "BaseCascadeSelect", - "extends": script$1n, + "extends": script$1k, props: { options: Array, optionLabel: null, @@ -5453,7 +5070,7 @@ var script$2$8 = { } }, style: CascadeSelectStyle, - provide: /* @__PURE__ */ __name(function provide11() { + provide: /* @__PURE__ */ __name(function provide10() { return { $pcCascadeSelect: this, $parentInstance: this @@ -5463,7 +5080,7 @@ var script$2$8 = { var script$1$E = { name: "CascadeSelectSub", hostName: "CascadeSelect", - "extends": script$1d, + "extends": script$1f, emits: ["option-change", "option-focus-change", "option-focus-enter-change"], container: null, props: { @@ -5552,7 +5169,7 @@ var script$1$E = { processedOption }); }, "onOptionMouseMove"), - containerRef: /* @__PURE__ */ __name(function containerRef2(el) { + containerRef: /* @__PURE__ */ __name(function containerRef(el) { this.container = el; }, "containerRef"), listAriaLabel: /* @__PURE__ */ __name(function listAriaLabel() { @@ -5563,7 +5180,7 @@ var script$1$E = { ripple: Ripple }, components: { - AngleRightIcon: script$1q + AngleRightIcon: script$1o } }; var _hoisted_1$1$6 = ["id", "aria-label", "aria-selected", "aria-expanded", "aria-level", "aria-setsize", "aria-posinset", "data-p-option-group", "data-p-active", "data-p-focus", "data-p-disabled"]; @@ -5728,7 +5345,7 @@ var script$10 = { overlay: null, searchTimeout: null, searchValue: null, - data: /* @__PURE__ */ __name(function data4() { + data: /* @__PURE__ */ __name(function data3() { return { id: this.$attrs.id, clicked: false, @@ -5759,7 +5376,7 @@ var script$10 = { this.autoUpdateModel(); this.bindMatchMediaListener(); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount3() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { this.unbindOutsideClickListener(); this.unbindResizeListener(); this.unbindMatchMediaListener(); @@ -5822,7 +5439,7 @@ var script$10 = { } isFocus && focus(this.$refs.focusInput); }, "show"), - hide: /* @__PURE__ */ __name(function hide2(isFocus) { + hide: /* @__PURE__ */ __name(function hide(isFocus) { var _this = this; var _hide = /* @__PURE__ */ __name(function _hide2() { _this.$emit("before-hide"); @@ -6068,13 +5685,13 @@ var script$10 = { return p.key === (processedOption === null || processedOption === void 0 ? void 0 : processedOption.parentKey); }); var matched = this.focusedOptionInfo.parentKey === "" || parentOption && parentOption.key === this.focusedOptionInfo.parentKey; - var root35 = isEmpty(processedOption === null || processedOption === void 0 ? void 0 : processedOption.parent); + var root34 = isEmpty(processedOption === null || processedOption === void 0 ? void 0 : processedOption.parent); if (matched) { this.activeOptionPath = this.activeOptionPath.filter(function(p) { return p.parentKey !== _this2.focusedOptionInfo.parentKey; }); } - if (!root35) { + if (!root34) { this.focusedOptionInfo = { index: -1, parentKey: parentOption ? parentOption.parentKey : "" @@ -6191,7 +5808,7 @@ var script$10 = { absolutePosition(this.overlay, this.$el); } }, "alignOverlay"), - bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener3() { + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener2() { var _this3 = this; if (!this.outsideClickListener) { this.outsideClickListener = function(event2) { @@ -6202,7 +5819,7 @@ var script$10 = { document.addEventListener("click", this.outsideClickListener); } }, "bindOutsideClickListener"), - unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener3() { + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener2() { if (this.outsideClickListener) { document.removeEventListener("click", this.outsideClickListener); this.outsideClickListener = null; @@ -6507,11 +6124,11 @@ var script$10 = { }, components: { CascadeSelectSub: script$1$E, - Portal: script$1f, - ChevronDownIcon: script$1k, - SpinnerIcon: script$1r, - AngleRightIcon: script$1q, - TimesIcon: script$1g + Portal: script$1m, + ChevronDownIcon: script$1h, + SpinnerIcon: script$1p, + AngleRightIcon: script$1o, + TimesIcon: script$1q } }; function _typeof$k(o) { @@ -6729,7 +6346,7 @@ function render$U(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$U, "render$U"); script$10.render = render$U; -var theme$x = /* @__PURE__ */ __name(function theme7(_ref) { +var theme$x = /* @__PURE__ */ __name(function theme6(_ref) { _ref.dt; return "\n.p-checkbox-group {\n display: inline-flex;\n}\n"; }, "theme"); @@ -6743,9 +6360,9 @@ var CheckboxGroupStyle = BaseStyle.extend({ }); var script$1$D = { name: "BaseCheckboxGroup", - "extends": script$1s, + "extends": script$1r, style: CheckboxGroupStyle, - provide: /* @__PURE__ */ __name(function provide12() { + provide: /* @__PURE__ */ __name(function provide11() { return { $pcCheckboxGroup: this, $parentInstance: this @@ -6756,7 +6373,7 @@ var script$$ = { name: "CheckboxGroup", "extends": script$1$D, inheritAttrs: false, - data: /* @__PURE__ */ __name(function data5() { + data: /* @__PURE__ */ __name(function data4() { return { groupName: this.name }; @@ -6777,12 +6394,12 @@ function render$T(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$T, "render$T"); script$$.render = render$T; -var theme$w = /* @__PURE__ */ __name(function theme8(_ref) { +var theme$w = /* @__PURE__ */ __name(function theme7(_ref) { var dt = _ref.dt; return "\n.p-inputchips {\n display: inline-flex;\n}\n\n.p-inputchips-input {\n margin: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n padding: calc(".concat(dt("inputchips.padding.y"), " / 2) ").concat(dt("inputchips.padding.x"), ";\n gap: calc(").concat(dt("inputchips.padding.y"), " / 2);\n color: ").concat(dt("inputchips.color"), ";\n background: ").concat(dt("inputchips.background"), ";\n border: 1px solid ").concat(dt("inputchips.border.color"), ";\n border-radius: ").concat(dt("inputchips.border.radius"), ";\n width: 100%;\n transition: background ").concat(dt("inputchips.transition.duration"), ", color ").concat(dt("inputchips.transition.duration"), ", border-color ").concat(dt("inputchips.transition.duration"), ", outline-color ").concat(dt("inputchips.transition.duration"), ", box-shadow ").concat(dt("inputchips.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("inputchips.shadow"), ";\n}\n\n.p-inputchips:not(.p-disabled):hover .p-inputchips-input {\n border-color: ").concat(dt("inputchips.hover.border.color"), ";\n}\n\n.p-inputchips:not(.p-disabled).p-focus .p-inputchips-input {\n border-color: ").concat(dt("inputchips.focus.border.color"), ";\n box-shadow: ").concat(dt("inputchips.focus.ring.shadow"), ";\n outline: ").concat(dt("inputchips.focus.ring.width"), " ").concat(dt("inputchips.focus.ring.style"), " ").concat(dt("inputchips.focus.ring.color"), ";\n outline-offset: ").concat(dt("inputchips.focus.ring.offset"), ";\n}\n\n.p-inputchips.p-invalid .p-inputchips-input {\n border-color: ").concat(dt("inputchips.invalid.border.color"), ";\n}\n\n.p-variant-filled.p-inputchips-input {\n background: ").concat(dt("inputchips.filled.background"), ";\n}\n\n.p-inputchips:not(.p-disabled).p-focus .p-variant-filled.p-inputchips-input {\n background: ").concat(dt("inputchips.filled.focus.background"), ";\n}\n\n.p-inputchips.p-disabled .p-inputchips-input {\n opacity: 1;\n background: ").concat(dt("inputchips.disabled.background"), ";\n color: ").concat(dt("inputchips.disabled.color"), ";\n}\n\n.p-inputchips-chip.p-chip {\n padding-top: calc(").concat(dt("inputchips.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt("inputchips.padding.y"), " / 2);\n border-radius: ").concat(dt("inputchips.chip.border.radius"), ";\n transition: background ").concat(dt("inputchips.transition.duration"), ", color ").concat(dt("inputchips.transition.duration"), ";\n}\n\n.p-inputchips-chip-item.p-focus .p-inputchips-chip {\n background: ").concat(dt("inputchips.chip.focus.background"), ";\n color: ").concat(dt("inputchips.chip.focus.color"), ";\n}\n\n.p-inputchips-input:has(.p-inputchips-chip) {\n padding-left: calc(").concat(dt("inputchips.padding.y"), " / 2);\n padding-right: calc(").concat(dt("inputchips.padding.y"), " / 2);\n}\n\n.p-inputchips-input-item {\n flex: 1 1 auto;\n display: inline-flex;\n padding-top: calc(").concat(dt("inputchips.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt("inputchips.padding.y"), " / 2);\n}\n\n.p-inputchips-input-item input {\n border: 0 none;\n outline: 0 none;\n background: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: inherit;\n}\n\n.p-inputchips-input-item input::placeholder {\n color: ").concat(dt("inputchips.placeholder.color"), ";\n}\n"); }, "theme"); var classes$A = { - root: /* @__PURE__ */ __name(function root8(_ref2) { + root: /* @__PURE__ */ __name(function root7(_ref2) { var instance = _ref2.instance, props = _ref2.props; return ["p-inputchips p-component p-inputwrapper", { "p-disabled": props.disabled, @@ -6815,7 +6432,7 @@ var InputChipsStyle = BaseStyle.extend({ }); var script$1$C = { name: "BaseInputChips", - "extends": script$1d, + "extends": script$1f, props: { modelValue: { type: Array, @@ -6887,7 +6504,7 @@ var script$1$C = { } }, style: InputChipsStyle, - provide: /* @__PURE__ */ __name(function provide13() { + provide: /* @__PURE__ */ __name(function provide12() { return { $pcInputChips: this, $parentInstance: this @@ -6929,7 +6546,7 @@ var script$_ = { "extends": script$1$C, inheritAttrs: false, emits: ["update:modelValue", "add", "remove", "focus", "blur"], - data: /* @__PURE__ */ __name(function data6() { + data: /* @__PURE__ */ __name(function data5() { return { id: this.$attrs.id, inputValue: null, @@ -7106,7 +6723,7 @@ var script$_ = { }, "focusedOptionId") }, components: { - Chip: script$1t + Chip: script$1s } }; function _typeof$j(o) { @@ -7281,7 +6898,7 @@ var ColumnGroupStyle = BaseStyle.extend({ }); var script$1$B = { name: "BaseColumnGroup", - "extends": script$1d, + "extends": script$1f, props: { type: { type: String, @@ -7289,7 +6906,7 @@ var script$1$B = { } }, style: ColumnGroupStyle, - provide: /* @__PURE__ */ __name(function provide14() { + provide: /* @__PURE__ */ __name(function provide13() { return { $pcColumnGroup: this, $parentInstance: this @@ -7313,12 +6930,12 @@ var script$Y = { return null; }, "render") }; -var theme$v = /* @__PURE__ */ __name(function theme9(_ref) { +var theme$v = /* @__PURE__ */ __name(function theme8(_ref) { var dt = _ref.dt; return "\n.p-dataview {\n border-color: ".concat(dt("dataview.border.color"), ";\n border-width: ").concat(dt("dataview.border.width"), ";\n border-style: solid;\n border-radius: ").concat(dt("dataview.border.radius"), ";\n padding: ").concat(dt("dataview.padding"), ";\n}\n\n.p-dataview-header {\n background: ").concat(dt("dataview.header.background"), ";\n color: ").concat(dt("dataview.header.color"), ";\n border-color: ").concat(dt("dataview.header.border.color"), ";\n border-width: ").concat(dt("dataview.header.border.width"), ";\n border-style: solid;\n padding: ").concat(dt("dataview.header.padding"), ";\n border-radius: ").concat(dt("dataview.header.border.radius"), ";\n}\n\n.p-dataview-content {\n background: ").concat(dt("dataview.content.background"), ";\n border-color: ").concat(dt("dataview.content.border.color"), ";\n border-width: ").concat(dt("dataview.content.border.width"), ";\n border-style: solid;\n color: ").concat(dt("dataview.content.color"), ";\n padding: ").concat(dt("dataview.content.padding"), ";\n border-radius: ").concat(dt("dataview.content.border.radius"), ";\n}\n\n.p-dataview-footer {\n background: ").concat(dt("dataview.footer.background"), ";\n color: ").concat(dt("dataview.footer.color"), ";\n border-color: ").concat(dt("dataview.footer.border.color"), ";\n border-width: ").concat(dt("dataview.footer.border.width"), ";\n border-style: solid;\n padding: ").concat(dt("dataview.footer.padding"), ";\n border-radius: ").concat(dt("dataview.footer.border.radius"), ";\n}\n\n.p-dataview-paginator-top {\n border-width: ").concat(dt("dataview.paginator.top.border.width"), ";\n border-color: ").concat(dt("dataview.paginator.top.border.color"), ";\n border-style: solid;\n}\n\n.p-dataview-paginator-bottom {\n border-width: ").concat(dt("dataview.paginator.bottom.border.width"), ";\n border-color: ").concat(dt("dataview.paginator.bottom.border.color"), ";\n border-style: solid;\n}\n"); }, "theme"); var classes$z = { - root: /* @__PURE__ */ __name(function root9(_ref2) { + root: /* @__PURE__ */ __name(function root8(_ref2) { var props = _ref2.props; return ["p-dataview p-component", { "p-dataview-list": props.layout === "list", @@ -7342,7 +6959,7 @@ var DataViewStyle = BaseStyle.extend({ }); var script$1$A = { name: "BaseDataView", - "extends": script$1d, + "extends": script$1f, props: { value: { type: Array, @@ -7410,7 +7027,7 @@ var script$1$A = { } }, style: DataViewStyle, - provide: /* @__PURE__ */ __name(function provide15() { + provide: /* @__PURE__ */ __name(function provide14() { return { $pcDataView: this, $parentInstance: this @@ -7452,7 +7069,7 @@ var script$X = { "extends": script$1$A, inheritAttrs: false, emits: ["update:first", "update:rows", "page"], - data: /* @__PURE__ */ __name(function data7() { + data: /* @__PURE__ */ __name(function data6() { return { d_first: this.first, d_rows: this.rows @@ -7523,15 +7140,15 @@ var script$X = { }, "paginatorBottom"), items: /* @__PURE__ */ __name(function items() { if (this.value && this.value.length) { - var data41 = this.value; - if (data41 && data41.length && this.sortField) { - data41 = this.sort(); + var data40 = this.value; + if (data40 && data40.length && this.sortField) { + data40 = this.sort(); } if (this.paginator) { var first3 = this.lazy ? 0 : this.d_first; - return data41.slice(first3, first3 + this.d_rows); + return data40.slice(first3, first3 + this.d_rows); } else { - return data41; + return data40; } } else { return null; @@ -7539,7 +7156,7 @@ var script$X = { }, "items") }, components: { - DVPaginator: script$1u + DVPaginator: script$1t } }; function render$R(_ctx, _cache, $props, $setup, $data, $options) { @@ -7678,11 +7295,11 @@ var DeferredContentStyle = BaseStyle.extend({ }); var script$W = { name: "DeferredContent", - "extends": script$1d, + "extends": script$1f, inheritAttrs: false, emits: ["load"], style: DeferredContentStyle, - data: /* @__PURE__ */ __name(function data8() { + data: /* @__PURE__ */ __name(function data7() { return { loaded: false }; @@ -7693,7 +7310,7 @@ var script$W = { else this.bindScrollListener(); } }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount3() { this.unbindScrollListener(); }, "beforeUnmount"), methods: { @@ -7764,12 +7381,12 @@ var DialogService = { app.provide(PrimeVueDialogSymbol, DialogService2); }, "install") }; -var theme$u = /* @__PURE__ */ __name(function theme10(_ref) { +var theme$u = /* @__PURE__ */ __name(function theme9(_ref) { var dt = _ref.dt; return "\n.p-dock {\n position: absolute;\n z-index: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\n.p-dock-list-container {\n display: flex;\n pointer-events: auto;\n background: ".concat(dt("dock.background"), ";\n border: 1px solid ").concat(dt("dock.border.color"), ";\n padding: ").concat(dt("dock.padding"), ";\n border-radius: ").concat(dt("dock.border.radius"), ";\n}\n\n.p-dock-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n justify-content: center;\n outline: 0 none;\n}\n\n.p-dock-item {\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n padding: ").concat(dt("dock.item.padding"), ";\n border-radius: ").concat(dt("dock.item.border.radius"), ";\n}\n\n.p-dock-item.p-focus {\n box-shadow: ").concat(dt("dock.item.focus.ring.shadow"), ";\n outline: ").concat(dt("dock.item.focus.ring.width"), " ").concat(dt("dock.item.focus.ring.style"), " ").concat(dt("dock.item.focus.ring.color"), ";\n outline-offset: ").concat(dt("dock.item.focus.ring.offset"), ";\n}\n\n.p-dock-item-link {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n overflow: hidden;\n cursor: default;\n width: ").concat(dt("dock.item.size"), ";\n height: ").concat(dt("dock.item.size"), ";\n}\n\n.p-dock-top {\n left: 0;\n top: 0;\n width: 100%;\n}\n\n.p-dock-bottom {\n left: 0;\n bottom: 0;\n width: 100%;\n}\n\n.p-dock-right {\n right: 0;\n top: 0;\n height: 100%;\n}\n\n.p-dock-right .p-dock-list {\n flex-direction: column;\n}\n\n.p-dock-left {\n left: 0;\n top: 0;\n height: 100%;\n}\n\n.p-dock-left .p-dock-list {\n flex-direction: column;\n}\n\n.p-dock-mobile.p-dock-top .p-dock-list-container,\n.p-dock-mobile.p-dock-bottom .p-dock-list-container {\n overflow-x: auto;\n width: 100%;\n}\n\n.p-dock-mobile.p-dock-top .p-dock-list-container .p-dock-list,\n.p-dock-mobile.p-dock-bottom .p-dock-list-container .p-dock-list {\n margin: 0 auto;\n}\n\n.p-dock-mobile.p-dock-left .p-dock-list-container,\n.p-dock-mobile.p-dock-right .p-dock-list-container {\n overflow-y: auto;\n height: 100%;\n}\n\n.p-dock-mobile.p-dock-left .p-dock-list-container .p-dock-list,\n.p-dock-mobile.p-dock-right .p-dock-list-container .p-dock-list {\n margin: auto 0;\n}\n\n.p-dock-mobile .p-dock-list .p-dock-item {\n transform: none;\n margin: 0;\n}\n"); }, "theme"); var classes$y = { - root: /* @__PURE__ */ __name(function root10(_ref2) { + root: /* @__PURE__ */ __name(function root9(_ref2) { var instance = _ref2.instance, props = _ref2.props; return ["p-dock p-component", "p-dock-".concat(props.position), { "p-dock-mobile": instance.queryMatches @@ -7795,7 +7412,7 @@ var DockStyle = BaseStyle.extend({ }); var script$2$7 = { name: "BaseDock", - "extends": script$1d, + "extends": script$1f, props: { position: { type: String, @@ -7827,7 +7444,7 @@ var script$2$7 = { } }, style: DockStyle, - provide: /* @__PURE__ */ __name(function provide16() { + provide: /* @__PURE__ */ __name(function provide15() { return { $pcDock: this, $parentInstance: this @@ -7867,7 +7484,7 @@ __name(_arrayLikeToArray$b, "_arrayLikeToArray$b"); var script$1$z = { name: "DockSub", hostName: "Dock", - "extends": script$1d, + "extends": script$1f, emits: ["focus", "blur"], props: { position: { @@ -7900,7 +7517,7 @@ var script$1$z = { "default": null } }, - data: /* @__PURE__ */ __name(function data9() { + data: /* @__PURE__ */ __name(function data8() { return { id: this.menuId, currentIndex: -3, @@ -8156,7 +7773,7 @@ var script$V = { "extends": script$2$7, inheritAttrs: false, matchMediaListener: null, - data: /* @__PURE__ */ __name(function data10() { + data: /* @__PURE__ */ __name(function data9() { return { query: null, queryMatches: false @@ -8165,7 +7782,7 @@ var script$V = { mounted: /* @__PURE__ */ __name(function mounted14() { this.bindMatchMediaListener(); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount5() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { this.unbindMatchMediaListener(); }, "beforeUnmount"), methods: { @@ -8220,7 +7837,7 @@ __name(render$P, "render$P"); script$V.render = render$P; var script$U = { name: "Dropdown", - "extends": script$1v, + "extends": script$1u, mounted: /* @__PURE__ */ __name(function mounted15() { console.warn("Deprecated since v4. Use Select component instead."); }, "mounted") @@ -8233,10 +7850,10 @@ var DynamicDialogStyle = BaseStyle.extend({ }); var script$1$y = { name: "BaseDynamicDialog", - "extends": script$1d, + "extends": script$1f, props: {}, style: DynamicDialogStyle, - provide: /* @__PURE__ */ __name(function provide17() { + provide: /* @__PURE__ */ __name(function provide16() { return { $pcDynamicDialog: this, $parentInstance: this @@ -8247,7 +7864,7 @@ var script$T = { name: "DynamicDialog", "extends": script$1$y, inheritAttrs: false, - data: /* @__PURE__ */ __name(function data11() { + data: /* @__PURE__ */ __name(function data10() { return { instanceMap: {} }; @@ -8280,7 +7897,7 @@ var script$T = { DynamicDialogEventBus.on("open", this.openListener); DynamicDialogEventBus.on("close", this.closeListener); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount6() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount5() { DynamicDialogEventBus.off("open", this.openListener); DynamicDialogEventBus.off("close", this.closeListener); }, "beforeUnmount"), @@ -8300,7 +7917,7 @@ var script$T = { }, "getTemplateItems") }, components: { - DDialog: script$1w + DDialog: script$1v } }; function render$O(_ctx, _cache, $props, $setup, $data, $options) { @@ -8353,12 +7970,12 @@ function render$O(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$O, "render$O"); script$T.render = render$O; -var theme$t = /* @__PURE__ */ __name(function theme11(_ref) { +var theme$t = /* @__PURE__ */ __name(function theme10(_ref) { var dt = _ref.dt; return "\n.p-fieldset {\n background: ".concat(dt("fieldset.background"), ";\n border: 1px solid ").concat(dt("fieldset.border.color"), ";\n border-radius: ").concat(dt("fieldset.border.radius"), ";\n color: ").concat(dt("fieldset.color"), ";\n padding: ").concat(dt("fieldset.padding"), ";\n margin: 0;\n}\n\n.p-fieldset-legend {\n background: ").concat(dt("fieldset.legend.background"), ";\n border-radius: ").concat(dt("fieldset.legend.border.radius"), ";\n border-width: ").concat(dt("fieldset.legend.border.width"), ";\n border-style: solid;\n border-color: ").concat(dt("fieldset.legend.border.color"), ";\n padding: ").concat(dt("fieldset.legend.padding"), ";\n transition: background ").concat(dt("fieldset.transition.duration"), ", color ").concat(dt("fieldset.transition.duration"), ", outline-color ").concat(dt("fieldset.transition.duration"), ", box-shadow ").concat(dt("fieldset.transition.duration"), ";\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend {\n padding: 0;\n}\n\n.p-fieldset-toggle-button {\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n position: relative;\n text-decoration: none;\n display: flex;\n gap: ").concat(dt("fieldset.legend.gap"), ";\n align-items: center;\n justify-content: center;\n padding: ").concat(dt("fieldset.legend.padding"), ";\n background: transparent;\n border: 0 none;\n border-radius: ").concat(dt("fieldset.legend.border.radius"), ";\n transition: background ").concat(dt("fieldset.transition.duration"), ", color ").concat(dt("fieldset.transition.duration"), ", outline-color ").concat(dt("fieldset.transition.duration"), ", box-shadow ").concat(dt("fieldset.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-fieldset-legend-label {\n font-weight: ").concat(dt("fieldset.legend.font.weight"), ";\n}\n\n.p-fieldset-toggle-button:focus-visible {\n box-shadow: ").concat(dt("fieldset.legend.focus.ring.shadow"), ";\n outline: ").concat(dt("fieldset.legend.focus.ring.width"), " ").concat(dt("fieldset.legend.focus.ring.style"), " ").concat(dt("fieldset.legend.focus.ring.color"), ";\n outline-offset: ").concat(dt("fieldset.legend.focus.ring.offset"), ";\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend:hover {\n color: ").concat(dt("fieldset.legend.hover.color"), ";\n background: ").concat(dt("fieldset.legend.hover.background"), ";\n}\n\n.p-fieldset-toggle-icon {\n color: ").concat(dt("fieldset.toggle.icon.color"), ";\n transition: color ").concat(dt("fieldset.transition.duration"), ";\n}\n\n.p-fieldset-toggleable > .p-fieldset-legend:hover .p-fieldset-toggle-icon {\n color: ").concat(dt("fieldset.toggle.icon.hover.color"), ";\n}\n\n.p-fieldset .p-fieldset-content {\n padding: ").concat(dt("fieldset.content.padding"), ";\n}\n"); }, "theme"); var classes$x = { - root: /* @__PURE__ */ __name(function root11(_ref2) { + root: /* @__PURE__ */ __name(function root10(_ref2) { var props = _ref2.props; return ["p-fieldset p-component", { "p-fieldset-toggleable": props.toggleable @@ -8378,7 +7995,7 @@ var FieldsetStyle = BaseStyle.extend({ }); var script$1$x = { name: "BaseFieldset", - "extends": script$1d, + "extends": script$1f, props: { legend: String, toggleable: Boolean, @@ -8389,7 +8006,7 @@ var script$1$x = { } }, style: FieldsetStyle, - provide: /* @__PURE__ */ __name(function provide18() { + provide: /* @__PURE__ */ __name(function provide17() { return { $pcFieldset: this, $parentInstance: this @@ -8401,7 +8018,7 @@ var script$S = { "extends": script$1$x, inheritAttrs: false, emits: ["update:collapsed", "toggle"], - data: /* @__PURE__ */ __name(function data12() { + data: /* @__PURE__ */ __name(function data11() { return { id: this.$attrs.id, d_collapsed: this.collapsed @@ -8443,8 +8060,8 @@ var script$S = { ripple: Ripple }, components: { - PlusIcon: script$1x, - MinusIcon: script$1y + PlusIcon: script$1w, + MinusIcon: script$1x } }; function _typeof$i(o) { @@ -8559,7 +8176,7 @@ __name(render$N, "render$N"); script$S.render = render$N; var script$R = { name: "UploadIcon", - "extends": script$1m + "extends": script$1j }; function render$M(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -8577,12 +8194,12 @@ function render$M(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$M, "render$M"); script$R.render = render$M; -var theme$s = /* @__PURE__ */ __name(function theme12(_ref) { +var theme$s = /* @__PURE__ */ __name(function theme11(_ref) { var dt = _ref.dt; return '\n.p-fileupload input[type="file"] {\n display: none;\n}\n\n.p-fileupload-advanced {\n border: 1px solid '.concat(dt("fileupload.border.color"), ";\n border-radius: ").concat(dt("fileupload.border.radius"), ";\n background: ").concat(dt("fileupload.background"), ";\n color: ").concat(dt("fileupload.color"), ";\n}\n\n.p-fileupload-header {\n display: flex;\n align-items: center;\n padding: ").concat(dt("fileupload.header.padding"), ";\n background: ").concat(dt("fileupload.header.background"), ";\n color: ").concat(dt("fileupload.header.color"), ";\n border-style: solid;\n border-width: ").concat(dt("fileupload.header.border.width"), ";\n border-color: ").concat(dt("fileupload.header.border.color"), ";\n border-radius: ").concat(dt("fileupload.header.border.radius"), ";\n gap: ").concat(dt("fileupload.header.gap"), ";\n}\n\n.p-fileupload-content {\n border: 1px solid transparent;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("fileupload.content.gap"), ";\n transition: border-color ").concat(dt("fileupload.transition.duration"), ";\n padding: ").concat(dt("fileupload.content.padding"), ";\n}\n\n.p-fileupload-content .p-progressbar {\n width: 100%;\n height: ").concat(dt("fileupload.progressbar.height"), ";\n}\n\n.p-fileupload-file-list {\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("fileupload.filelist.gap"), ";\n}\n\n.p-fileupload-file {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: ").concat(dt("fileupload.file.padding"), ";\n border-block-end: 1px solid ").concat(dt("fileupload.file.border.color"), ";\n gap: ").concat(dt("fileupload.file.gap"), ";\n}\n\n.p-fileupload-file:last-child {\n border-block-end: 0;\n}\n\n.p-fileupload-file-info {\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("fileupload.file.info.gap"), ";\n}\n\n.p-fileupload-file-thumbnail {\n flex-shrink: 0;\n}\n\n.p-fileupload-file-actions {\n margin-inline-start: auto;\n}\n\n.p-fileupload-highlight {\n border: 1px dashed ").concat(dt("fileupload.content.highlight.border.color"), ";\n}\n\n.p-fileupload-basic {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n gap: ").concat(dt("fileupload.basic.gap"), ";\n}\n"); }, "theme"); var classes$w = { - root: /* @__PURE__ */ __name(function root12(_ref2) { + root: /* @__PURE__ */ __name(function root11(_ref2) { var props = _ref2.props; return ["p-fileupload p-fileupload-".concat(props.mode, " p-component")]; }, "root"), @@ -8608,7 +8225,7 @@ var FileUploadStyle = BaseStyle.extend({ }); var script$2$6 = { name: "BaseFileUpload", - "extends": script$1d, + "extends": script$1f, props: { name: { type: String, @@ -8710,7 +8327,7 @@ var script$2$6 = { }, uploadButtonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default7() { + "default": /* @__PURE__ */ __name(function _default6() { return { severity: "secondary" }; @@ -8718,7 +8335,7 @@ var script$2$6 = { }, cancelButtonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default8() { + "default": /* @__PURE__ */ __name(function _default7() { return { severity: "secondary" }; @@ -8726,7 +8343,7 @@ var script$2$6 = { } }, style: FileUploadStyle, - provide: /* @__PURE__ */ __name(function provide19() { + provide: /* @__PURE__ */ __name(function provide18() { return { $pcFileUpload: this, $parentInstance: this @@ -8736,12 +8353,12 @@ var script$2$6 = { var script$1$w = { name: "FileContent", hostName: "FileUpload", - "extends": script$1d, + "extends": script$1f, emits: ["remove"], props: { files: { type: Array, - "default": /* @__PURE__ */ __name(function _default9() { + "default": /* @__PURE__ */ __name(function _default8() { return []; }, "_default") }, @@ -8777,9 +8394,9 @@ var script$1$w = { }, "formatSize") }, components: { - Button: script$1e, - Badge: script$1z, - TimesIcon: script$1g + Button: script$1d, + Badge: script$1y, + TimesIcon: script$1q } }; var _hoisted_1$1$5 = ["alt", "src", "width"]; @@ -8915,7 +8532,7 @@ var script$Q = { inheritAttrs: false, emits: ["select", "uploader", "before-upload", "progress", "upload", "error", "before-send", "clear", "remove", "remove-uploaded-file"], duplicateIEEvent: false, - data: /* @__PURE__ */ __name(function data13() { + data: /* @__PURE__ */ __name(function data12() { return { uploadedFileCount: 0, files: [], @@ -9262,13 +8879,13 @@ var script$Q = { }, "pendingLabel") }, components: { - Button: script$1e, - ProgressBar: script$1A, - Message: script$1B, + Button: script$1d, + ProgressBar: script$1z, + Message: script$1A, FileContent: script$1$w, - PlusIcon: script$1x, + PlusIcon: script$1w, UploadIcon: script$R, - TimesIcon: script$1g + TimesIcon: script$1q }, directives: { ripple: Ripple @@ -9512,9 +9129,9 @@ var FluidStyle = BaseStyle.extend({ }); var script$1$v = { name: "BaseFluid", - "extends": script$1d, + "extends": script$1f, style: FluidStyle, - provide: /* @__PURE__ */ __name(function provide20() { + provide: /* @__PURE__ */ __name(function provide19() { return { $pcFluid: this, $parentInstance: this @@ -9533,7 +9150,7 @@ function render$K(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$K, "render$K"); script$P.render = render$K; -var theme$r = /* @__PURE__ */ __name(function theme13(_ref) { +var theme$r = /* @__PURE__ */ __name(function theme12(_ref) { var dt = _ref.dt; return "\n.p-iftalabel {\n display: block;\n position: relative;\n}\n\n.p-iftalabel label {\n position: absolute;\n pointer-events: none;\n top: ".concat(dt("iftalabel.top"), ";\n transition-property: all;\n transition-timing-function: ease;\n line-height: 1;\n font-size: ").concat(dt("iftalabel.font.size"), ";\n font-weight: ").concat(dt("iftalabel.font.weight"), ";\n inset-inline-start: ").concat(dt("iftalabel.position.x"), ";\n color: ").concat(dt("iftalabel.color"), ";\n transition-duration: ").concat(dt("iftalabel.transition.duration"), ";\n}\n\n.p-iftalabel .p-inputtext,\n.p-iftalabel .p-textarea,\n.p-iftalabel .p-select-label,\n.p-iftalabel .p-multiselect-label,\n.p-iftalabel .p-autocomplete-input-multiple,\n.p-iftalabel .p-cascadeselect-label,\n.p-iftalabel .p-treeselect-label {\n padding-block-start: ").concat(dt("iftalabel.input.padding.top"), ";\n padding-block-end: ").concat(dt("iftalabel.input.padding.bottom"), ";\n}\n\n.p-iftalabel:has(.p-invalid) label {\n color: ").concat(dt("iftalabel.invalid.color"), ";\n}\n\n.p-iftalabel:has(input:focus) label,\n.p-iftalabel:has(input:-webkit-autofill) label,\n.p-iftalabel:has(textarea:focus) label,\n.p-iftalabel:has(.p-inputwrapper-focus) label {\n color: ").concat(dt("iftalabel.focus.color"), ";\n}\n\n.p-iftalabel .p-inputicon {\n top: ").concat(dt("iftalabel.input.padding.top"), ";\n transform: translateY(25%);\n margin-top: 0;\n}\n"); }, "theme"); @@ -9547,9 +9164,9 @@ var IftaLabelStyle = BaseStyle.extend({ }); var script$1$u = { name: "BaseIftaLabel", - "extends": script$1d, + "extends": script$1f, style: IftaLabelStyle, - provide: /* @__PURE__ */ __name(function provide21() { + provide: /* @__PURE__ */ __name(function provide20() { return { $pcIftaLabel: this, $parentInstance: this @@ -9570,7 +9187,7 @@ __name(render$J, "render$J"); script$O.render = render$J; var script$N = { name: "EyeIcon", - "extends": script$1m + "extends": script$1j }; function render$I(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -9590,7 +9207,7 @@ __name(render$I, "render$I"); script$N.render = render$I; var script$M = { name: "RefreshIcon", - "extends": script$1m + "extends": script$1j }; function render$H(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -9610,7 +9227,7 @@ __name(render$H, "render$H"); script$M.render = render$H; var script$L = { name: "SearchMinusIcon", - "extends": script$1m + "extends": script$1j }; function render$G(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -9630,7 +9247,7 @@ __name(render$G, "render$G"); script$L.render = render$G; var script$K = { name: "SearchPlusIcon", - "extends": script$1m + "extends": script$1j }; function render$F(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -9650,7 +9267,7 @@ __name(render$F, "render$F"); script$K.render = render$F; var script$J = { name: "UndoIcon", - "extends": script$1m + "extends": script$1j }; function render$E(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -9668,12 +9285,12 @@ function render$E(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$E, "render$E"); script$J.render = render$E; -var theme$q = /* @__PURE__ */ __name(function theme14(_ref) { +var theme$q = /* @__PURE__ */ __name(function theme13(_ref) { var dt = _ref.dt; return "\n.p-image-mask {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-image-preview {\n position: relative;\n display: inline-flex;\n line-height: 0;\n}\n\n.p-image-preview-mask {\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.3s;\n border: 0 none;\n padding: 0;\n cursor: pointer;\n background: transparent;\n color: ".concat(dt("image.preview.mask.color"), ";\n transition: background ").concat(dt("image.transition.duration"), ";\n}\n\n.p-image-preview:hover > .p-image-preview-mask {\n opacity: 1;\n cursor: pointer;\n background: ").concat(dt("image.preview.mask.background"), ";\n}\n\n.p-image-preview-icon {\n font-size: ").concat(dt("image.preview.icon.size"), ";\n width: ").concat(dt("image.preview.icon.size"), ";\n height: ").concat(dt("image.preview.icon.size"), ";\n}\n\n.p-image-toolbar {\n position: absolute;\n inset-block-start: ").concat(dt("image.toolbar.position.top"), ";\n inset-inline-end: ").concat(dt("image.toolbar.position.right"), ";\n inset-inline-start: ").concat(dt("image.toolbar.position.left"), ";\n inset-block-end: ").concat(dt("image.toolbar.position.bottom"), ";\n display: flex;\n z-index: 1;\n padding: ").concat(dt("image.toolbar.padding"), ";\n background: ").concat(dt("image.toolbar.background"), ";\n backdrop-filter: blur(").concat(dt("image.toolbar.blur"), ");\n border-color: ").concat(dt("image.toolbar.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("image.toolbar.border.width"), ";\n border-radius: ").concat(dt("image.toolbar.border.radius"), ";\n gap: ").concat(dt("image.toolbar.gap"), ";\n}\n\n.p-image-action {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n color: ").concat(dt("image.action.color"), ";\n background: transparent;\n width: ").concat(dt("image.action.size"), ";\n height: ").concat(dt("image.action.size"), ";\n margin: 0;\n padding: 0;\n border: 0 none;\n cursor: pointer;\n user-select: none;\n border-radius: ").concat(dt("image.action.border.radius"), ";\n outline-color: transparent;\n transition: background ").concat(dt("image.transition.duration"), ", color ").concat(dt("image.transition.duration"), ", outline-color ").concat(dt("image.transition.duration"), ", box-shadow ").concat(dt("image.transition.duration"), ";\n}\n\n.p-image-action:hover {\n color: ").concat(dt("image.action.hover.color"), ";\n background: ").concat(dt("image.action.hover.background"), ";\n}\n\n.p-image-action:focus-visible {\n box-shadow: ").concat(dt("image.action.focus.ring.shadow"), ";\n outline: ").concat(dt("image.action.focus.ring.width"), " ").concat(dt("image.action.focus.ring.style"), " ").concat(dt("image.action.focus.ring.color"), ";\n outline-offset: ").concat(dt("image.action.focus.ring.offset"), ";\n}\n\n.p-image-action .p-icon {\n font-size: ").concat(dt("image.action.icon.size"), ";\n width: ").concat(dt("image.action.icon.size"), ";\n height: ").concat(dt("image.action.icon.size"), ";\n}\n\n.p-image-action.p-disabled {\n pointer-events: auto;\n}\n\n.p-image-original {\n transition: transform 0.15s;\n max-width: 100vw;\n max-height: 100vh;\n}\n\n.p-image-original-enter-active {\n transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-image-original-leave-active {\n transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.p-image-original-enter-from,\n.p-image-original-leave-to {\n opacity: 0;\n transform: scale(0.7);\n}\n"); }, "theme"); var classes$t = { - root: /* @__PURE__ */ __name(function root13(_ref2) { + root: /* @__PURE__ */ __name(function root12(_ref2) { var props = _ref2.props; return ["p-image p-component", { "p-image-preview": props.preview @@ -9707,7 +9324,7 @@ var ImageStyle = BaseStyle.extend({ }); var script$1$t = { name: "BaseImage", - "extends": script$1d, + "extends": script$1f, props: { preview: { type: Boolean, @@ -9751,7 +9368,7 @@ var script$1$t = { } }, style: ImageStyle, - provide: /* @__PURE__ */ __name(function provide22() { + provide: /* @__PURE__ */ __name(function provide21() { return { $pcImage: this, $parentInstance: this @@ -9764,7 +9381,7 @@ var script$I = { inheritAttrs: false, emits: ["show", "hide", "error"], mask: null, - data: /* @__PURE__ */ __name(function data14() { + data: /* @__PURE__ */ __name(function data13() { return { maskVisible: false, previewVisible: false, @@ -9772,13 +9389,13 @@ var script$I = { scale: 1 }; }, "data"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount7() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount6() { if (this.mask) { ZIndex.clear(this.container); } }, "beforeUnmount"), methods: { - maskRef: /* @__PURE__ */ __name(function maskRef2(el) { + maskRef: /* @__PURE__ */ __name(function maskRef(el) { this.mask = el; }, "maskRef"), toolbarRef: /* @__PURE__ */ __name(function toolbarRef(el) { @@ -9797,7 +9414,7 @@ var script$I = { onPreviewImageClick: /* @__PURE__ */ __name(function onPreviewImageClick() { this.previewClick = true; }, "onPreviewImageClick"), - onMaskClick: /* @__PURE__ */ __name(function onMaskClick2(event2) { + onMaskClick: /* @__PURE__ */ __name(function onMaskClick(event2) { var isBarActionsClicked = isAttributeEquals(event2.target, "data-pc-section-group", "action") || event2.target.closest('[data-pc-section-group="action"]'); if (!this.previewClick && !isBarActionsClicked) { this.previewVisible = false; @@ -9840,18 +9457,18 @@ var script$I = { onBeforeEnter: /* @__PURE__ */ __name(function onBeforeEnter() { ZIndex.set("modal", this.mask, this.$primevue.config.zIndex.modal); }, "onBeforeEnter"), - onEnter: /* @__PURE__ */ __name(function onEnter2() { + onEnter: /* @__PURE__ */ __name(function onEnter() { this.focus(); this.$emit("show"); }, "onEnter"), - onBeforeLeave: /* @__PURE__ */ __name(function onBeforeLeave2() { + onBeforeLeave: /* @__PURE__ */ __name(function onBeforeLeave() { !this.isUnstyled && addClass(this.mask, "p-overlay-mask-leave"); }, "onBeforeLeave"), - onLeave: /* @__PURE__ */ __name(function onLeave2() { + onLeave: /* @__PURE__ */ __name(function onLeave() { unblockBodyScroll(); this.$emit("hide"); }, "onLeave"), - onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave2(el) { + onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave(el) { ZIndex.clear(el); this.maskVisible = false; }, "onAfterLeave"), @@ -9901,18 +9518,18 @@ var script$I = { zoomImageAriaLabel: /* @__PURE__ */ __name(function zoomImageAriaLabel() { return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomImage : void 0; }, "zoomImageAriaLabel"), - closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel2() { + closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel() { return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0; }, "closeAriaLabel") }, components: { - Portal: script$1f, + Portal: script$1m, EyeIcon: script$N, RefreshIcon: script$M, UndoIcon: script$J, SearchMinusIcon: script$L, SearchPlusIcon: script$K, - TimesIcon: script$1g + TimesIcon: script$1q }, directives: { focustrap: FocusTrap @@ -9977,7 +9594,7 @@ var _hoisted_4$8 = ["aria-label"]; var _hoisted_5$3 = ["disabled", "aria-label"]; var _hoisted_6$1 = ["disabled", "aria-label"]; var _hoisted_7$1 = ["aria-label"]; -var _hoisted_8 = ["src"]; +var _hoisted_8$1 = ["src"]; function render$D(_ctx, _cache, $props, $setup, $data, $options) { var _component_RefreshIcon = resolveComponent("RefreshIcon"); var _component_UndoIcon = resolveComponent("UndoIcon"); @@ -10109,7 +9726,7 @@ function render$D(_ctx, _cache, $props, $setup, $data, $options) { onClick: _cache[7] || (_cache[7] = function() { return $options.onPreviewImageClick && $options.onPreviewImageClick.apply($options, arguments); }) - }, _ctx.ptm("original")), null, 16, _hoisted_8)]; + }, _ctx.ptm("original")), null, 16, _hoisted_8$1)]; })], 16)) : createCommentVNode("", true)]; }), _: 3 @@ -10120,7 +9737,7 @@ function render$D(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$D, "render$D"); script$I.render = render$D; -var theme$p = /* @__PURE__ */ __name(function theme15(_ref) { +var theme$p = /* @__PURE__ */ __name(function theme14(_ref) { var dt = _ref.dt; return "\n.p-imagecompare {\n position: relative;\n overflow: hidden;\n width: 100%;\n aspect-ratio: 16 / 9;\n}\n\n.p-imagecompare img {\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.p-imagecompare img + img {\n clip-path: polygon(0 0, ".concat(dt("imagecompare.scope.x", "50%"), " 0, ").concat(dt("imagecompare.scope.x", "50%"), " 100%, 0 100%);\n}\n\n.p-imagecompare:dir(rtl) img + img {\n clip-path: polygon(calc(100% - ").concat(dt("imagecompare.scope.x", "50%"), ") 0, 100% 0, 100% 100%, calc(100% - ").concat(dt("imagecompare.scope.x", "50%"), ") 100%);\n}\n\n.p-imagecompare-slider {\n position: relative;\n -webkit-appearance: none;\n width: calc(100% + ").concat(dt("imagecompare.handle.size"), ");\n height: 100%;\n margin-inline-start: calc(-1 * calc(").concat(dt("imagecompare.handle.size"), " / 2));\n background-color: transparent;\n outline: none;\n transition: all ").concat(dt("imagecompare.handle.transition.duration"), ";\n}\n\n.p-imagecompare-slider::-webkit-slider-thumb {\n -webkit-appearance: none;\n height: ").concat(dt("imagecompare.handle.size"), ";\n width: ").concat(dt("imagecompare.handle.size"), ";\n background: ").concat(dt("imagecompare.handle.background"), ";\n border: ").concat(dt("imagecompare.handle.border.width"), " solid ").concat(dt("imagecompare.handle.border.color"), ";\n border-radius: ").concat(dt("imagecompare.handle.border.radius"), ";\n background-size: contain;\n cursor: ew-resize;\n transition: all ").concat(dt("imagecompare.handle.transition.duration"), ";\n}\n\n.p-imagecompare-slider::-moz-range-thumb {\n height: ").concat(dt("imagecompare.handle.size"), ";\n width: ").concat(dt("imagecompare.handle.size"), ";\n background: ").concat(dt("imagecompare.handle.background"), ";\n border: ").concat(dt("imagecompare.handle.border.width"), " ").concat(dt("imagecompare.handle.border.style"), " ").concat(dt("imagecompare.handle.border.color"), ";\n border-radius: ").concat(dt("imagecompare.handle.border.radius"), ";\n background-size: contain;\n cursor: ew-resize;\n}\n\n.p-imagecompare-slider:focus-visible::-webkit-slider-thumb {\n box-shadow: ").concat(dt("imagecompare.handle.focus.ring.shadow"), ";\n outline: ").concat(dt("imagecompare.handle.focus.ring.width"), " ").concat(dt("imagecompare.handle.focus.ring.style"), " ").concat(dt("imagecompare.handle.focus.ring.color"), ";\n outline-offset: ").concat(dt("imagecompare.handle.focus.ring.offset"), ";\n}\n\n.p-imagecompare-slider:focus-visible::-moz-range-thumb {\n box-shadow: ").concat(dt("imagecompare.handle.focus.ring.shadow"), ";\n outline: ").concat(dt("imagecompare.handle.focus.ring.width"), " ").concat(dt("imagecompare.handle.focus.ring.style"), " ").concat(dt("imagecompare.handle.focus.ring.color"), ";\n outline-offset: ").concat(dt("imagecompare.handle.focus.ring.offset"), ";\n}\n\n.p-imagecompare-slider:hover {\n width: calc(100% + ").concat(dt("imagecompare.handle.hover.size"), ");\n margin-inline-start: calc(-1 * calc(").concat(dt("imagecompare.handle.hover.size"), " / 2));\n}\n\n.p-imagecompare-slider:hover::-webkit-slider-thumb {\n background: ").concat(dt("imagecompare.handle.hover.background"), ";\n border-color: ").concat(dt("imagecompare.handle.hover.border.color"), ";\n height: ").concat(dt("imagecompare.handle.hover.size"), ";\n width: ").concat(dt("imagecompare.handle.hover.size"), ";\n}\n\n.p-imagecompare-slider:hover::-moz-range-thumb {\n background: ").concat(dt("imagecompare.handle.hover.background"), ";\n border-color: ").concat(dt("imagecompare.handle.hover.border.color"), ";\n height: ").concat(dt("imagecompare.handle.hover.size"), ";\n width: ").concat(dt("imagecompare.handle.hover.size"), ";\n}\n"); }, "theme"); @@ -10135,7 +9752,7 @@ var ImageCompareStyle = BaseStyle.extend({ }); var script$1$s = { name: "BaseImageCompare", - "extends": script$1d, + "extends": script$1f, props: { tabindex: { type: Number, @@ -10151,7 +9768,7 @@ var script$1$s = { } }, style: ImageCompareStyle, - provide: /* @__PURE__ */ __name(function provide23() { + provide: /* @__PURE__ */ __name(function provide22() { return { $pcImageCompare: this, $parentInstance: this @@ -10188,12 +9805,12 @@ function render$C(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$C, "render$C"); script$H.render = render$C; -var theme$o = /* @__PURE__ */ __name(function theme16(_ref) { +var theme$o = /* @__PURE__ */ __name(function theme15(_ref) { var dt = _ref.dt; return "\n.p-inlinemessage {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: ".concat(dt("inlinemessage.padding"), ";\n border-radius: ").concat(dt("inlinemessage.border.radius"), ";\n gap: ").concat(dt("inlinemessage.gap"), ";\n}\n\n.p-inlinemessage-text {\n font-weight: ").concat(dt("inlinemessage.text.font.weight"), ";\n}\n\n.p-inlinemessage-icon {\n flex-shrink: 0;\n font-size: ").concat(dt("inlinemessage.icon.size"), ";\n width: ").concat(dt("inlinemessage.icon.size"), ";\n height: ").concat(dt("inlinemessage.icon.size"), ";\n}\n\n.p-inlinemessage-icon-only .p-inlinemessage-text {\n visibility: hidden;\n width: 0;\n}\n\n.p-inlinemessage-info {\n background: ").concat(dt("inlinemessage.info.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.info.border.color"), ";\n color: ").concat(dt("inlinemessage.info.color"), ";\n box-shadow: ").concat(dt("inlinemessage.info.shadow"), ";\n}\n\n.p-inlinemessage-info .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.info.color"), ";\n}\n\n.p-inlinemessage-success {\n background: ").concat(dt("inlinemessage.success.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.success.border.color"), ";\n color: ").concat(dt("inlinemessage.success.color"), ";\n box-shadow: ").concat(dt("inlinemessage.success.shadow"), ";\n}\n\n.p-inlinemessage-success .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.success.color"), ";\n}\n\n.p-inlinemessage-warn {\n background: ").concat(dt("inlinemessage.warn.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.warn.border.color"), ";\n color: ").concat(dt("inlinemessage.warn.color"), ";\n box-shadow: ").concat(dt("inlinemessage.warn.shadow"), ";\n}\n\n.p-inlinemessage-warn .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.warn.color"), ";\n}\n\n.p-inlinemessage-error {\n background: ").concat(dt("inlinemessage.error.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.error.border.color"), ";\n color: ").concat(dt("inlinemessage.error.color"), ";\n box-shadow: ").concat(dt("inlinemessage.error.shadow"), ";\n}\n\n.p-inlinemessage-error .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.error.color"), ";\n}\n\n.p-inlinemessage-secondary {\n background: ").concat(dt("inlinemessage.secondary.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.secondary.border.color"), ";\n color: ").concat(dt("inlinemessage.secondary.color"), ";\n box-shadow: ").concat(dt("inlinemessage.secondary.shadow"), ";\n}\n\n.p-inlinemessage-secondary .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.secondary.color"), ";\n}\n\n.p-inlinemessage-contrast {\n background: ").concat(dt("inlinemessage.contrast.background"), ";\n border: 1px solid ").concat(dt("inlinemessage.contrast.border.color"), ";\n color: ").concat(dt("inlinemessage.contrast.color"), ";\n box-shadow: ").concat(dt("inlinemessage.contrast.shadow"), ";\n}\n\n.p-inlinemessage-contrast .p-inlinemessage-icon {\n color: ").concat(dt("inlinemessage.contrast.color"), ";\n}\n"); }, "theme"); var classes$r = { - root: /* @__PURE__ */ __name(function root14(_ref2) { + root: /* @__PURE__ */ __name(function root13(_ref2) { var props = _ref2.props, instance = _ref2.instance; return ["p-inlinemessage p-component p-inlinemessage-" + props.severity, { "p-inlinemessage-icon-only": !instance.$slots["default"] @@ -10212,7 +9829,7 @@ var InlineMessageStyle = BaseStyle.extend({ }); var script$1$r = { name: "BaseInlineMessage", - "extends": script$1d, + "extends": script$1f, props: { severity: { type: String, @@ -10224,7 +9841,7 @@ var script$1$r = { } }, style: InlineMessageStyle, - provide: /* @__PURE__ */ __name(function provide24() { + provide: /* @__PURE__ */ __name(function provide23() { return { $pcInlineMessage: this, $parentInstance: this @@ -10236,7 +9853,7 @@ var script$G = { "extends": script$1$r, inheritAttrs: false, timeout: null, - data: /* @__PURE__ */ __name(function data15() { + data: /* @__PURE__ */ __name(function data14() { return { visible: true }; @@ -10252,10 +9869,10 @@ var script$G = { computed: { iconComponent: /* @__PURE__ */ __name(function iconComponent() { return { - info: script$1C, - success: script$1D, - warn: script$1E, - error: script$1F + info: script$1B, + success: script$1C, + warn: script$1D, + error: script$1E }[this.severity]; }, "iconComponent") } @@ -10277,7 +9894,7 @@ function render$B(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$B, "render$B"); script$G.render = render$B; -var theme$n = /* @__PURE__ */ __name(function theme17(_ref) { +var theme$n = /* @__PURE__ */ __name(function theme16(_ref) { var dt = _ref.dt; return "\n.p-inplace-display {\n display: inline-block;\n cursor: pointer;\n border: 1px solid transparent;\n padding: ".concat(dt("inplace.padding"), ";\n border-radius: ").concat(dt("inplace.border.radius"), ";\n transition: background ").concat(dt("inplace.transition.duration"), ", color ").concat(dt("inplace.transition.duration"), ", outline-color ").concat(dt("inplace.transition.duration"), ", box-shadow ").concat(dt("inplace.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-inplace-display:not(.p-disabled):hover {\n background: ").concat(dt("inplace.display.hover.background"), ";\n color: ").concat(dt("inplace.display.hover.color"), ";\n}\n\n.p-inplace-display:focus-visible {\n box-shadow: ").concat(dt("inplace.focus.ring.shadow"), ";\n outline: ").concat(dt("inplace.focus.ring.width"), " ").concat(dt("inplace.focus.ring.style"), " ").concat(dt("inplace.focus.ring.color"), ";\n outline-offset: ").concat(dt("inplace.focus.ring.offset"), ";\n}\n\n.p-inplace-content {\n display: block;\n}\n"); }, "theme"); @@ -10298,7 +9915,7 @@ var InplaceStyle = BaseStyle.extend({ }); var script$1$q = { name: "BaseInplace", - "extends": script$1d, + "extends": script$1f, props: { active: { type: Boolean, @@ -10314,7 +9931,7 @@ var script$1$q = { } }, style: InplaceStyle, - provide: /* @__PURE__ */ __name(function provide25() { + provide: /* @__PURE__ */ __name(function provide24() { return { $pcInplace: this, $parentInstance: this @@ -10326,7 +9943,7 @@ var script$F = { "extends": script$1$q, inheritAttrs: false, emits: ["open", "close", "update:active"], - data: /* @__PURE__ */ __name(function data16() { + data: /* @__PURE__ */ __name(function data15() { return { d_active: this.active }; @@ -10434,7 +10051,7 @@ function render$A(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$A, "render$A"); script$F.render = render$A; -var theme$m = /* @__PURE__ */ __name(function theme18(_ref) { +var theme$m = /* @__PURE__ */ __name(function theme17(_ref) { var dt = _ref.dt; return "\n.p-inputgroup,\n.p-inputgroup .p-iconfield,\n.p-inputgroup .p-floatlabel,\n.p-inputgroup .p-iftalabel {\n display: flex;\n align-items: stretch;\n width: 100%;\n}\n\n.p-inputgroup .p-inputtext,\n.p-inputgroup .p-inputwrapper {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-inputgroupaddon {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ".concat(dt("inputgroup.addon.padding"), ";\n background: ").concat(dt("inputgroup.addon.background"), ";\n color: ").concat(dt("inputgroup.addon.color"), ";\n border-block-start: 1px solid ").concat(dt("inputgroup.addon.border.color"), ";\n border-block-end: 1px solid ").concat(dt("inputgroup.addon.border.color"), ";\n min-width: ").concat(dt("inputgroup.addon.min.width"), ";\n}\n\n.p-inputgroupaddon:first-child,\n.p-inputgroupaddon + .p-inputgroupaddon {\n border-inline-start: 1px solid ").concat(dt("inputgroup.addon.border.color"), ";\n}\n\n.p-inputgroupaddon:last-child {\n border-inline-end: 1px solid ").concat(dt("inputgroup.addon.border.color"), ";\n}\n\n.p-inputgroupaddon:has(.p-button) {\n padding: 0;\n overflow: hidden;\n}\n\n.p-inputgroupaddon .p-button {\n border-radius: 0;\n}\n\n.p-inputgroup > .p-component,\n.p-inputgroup > .p-inputwrapper > .p-component,\n.p-inputgroup > .p-iconfield > .p-component,\n.p-inputgroup > .p-floatlabel > .p-component,\n.p-inputgroup > .p-floatlabel > .p-inputwrapper > .p-component,\n.p-inputgroup > .p-iftalabel > .p-component,\n.p-inputgroup > .p-iftalabel > .p-inputwrapper > .p-component {\n border-radius: 0;\n margin: 0;\n}\n\n.p-inputgroupaddon:first-child,\n.p-inputgroup > .p-component:first-child,\n.p-inputgroup > .p-inputwrapper:first-child > .p-component,\n.p-inputgroup > .p-iconfield:first-child > .p-component,\n.p-inputgroup > .p-floatlabel:first-child > .p-component,\n.p-inputgroup > .p-floatlabel:first-child > .p-inputwrapper > .p-component,\n.p-inputgroup > .p-iftalabel:first-child > .p-component,\n.p-inputgroup > .p-iftalabel:first-child > .p-inputwrapper > .p-component {\n border-start-start-radius: ").concat(dt("inputgroup.addon.border.radius"), ";\n border-end-start-radius: ").concat(dt("inputgroup.addon.border.radius"), ";\n}\n\n.p-inputgroupaddon:last-child,\n.p-inputgroup > .p-component:last-child,\n.p-inputgroup > .p-inputwrapper:last-child > .p-component,\n.p-inputgroup > .p-iconfield:last-child > .p-component,\n.p-inputgroup > .p-floatlabel:last-child > .p-component,\n.p-inputgroup > .p-floatlabel:last-child > .p-inputwrapper > .p-component,\n.p-inputgroup > .p-iftalabel:last-child > .p-component,\n.p-inputgroup > .p-iftalabel:last-child > .p-inputwrapper > .p-component {\n border-start-end-radius: ").concat(dt("inputgroup.addon.border.radius"), ";\n border-end-end-radius: ").concat(dt("inputgroup.addon.border.radius"), ";\n}\n\n.p-inputgroup .p-component:focus,\n.p-inputgroup .p-component.p-focus,\n.p-inputgroup .p-inputwrapper-focus,\n.p-inputgroup .p-component:focus ~ label,\n.p-inputgroup .p-component.p-focus ~ label,\n.p-inputgroup .p-inputwrapper-focus ~ label {\n z-index: 1;\n}\n\n.p-inputgroup > .p-button:not(.p-button-icon-only) {\n width: auto;\n}\n\n.p-inputgroup .p-iconfield + .p-iconfield .p-inputtext {\n border-inline-start: 0;\n}\n"); }, "theme"); @@ -10448,9 +10065,9 @@ var InputGroupStyle = BaseStyle.extend({ }); var script$1$p = { name: "BaseInputGroup", - "extends": script$1d, + "extends": script$1f, style: InputGroupStyle, - provide: /* @__PURE__ */ __name(function provide26() { + provide: /* @__PURE__ */ __name(function provide25() { return { $pcInputGroup: this, $parentInstance: this @@ -10478,9 +10095,9 @@ var InputGroupAddonStyle = BaseStyle.extend({ }); var script$1$o = { name: "BaseInputGroupAddon", - "extends": script$1d, + "extends": script$1f, style: InputGroupAddonStyle, - provide: /* @__PURE__ */ __name(function provide27() { + provide: /* @__PURE__ */ __name(function provide26() { return { $pcInputGroupAddon: this, $parentInstance: this @@ -10500,7 +10117,7 @@ function render$y(_ctx, _cache, $props, $setup, $data, $options) { __name(render$y, "render$y"); script$D.render = render$y; var classes$n = { - root: /* @__PURE__ */ __name(function root15(_ref) { + root: /* @__PURE__ */ __name(function root14(_ref) { var instance = _ref.instance; return ["p-inputmask", { "p-filled": instance.$filled @@ -10513,7 +10130,7 @@ var InputMaskStyle = BaseStyle.extend({ }); var script$1$n = { name: "BaseInputMask", - "extends": script$1n, + "extends": script$1k, props: { slotChar: { type: String, @@ -10549,7 +10166,7 @@ var script$1$n = { } }, style: InputMaskStyle, - provide: /* @__PURE__ */ __name(function provide28() { + provide: /* @__PURE__ */ __name(function provide27() { return { $pcInputMask: this, $parentInstance: this @@ -10566,13 +10183,13 @@ var script$C = { "default": null } }, - data: /* @__PURE__ */ __name(function data17() { + data: /* @__PURE__ */ __name(function data16() { return { currentVal: "" }; }, "data"), watch: { - mask: /* @__PURE__ */ __name(function mask3(newMask, oldMask) { + mask: /* @__PURE__ */ __name(function mask(newMask, oldMask) { if (oldMask !== newMask) { this.initMask(); } @@ -10581,7 +10198,7 @@ var script$C = { mounted: /* @__PURE__ */ __name(function mounted19() { this.initMask(); }, "mounted"), - updated: /* @__PURE__ */ __name(function updated4() { + updated: /* @__PURE__ */ __name(function updated3() { if (this.isValueUpdated()) { this.updateValue(); } @@ -10978,7 +10595,7 @@ var script$C = { }, "ptmParams") }, components: { - InputText: script$1o + InputText: script$1l } }; function render$x(_ctx, _cache, $props, $setup, $data, $options) { @@ -11008,7 +10625,7 @@ function render$x(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$x, "render$x"); script$C.render = render$x; -var theme$l = /* @__PURE__ */ __name(function theme19(_ref) { +var theme$l = /* @__PURE__ */ __name(function theme18(_ref) { var dt = _ref.dt; return "\n.p-inputotp {\n display: flex;\n align-items: center;\n gap: ".concat(dt("inputotp.gap"), ";\n}\n\n.p-inputotp-input {\n text-align: center;\n width: ").concat(dt("inputotp.input.width"), ";\n}\n\n.p-inputotp-input.p-inputtext-sm {\n text-align: center;\n width: ").concat(dt("inputotp.input.sm.width"), ";\n}\n\n.p-inputotp-input.p-inputtext-lg {\n text-align: center;\n width: ").concat(dt("inputotp.input.lg.width"), ";\n}\n"); }, "theme"); @@ -11023,7 +10640,7 @@ var InputOtpStyle = BaseStyle.extend({ }); var script$1$m = { name: "BaseInputOtp", - "extends": script$1n, + "extends": script$1k, props: { readonly: { type: Boolean, @@ -11047,7 +10664,7 @@ var script$1$m = { } }, style: InputOtpStyle, - provide: /* @__PURE__ */ __name(function provide29() { + provide: /* @__PURE__ */ __name(function provide28() { return { $pcInputOtp: this, $parentInstance: this @@ -11059,7 +10676,7 @@ var script$B = { "extends": script$1$m, inheritAttrs: false, emits: ["change", "focus", "blur"], - data: /* @__PURE__ */ __name(function data18() { + data: /* @__PURE__ */ __name(function data17() { return { tokens: [] }; @@ -11206,7 +10823,7 @@ var script$B = { }, "inputType") }, components: { - OtpInputText: script$1o + OtpInputText: script$1l } }; function render$w(_ctx, _cache, $props, $setup, $data, $options) { @@ -11260,7 +10877,7 @@ __name(render$w, "render$w"); script$B.render = render$w; var script$A = { name: "InputSwitch", - "extends": script$1G, + "extends": script$1F, mounted: /* @__PURE__ */ __name(function mounted20() { console.warn("Deprecated since v4. Use ToggleSwitch component instead."); }, "mounted") @@ -11326,7 +10943,7 @@ var KeyFilter = BaseKeyFilter.extend("keyfilter", { this.bindEvents(target); target.setAttribute("data-pd-keyfilter", true); }, "beforeMount"), - updated: /* @__PURE__ */ __name(function updated5(el, options4) { + updated: /* @__PURE__ */ __name(function updated4(el, options4) { var target = this.getTarget(el); if (!target) return; target.$_pkeyfilterModifier = this.getModifiers(options4); @@ -11382,7 +10999,7 @@ var KeyFilter = BaseKeyFilter.extend("keyfilter", { el.$_keyfilterKeydownEvent = null; el.$_keyfilterPasteEvent = null; }, "unbindEvents"), - onKeydown: /* @__PURE__ */ __name(function onKeydown3(event2, target) { + onKeydown: /* @__PURE__ */ __name(function onKeydown2(event2, target) { if (event2.ctrlKey || event2.altKey || event2.metaKey || event2.key === "Tab") { return; } @@ -11419,12 +11036,12 @@ var KeyFilter = BaseKeyFilter.extend("keyfilter", { }, "onPaste") } }); -var theme$k = /* @__PURE__ */ __name(function theme20(_ref) { +var theme$k = /* @__PURE__ */ __name(function theme19(_ref) { var dt = _ref.dt; return "\n.p-knob-range {\n fill: none;\n transition: stroke 0.1s ease-in;\n}\n\n.p-knob-value {\n animation-name: p-knob-dash-frame;\n animation-fill-mode: forwards;\n fill: none;\n}\n\n.p-knob-text {\n font-size: 1.3rem;\n text-align: center;\n}\n\n.p-knob svg {\n border-radius: 50%;\n outline-color: transparent;\n transition: background ".concat(dt("knob.transition.duration"), ", color ").concat(dt("knob.transition.duration"), ", outline-color ").concat(dt("knob.transition.duration"), ", box-shadow ").concat(dt("knob.transition.duration"), ";\n}\n\n.p-knob svg:focus-visible {\n box-shadow: ").concat(dt("knob.focus.ring.shadow"), ";\n outline: ").concat(dt("knob.focus.ring.width"), " ").concat(dt("knob.focus.ring.style"), " ").concat(dt("knob.focus.ring.color"), ";\n outline-offset: ").concat(dt("knob.focus.ring.offset"), ";\n}\n\n@keyframes p-knob-dash-frame {\n 100% {\n stroke-dashoffset: 0;\n }\n}\n"); }, "theme"); var classes$l = { - root: /* @__PURE__ */ __name(function root16(_ref2) { + root: /* @__PURE__ */ __name(function root15(_ref2) { var instance = _ref2.instance, props = _ref2.props; return ["p-knob p-component", { "p-disabled": props.disabled, @@ -11442,7 +11059,7 @@ var KnobStyle = BaseStyle.extend({ }); var script$1$l = { name: "BaseKnob", - "extends": script$1s, + "extends": script$1r, props: { size: { type: Number, @@ -11466,19 +11083,19 @@ var script$1$l = { }, valueColor: { type: String, - "default": /* @__PURE__ */ __name(function _default10() { + "default": /* @__PURE__ */ __name(function _default9() { return $dt("knob.value.background").variable; }, "_default") }, rangeColor: { type: String, - "default": /* @__PURE__ */ __name(function _default11() { + "default": /* @__PURE__ */ __name(function _default10() { return $dt("knob.range.background").variable; }, "_default") }, textColor: { type: String, - "default": /* @__PURE__ */ __name(function _default12() { + "default": /* @__PURE__ */ __name(function _default11() { return $dt("knob.text.color").variable; }, "_default") }, @@ -11508,7 +11125,7 @@ var script$1$l = { } }, style: KnobStyle, - provide: /* @__PURE__ */ __name(function provide30() { + provide: /* @__PURE__ */ __name(function provide29() { return { $pcKnob: this, $parentInstance: this @@ -11521,7 +11138,7 @@ var script$z = { "extends": script$1$l, inheritAttrs: false, emits: ["change"], - data: /* @__PURE__ */ __name(function data19() { + data: /* @__PURE__ */ __name(function data18() { return { radius: 40, midX: 50, @@ -11759,7 +11376,7 @@ function render$v(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$v, "render$v"); script$z.render = render$v; -var theme$j = /* @__PURE__ */ __name(function theme21(_ref) { +var theme$j = /* @__PURE__ */ __name(function theme20(_ref) { var dt = _ref.dt; return "\n.p-megamenu {\n position: relative;\n display: flex;\n align-items: center;\n background: ".concat(dt("megamenu.background"), ";\n border: 1px solid ").concat(dt("megamenu.border.color"), ";\n border-radius: ").concat(dt("megamenu.border.radius"), ";\n color: ").concat(dt("megamenu.color"), ";\n gap: ").concat(dt("megamenu.gap"), ";\n}\n\n.p-megamenu-start,\n.p-megamenu-end {\n display: flex;\n align-items: center;\n}\n\n.p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n outline: 0 none;\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: ").concat(dt("megamenu.gap"), ";\n}\n\n.p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content {\n border-radius: ").concat(dt("megamenu.base.item.border.radius"), ";\n}\n\n.p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content > .p-megamenu-item-link {\n padding: ").concat(dt("megamenu.base.item.padding"), ";\n}\n\n.p-megamenu-item-content {\n transition: background ").concat(dt("megamenu.transition.duration"), ", color ").concat(dt("megamenu.transition.duration"), ";\n border-radius: ").concat(dt("megamenu.item.border.radius"), ";\n color: ").concat(dt("megamenu.item.color"), ";\n}\n\n.p-megamenu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("megamenu.item.padding"), ";\n gap: ").concat(dt("megamenu.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-megamenu-item-label {\n line-height: 1;\n}\n\n.p-megamenu-item-icon {\n color: ").concat(dt("megamenu.item.icon.color"), ";\n}\n\n.p-megamenu-submenu-icon {\n color: ").concat(dt("megamenu.submenu.icon.color"), ";\n font-size: ").concat(dt("megamenu.submenu.icon.size"), ";\n width: ").concat(dt("megamenu.submenu.icon.size"), ";\n height: ").concat(dt("megamenu.submenu.icon.size"), ";\n}\n\n.p-megamenu-item.p-focus > .p-megamenu-item-content {\n color: ").concat(dt("megamenu.item.focus.color"), ";\n background: ").concat(dt("megamenu.item.focus.background"), ";\n}\n\n.p-megamenu-item.p-focus > .p-megamenu-item-content .p-megamenu-item-icon {\n color: ").concat(dt("megamenu.item.icon.focus.color"), ";\n}\n\n.p-megamenu-item.p-focus > .p-megamenu-item-content .p-megamenu-submenu-icon {\n color: ").concat(dt("megamenu.submenu.icon.focus.color"), ";\n}\n\n.p-megamenu-item:not(.p-disabled) > .p-megamenu-item-content:hover {\n color: ").concat(dt("megamenu.item.focus.color"), ";\n background: ").concat(dt("megamenu.item.focus.background"), ";\n}\n\n.p-megamenu-item:not(.p-disabled) > .p-megamenu-item-content:hover .p-megamenu-item-icon {\n color: ").concat(dt("megamenu.item.icon.focus.color"), ";\n}\n\n.p-megamenu-item:not(.p-disabled) > .p-megamenu-item-content:hover .p-megamenu-submenu-icon {\n color: ").concat(dt("megamenu.submenu.icon.focus.color"), ";\n}\n\n.p-megamenu-item-active > .p-megamenu-item-content {\n color: ").concat(dt("megamenu.item.active.color"), ";\n background: ").concat(dt("megamenu.item.active.background"), ";\n}\n\n.p-megamenu-item-active > .p-megamenu-item-content .p-megamenu-item-icon {\n color: ").concat(dt("megamenu.item.icon.active.color"), ";\n}\n\n.p-megamenu-item-active > .p-megamenu-item-content .p-megamenu-submenu-icon {\n color: ").concat(dt("megamenu.submenu.icon.active.color"), ";\n}\n\n.p-megamenu-overlay {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n left: 0;\n min-width: 100%;\n padding: ").concat(dt("megamenu.overlay.padding"), ";\n background: ").concat(dt("megamenu.overlay.background"), ";\n color: ").concat(dt("megamenu.overlay.color"), ";\n border: 1px solid ").concat(dt("megamenu.overlay.border.color"), ";\n border-radius: ").concat(dt("megamenu.overlay.border.radius"), ";\n box-shadow: ").concat(dt("megamenu.overlay.shadow"), ";\n}\n\n.p-megamenu-overlay:dir(rtl) {\n left: auto;\n right: 0;\n}\n\n.p-megamenu-root-list > .p-megamenu-item-active > .p-megamenu-overlay {\n display: block;\n}\n\n.p-megamenu-submenu {\n margin: 0;\n list-style: none;\n padding: ").concat(dt("megamenu.submenu.padding"), ";\n min-width: 12.5rem;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("megamenu.submenu.gap"), "\n}\n\n.p-megamenu-submenu-label {\n padding: ").concat(dt("megamenu.submenu.label.padding"), ";\n color: ").concat(dt("megamenu.submenu.label.color"), ";\n font-weight: ").concat(dt("megamenu.submenu.label.font.weight"), ";\n background: ").concat(dt("megamenu.submenu.label.background"), ";\n}\n\n.p-megamenu-separator {\n border-block-start: 1px solid ").concat(dt("megamenu.separator.border.color"), ";\n}\n\n.p-megamenu-horizontal {\n align-items: center;\n padding: ").concat(dt("megamenu.horizontal.orientation.padding"), ";\n}\n\n.p-megamenu-horizontal .p-megamenu-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: ").concat(dt("megamenu.horizontal.orientation.gap"), ";\n}\n\n.p-megamenu-horizontal .p-megamenu-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-megamenu-horizontal .p-megamenu-end:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-megamenu-vertical {\n display: inline-flex;\n min-width: 12.5rem;\n flex-direction: column;\n align-items: stretch;\n padding: ").concat(dt("megamenu.vertical.orientation.padding"), ";\n}\n\n.p-megamenu-vertical .p-megamenu-root-list {\n align-items: stretch;\n flex-direction: column;\n gap: ").concat(dt("megamenu.vertical.orientation.gap"), ";\n}\n\n.p-megamenu-vertical .p-megamenu-root-list > .p-megamenu-item-active > .p-megamenu-overlay {\n left: 100%;\n top: 0;\n}\n\n.p-megamenu-vertical .p-megamenu-root-list > .p-megamenu-item-active > .p-megamenu-overlay:dir(rtl) {\n left: auto;\n right: 100%;\n}\n\n.p-megamenu-vertical .p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content .p-megamenu-submenu-icon {\n margin-left: auto;\n}\n\n.p-megamenu-vertical .p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content .p-megamenu-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n transform: rotate(180deg);\n}\n\n.p-megamenu-grid {\n display: flex;\n}\n\n.p-megamenu-col-2,\n.p-megamenu-col-3,\n.p-megamenu-col-4,\n.p-megamenu-col-6,\n.p-megamenu-col-12 {\n flex: 0 0 auto;\n padding: ").concat(dt("megamenu.overlay.gap"), ";\n}\n\n.p-megamenu-col-2 {\n width: 16.6667%;\n}\n\n.p-megamenu-col-3 {\n width: 25%;\n}\n\n.p-megamenu-col-4 {\n width: 33.3333%;\n}\n\n.p-megamenu-col-6 {\n width: 50%;\n}\n\n.p-megamenu-col-12 {\n width: 100%;\n}\n\n.p-megamenu-button {\n display: none;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n width: ").concat(dt("megamenu.mobile.button.size"), ";\n height: ").concat(dt("megamenu.mobile.button.size"), ";\n position: relative;\n color: ").concat(dt("megamenu.mobile.button.color"), ";\n border: 0 none;\n background: transparent;\n border-radius: ").concat(dt("megamenu.mobile.button.border.radius"), ";\n transition: background ").concat(dt("megamenu.transition.duration"), ", color ").concat(dt("megamenu.transition.duration"), ", outline-color ").concat(dt("megamenu.transition.duration"), ", box-shadow ").concat(dt("megamenu.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-megamenu-button:hover {\n color: ").concat(dt("megamenu.mobile.button.hover.color"), ";\n background: ").concat(dt("megamenu.mobile.button.hover.background"), ";\n}\n\n.p-megamenu-button:focus-visible {\n box-shadow: ").concat(dt("megamenu.mobile.button.focus.ring.shadow"), ";\n outline: ").concat(dt("megamenu.mobile.button.focus.ring.width"), " ").concat(dt("megamenu.mobile.button.focus.ring.style"), " ").concat(dt("megamenu.mobile.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("megamenu.mobile.button.focus.ring.offset"), ";\n}\n\n.p-megamenu-mobile {\n display: flex;\n}\n\n.p-megamenu-mobile .p-megamenu-button {\n display: flex;\n}\n\n.p-megamenu-mobile .p-megamenu-root-list {\n position: absolute;\n display: none;\n flex-direction: column;\n top: 100%;\n left: 0;\n z-index: 1;\n width: 100%;\n padding: ").concat(dt("megamenu.submenu.padding"), ";\n gap: ").concat(dt("megamenu.submenu.gap"), ";\n background: ").concat(dt("megamenu.overlay.background"), ";\n border: 1px solid ").concat(dt("megamenu.overlay.border.color"), ";\n box-shadow: ").concat(dt("megamenu.overlay.shadow"), ";\n}\n\n.p-megamenu-mobile .p-megamenu-root-list:dir(rtl) {\n left: auto;\n right: 0;\n}\n\n.p-megamenu-mobile-active .p-megamenu-root-list {\n display: block;\n}\n\n.p-megamenu-mobile .p-megamenu-root-list .p-megamenu-item {\n width: 100%;\n position: static;\n}\n\n.p-megamenu-mobile .p-megamenu-overlay {\n position: static;\n border: 0 none;\n border-radius: 0;\n box-shadow: none;\n}\n\n.p-megamenu-mobile .p-megamenu-grid {\n flex-wrap: wrap;\n overflow: auto;\n max-height: 90%;\n}\n\n.p-megamenu-mobile .p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content .p-megamenu-submenu-icon {\n margin-left: auto;\n transition: transform 0.2s;\n}\n\n.p-megamenu-mobile .p-megamenu-root-list > .p-megamenu-item > .p-megamenu-item-content .p-megamenu-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-megamenu-mobile .p-megamenu-root-list > .p-megamenu-item-active > .p-megamenu-item-content .p-megamenu-submenu-icon {\n transform: rotate(-180deg);\n}\n"); }, "theme"); @@ -11773,7 +11390,7 @@ var inlineStyles$6 = { }, "rootList") }; var classes$k = { - root: /* @__PURE__ */ __name(function root17(_ref3) { + root: /* @__PURE__ */ __name(function root16(_ref3) { var instance = _ref3.instance; return ["p-megamenu p-component", { "p-megamenu-mobile": instance.queryMatches, @@ -11844,7 +11461,7 @@ var MegaMenuStyle = BaseStyle.extend({ }); var script$2$5 = { name: "BaseMegaMenu", - "extends": script$1d, + "extends": script$1f, props: { model: { type: Array, @@ -11880,7 +11497,7 @@ var script$2$5 = { } }, style: MegaMenuStyle, - provide: /* @__PURE__ */ __name(function provide31() { + provide: /* @__PURE__ */ __name(function provide30() { return { $pcMegaMenu: this, $parentInstance: this @@ -11890,7 +11507,7 @@ var script$2$5 = { var script$1$k = { name: "MegaMenuSub", hostName: "MegaMenu", - "extends": script$1d, + "extends": script$1f, emits: ["item-click", "item-mouseenter"], props: { menuId: { @@ -12027,8 +11644,8 @@ var script$1$k = { }, "getMenuItemProps") }, components: { - AngleRightIcon: script$1q, - AngleDownIcon: script$1H + AngleRightIcon: script$1o, + AngleDownIcon: script$1G }, directives: { ripple: Ripple @@ -12182,7 +11799,7 @@ var script$y = { menubar: null, searchTimeout: null, searchValue: null, - data: /* @__PURE__ */ __name(function data20() { + data: /* @__PURE__ */ __name(function data19() { return { id: this.$attrs.id, mobileActive: false, @@ -12216,7 +11833,7 @@ var script$y = { this.id = this.id || UniqueComponentId(); this.bindMatchMediaListener(); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount8() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount7() { this.mobileActive = false; this.unbindOutsideClickListener(); this.unbindResizeListener(); @@ -12271,7 +11888,7 @@ var script$y = { }; focus(this.menubar); }, "show"), - hide: /* @__PURE__ */ __name(function hide3(event2, isFocus) { + hide: /* @__PURE__ */ __name(function hide2(event2, isFocus) { var _this2 = this; if (this.mobileActive) { this.mobileActive = false; @@ -12382,7 +11999,7 @@ var script$y = { onItemClick: /* @__PURE__ */ __name(function onItemClick3(event2) { var originalEvent = event2.originalEvent, processedItem = event2.processedItem; var grouped = this.isProccessedItemGroup(processedItem); - var root35 = isEmpty(processedItem.parent); + var root34 = isEmpty(processedItem.parent); var selected3 = this.isSelected(processedItem); if (selected3) { var index = processedItem.index, key = processedItem.key, parentKey = processedItem.parentKey; @@ -12392,7 +12009,7 @@ var script$y = { key, parentKey }; - this.dirty = !root35; + this.dirty = !root34; if (!this.mobileActive) { focus(this.menubar, { preventScroll: true @@ -12580,7 +12197,7 @@ var script$y = { } this.hide(); }, "onTabKey"), - bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener4() { + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener3() { var _this3 = this; if (!this.outsideClickListener) { this.outsideClickListener = function(event2) { @@ -12593,7 +12210,7 @@ var script$y = { document.addEventListener("click", this.outsideClickListener); } }, "bindOutsideClickListener"), - unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener4() { + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener3() { if (this.outsideClickListener) { document.removeEventListener("click", this.outsideClickListener); this.outsideClickListener = null; @@ -12775,7 +12392,7 @@ var script$y = { }); return processedItems3; }, "createProcessedItems"), - containerRef: /* @__PURE__ */ __name(function containerRef3(el) { + containerRef: /* @__PURE__ */ __name(function containerRef2(el) { this.container = el; }, "containerRef"), menubarRef: /* @__PURE__ */ __name(function menubarRef(el) { @@ -12809,7 +12426,7 @@ var script$y = { }, components: { MegaMenuSub: script$1$k, - BarsIcon: script$1I + BarsIcon: script$1H } }; var _hoisted_1$i = ["id"]; @@ -12884,12 +12501,12 @@ function render$u(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$u, "render$u"); script$y.render = render$u; -var theme$i = /* @__PURE__ */ __name(function theme22(_ref) { +var theme$i = /* @__PURE__ */ __name(function theme21(_ref) { var dt = _ref.dt; return "\n.p-menu {\n background: ".concat(dt("menu.background"), ";\n color: ").concat(dt("menu.color"), ";\n border: 1px solid ").concat(dt("menu.border.color"), ";\n border-radius: ").concat(dt("menu.border.radius"), ";\n min-width: 12.5rem;\n}\n\n.p-menu-list {\n margin: 0;\n padding: ").concat(dt("menu.list.padding"), ";\n outline: 0 none;\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("menu.list.gap"), ";\n}\n\n.p-menu-item-content {\n transition: background ").concat(dt("menu.transition.duration"), ", color ").concat(dt("menu.transition.duration"), ";\n border-radius: ").concat(dt("menu.item.border.radius"), ";\n color: ").concat(dt("menu.item.color"), ";\n}\n\n.p-menu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("menu.item.padding"), ";\n gap: ").concat(dt("menu.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-menu-item-label {\n line-height: 1;\n}\n\n.p-menu-item-icon {\n color: ").concat(dt("menu.item.icon.color"), ";\n}\n\n.p-menu-item.p-focus .p-menu-item-content {\n color: ").concat(dt("menu.item.focus.color"), ";\n background: ").concat(dt("menu.item.focus.background"), ";\n}\n\n.p-menu-item.p-focus .p-menu-item-icon {\n color: ").concat(dt("menu.item.icon.focus.color"), ";\n}\n\n.p-menu-item:not(.p-disabled) .p-menu-item-content:hover {\n color: ").concat(dt("menu.item.focus.color"), ";\n background: ").concat(dt("menu.item.focus.background"), ";\n}\n\n.p-menu-item:not(.p-disabled) .p-menu-item-content:hover .p-menu-item-icon {\n color: ").concat(dt("menu.item.icon.focus.color"), ";\n}\n\n.p-menu-overlay {\n box-shadow: ").concat(dt("menu.shadow"), ";\n}\n\n.p-menu-submenu-label {\n background: ").concat(dt("menu.submenu.label.background"), ";\n padding: ").concat(dt("menu.submenu.label.padding"), ";\n color: ").concat(dt("menu.submenu.label.color"), ";\n font-weight: ").concat(dt("menu.submenu.label.font.weight"), ";\n}\n\n.p-menu-separator {\n border-block-start: 1px solid ").concat(dt("menu.separator.border.color"), ";\n}\n"); }, "theme"); var classes$j = { - root: /* @__PURE__ */ __name(function root18(_ref2) { + root: /* @__PURE__ */ __name(function root17(_ref2) { var props = _ref2.props; return ["p-menu p-component", { "p-menu-overlay": props.popup @@ -12919,7 +12536,7 @@ var MenuStyle = BaseStyle.extend({ }); var script$2$4 = { name: "BaseMenu", - "extends": script$1d, + "extends": script$1f, props: { popup: { type: Boolean, @@ -12955,7 +12572,7 @@ var script$2$4 = { } }, style: MenuStyle, - provide: /* @__PURE__ */ __name(function provide32() { + provide: /* @__PURE__ */ __name(function provide31() { return { $pcMenu: this, $parentInstance: this @@ -12965,7 +12582,7 @@ var script$2$4 = { var script$1$j = { name: "Menuitem", hostName: "Menu", - "extends": script$1d, + "extends": script$1f, inheritAttrs: false, emits: ["item-click", "item-mousemove"], props: { @@ -13121,7 +12738,7 @@ var script$x = { "extends": script$2$4, inheritAttrs: false, emits: ["show", "hide", "focus", "blur"], - data: /* @__PURE__ */ __name(function data21() { + data: /* @__PURE__ */ __name(function data20() { return { id: this.$attrs.id, overlayVisible: false, @@ -13148,7 +12765,7 @@ var script$x = { this.bindOutsideClickListener(); } }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount9() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount8() { this.unbindResizeListener(); this.unbindOutsideClickListener(); if (this.scrollHandler) { @@ -13282,11 +12899,11 @@ var script$x = { this.overlayVisible = true; this.target = event2.currentTarget; }, "show"), - hide: /* @__PURE__ */ __name(function hide4() { + hide: /* @__PURE__ */ __name(function hide3() { this.overlayVisible = false; this.target = null; }, "hide"), - onEnter: /* @__PURE__ */ __name(function onEnter3(el) { + onEnter: /* @__PURE__ */ __name(function onEnter2(el) { addStyle(el, { position: "absolute", top: "0", @@ -13304,13 +12921,13 @@ var script$x = { } this.$emit("show"); }, "onEnter"), - onLeave: /* @__PURE__ */ __name(function onLeave3() { + onLeave: /* @__PURE__ */ __name(function onLeave2() { this.unbindOutsideClickListener(); this.unbindResizeListener(); this.unbindScrollListener(); this.$emit("hide"); }, "onLeave"), - onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave3(el) { + onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave2(el) { if (this.autoZIndex) { ZIndex.clear(el); } @@ -13322,7 +12939,7 @@ var script$x = { this.container.style.minWidth = getOuterWidth(this.target) + "px"; } }, "alignOverlay"), - bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener5() { + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener4() { var _this = this; if (!this.outsideClickListener) { this.outsideClickListener = function(event2) { @@ -13337,7 +12954,7 @@ var script$x = { document.addEventListener("click", this.outsideClickListener); } }, "bindOutsideClickListener"), - unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener5() { + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener4() { if (this.outsideClickListener) { document.removeEventListener("click", this.outsideClickListener); this.outsideClickListener = null; @@ -13391,7 +13008,7 @@ var script$x = { target: this.target }); }, "onOverlayClick"), - containerRef: /* @__PURE__ */ __name(function containerRef4(el) { + containerRef: /* @__PURE__ */ __name(function containerRef3(el) { this.container = el; }, "containerRef"), listRef: /* @__PURE__ */ __name(function listRef(el) { @@ -13405,7 +13022,7 @@ var script$x = { }, components: { PVMenuitem: script$1$j, - Portal: script$1f + Portal: script$1m } }; var _hoisted_1$h = ["id"]; @@ -13521,12 +13138,12 @@ function render$t(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$t, "render$t"); script$x.render = render$t; -var theme$h = /* @__PURE__ */ __name(function theme23(_ref) { +var theme$h = /* @__PURE__ */ __name(function theme22(_ref) { var dt = _ref.dt; return "\n.p-metergroup {\n display: flex;\n gap: ".concat(dt("metergroup.gap"), ";\n}\n\n.p-metergroup-meters {\n display: flex;\n background: ").concat(dt("metergroup.meters.background"), ";\n border-radius: ").concat(dt("metergroup.border.radius"), ";\n}\n\n.p-metergroup-label-list {\n display: flex;\n flex-wrap: wrap;\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n\n.p-metergroup-label {\n display: inline-flex;\n align-items: center;\n gap: ").concat(dt("metergroup.label.gap"), ";\n}\n\n.p-metergroup-label-marker {\n display: inline-flex;\n width: ").concat(dt("metergroup.label.marker.size"), ";\n height: ").concat(dt("metergroup.label.marker.size"), ";\n border-radius: 100%;\n}\n\n.p-metergroup-label-icon {\n font-size: ").concat(dt("metergroup.label.icon.size"), ";\n width: ").concat(dt("metergroup.label.icon.size"), ";\n height: ").concat(dt("metergroup.label.icon.size"), ";\n}\n\n.p-metergroup-horizontal {\n flex-direction: column;\n}\n\n.p-metergroup-label-list-horizontal {\n gap: ").concat(dt("metergroup.label.list.horizontal.gap"), ";\n}\n\n.p-metergroup-horizontal .p-metergroup-meters {\n height: ").concat(dt("metergroup.meters.size"), ";\n}\n\n.p-metergroup-horizontal .p-metergroup-meter:first-of-type {\n border-start-start-radius: ").concat(dt("metergroup.border.radius"), ";\n border-end-start-radius: ").concat(dt("metergroup.border.radius"), ";\n}\n\n.p-metergroup-horizontal .p-metergroup-meter:last-of-type {\n border-start-end-radius: ").concat(dt("metergroup.border.radius"), ";\n border-end-end-radius: ").concat(dt("metergroup.border.radius"), ";\n}\n\n.p-metergroup-vertical {\n flex-direction: row;\n}\n\n.p-metergroup-label-list-vertical {\n flex-direction: column;\n gap: ").concat(dt("metergroup.label.list.vertical.gap"), ";\n}\n\n.p-metergroup-vertical .p-metergroup-meters {\n flex-direction: column;\n width: ").concat(dt("metergroup.meters.size"), ";\n height: 100%;\n}\n\n.p-metergroup-vertical .p-metergroup-label-list {\n align-items: flex-start;\n}\n\n.p-metergroup-vertical .p-metergroup-meter:first-of-type {\n border-start-start-radius: ").concat(dt("metergroup.border.radius"), ";\n border-start-end-radius: ").concat(dt("metergroup.border.radius"), ";\n}\n\n.p-metergroup-vertical .p-metergroup-meter:last-of-type {\n border-end-start-radius: ").concat(dt("metergroup.border.radius"), ";\n border-end-end-radius: ").concat(dt("metergroup.border.radius"), ";\n}\n"); }, "theme"); var classes$i = { - root: /* @__PURE__ */ __name(function root19(_ref2) { + root: /* @__PURE__ */ __name(function root18(_ref2) { var props = _ref2.props; return ["p-metergroup p-component", { "p-metergroup-horizontal": props.orientation === "horizontal", @@ -13554,7 +13171,7 @@ var MeterGroupStyle = BaseStyle.extend({ }); var script$2$3 = { name: "MeterGroup", - "extends": script$1d, + "extends": script$1f, props: { value: { type: Array, @@ -13582,7 +13199,7 @@ var script$2$3 = { } }, style: MeterGroupStyle, - provide: /* @__PURE__ */ __name(function provide33() { + provide: /* @__PURE__ */ __name(function provide32() { return { $pcMeterGroup: this, $parentInstance: this @@ -13592,7 +13209,7 @@ var script$2$3 = { var script$1$i = { name: "MeterGroupLabel", hostName: "MeterGroup", - "extends": script$1d, + "extends": script$1f, inheritAttrs: false, props: { value: { @@ -13759,12 +13376,12 @@ function render$s(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$s, "render$s"); script$w.render = render$s; -var theme$g = /* @__PURE__ */ __name(function theme24(_ref) { +var theme$g = /* @__PURE__ */ __name(function theme23(_ref) { var dt = _ref.dt; return "\n.p-multiselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ".concat(dt("multiselect.background"), ";\n border: 1px solid ").concat(dt("multiselect.border.color"), ";\n transition: background ").concat(dt("multiselect.transition.duration"), ", color ").concat(dt("multiselect.transition.duration"), ", border-color ").concat(dt("multiselect.transition.duration"), ", outline-color ").concat(dt("multiselect.transition.duration"), ", box-shadow ").concat(dt("multiselect.transition.duration"), ";\n border-radius: ").concat(dt("multiselect.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("multiselect.shadow"), ";\n}\n\n.p-multiselect:not(.p-disabled):hover {\n border-color: ").concat(dt("multiselect.hover.border.color"), ";\n}\n\n.p-multiselect:not(.p-disabled).p-focus {\n border-color: ").concat(dt("multiselect.focus.border.color"), ";\n box-shadow: ").concat(dt("multiselect.focus.ring.shadow"), ";\n outline: ").concat(dt("multiselect.focus.ring.width"), " ").concat(dt("multiselect.focus.ring.style"), " ").concat(dt("multiselect.focus.ring.color"), ";\n outline-offset: ").concat(dt("multiselect.focus.ring.offset"), ";\n}\n\n.p-multiselect.p-variant-filled {\n background: ").concat(dt("multiselect.filled.background"), ";\n}\n\n.p-multiselect.p-variant-filled:not(.p-disabled):hover {\n background: ").concat(dt("multiselect.filled.hover.background"), ";\n}\n\n.p-multiselect.p-variant-filled.p-focus {\n background: ").concat(dt("multiselect.filled.focus.background"), ";\n}\n\n.p-multiselect.p-invalid {\n border-color: ").concat(dt("multiselect.invalid.border.color"), ";\n}\n\n.p-multiselect.p-disabled {\n opacity: 1;\n background: ").concat(dt("multiselect.disabled.background"), ";\n}\n\n.p-multiselect-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ").concat(dt("multiselect.dropdown.color"), ";\n width: ").concat(dt("multiselect.dropdown.width"), ";\n border-start-end-radius: ").concat(dt("multiselect.border.radius"), ";\n border-end-end-radius: ").concat(dt("multiselect.border.radius"), ";\n}\n\n.p-multiselect-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ").concat(dt("multiselect.clear.icon.color"), ";\n inset-inline-end: ").concat(dt("multiselect.dropdown.width"), ";\n}\n\n.p-multiselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n}\n\n.p-multiselect-label {\n display: flex;\n align-items: center;\n gap: calc(").concat(dt("multiselect.padding.y"), " / 2);\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: ").concat(dt("multiselect.padding.y"), " ").concat(dt("multiselect.padding.x"), ";\n color: ").concat(dt("multiselect.color"), ";\n}\n\n.p-multiselect-label.p-placeholder {\n color: ").concat(dt("multiselect.placeholder.color"), ";\n}\n\n.p-multiselect.p-invalid .p-multiselect-label.p-placeholder {\n color: ").concat(dt("multiselect.invalid.placeholder.color"), ";\n}\n\n.p-multiselect.p-disabled .p-multiselect-label {\n color: ").concat(dt("multiselect.disabled.color"), ";\n}\n\n.p-multiselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\n\n.p-multiselect .p-multiselect-overlay {\n min-width: 100%;\n}\n\n.p-multiselect-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ").concat(dt("multiselect.overlay.background"), ";\n color: ").concat(dt("multiselect.overlay.color"), ";\n border: 1px solid ").concat(dt("multiselect.overlay.border.color"), ";\n border-radius: ").concat(dt("multiselect.overlay.border.radius"), ";\n box-shadow: ").concat(dt("multiselect.overlay.shadow"), ";\n}\n\n.p-multiselect-header {\n display: flex;\n align-items: center;\n padding: ").concat(dt("multiselect.list.header.padding"), ";\n}\n\n.p-multiselect-header .p-checkbox {\n margin-inline-end: ").concat(dt("multiselect.option.gap"), ";\n}\n\n.p-multiselect-filter-container {\n flex: 1 1 auto;\n}\n\n.p-multiselect-filter {\n width: 100%;\n}\n\n.p-multiselect-list-container {\n overflow: auto;\n}\n\n.p-multiselect-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: ").concat(dt("multiselect.list.padding"), ";\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("multiselect.list.gap"), ";\n}\n\n.p-multiselect-option {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n gap: ").concat(dt("multiselect.option.gap"), ";\n padding: ").concat(dt("multiselect.option.padding"), ";\n border: 0 none;\n color: ").concat(dt("multiselect.option.color"), ";\n background: transparent;\n transition: background ").concat(dt("multiselect.transition.duration"), ", color ").concat(dt("multiselect.transition.duration"), ", border-color ").concat(dt("multiselect.transition.duration"), ", box-shadow ").concat(dt("multiselect.transition.duration"), ", outline-color ").concat(dt("multiselect.transition.duration"), ";\n border-radius: ").concat(dt("multiselect.option.border.radius"), ";\n}\n\n.p-multiselect-option:not(.p-multiselect-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt("multiselect.option.focus.background"), ";\n color: ").concat(dt("multiselect.option.focus.color"), ";\n}\n\n.p-multiselect-option.p-multiselect-option-selected {\n background: ").concat(dt("multiselect.option.selected.background"), ";\n color: ").concat(dt("multiselect.option.selected.color"), ";\n}\n\n.p-multiselect-option.p-multiselect-option-selected.p-focus {\n background: ").concat(dt("multiselect.option.selected.focus.background"), ";\n color: ").concat(dt("multiselect.option.selected.focus.color"), ";\n}\n\n.p-multiselect-option-group {\n cursor: auto;\n margin: 0;\n padding: ").concat(dt("multiselect.option.group.padding"), ";\n background: ").concat(dt("multiselect.option.group.background"), ";\n color: ").concat(dt("multiselect.option.group.color"), ";\n font-weight: ").concat(dt("multiselect.option.group.font.weight"), ";\n}\n\n.p-multiselect-empty-message {\n padding: ").concat(dt("multiselect.empty.message.padding"), ";\n}\n\n.p-multiselect-label .p-chip {\n padding-block-start: calc(").concat(dt("multiselect.padding.y"), " / 2);\n padding-block-end: calc(").concat(dt("multiselect.padding.y"), " / 2);\n border-radius: ").concat(dt("multiselect.chip.border.radius"), ";\n}\n\n.p-multiselect-label:has(.p-chip) {\n padding: calc(").concat(dt("multiselect.padding.y"), " / 2) calc(").concat(dt("multiselect.padding.x"), " / 2);\n}\n\n.p-multiselect-fluid {\n display: flex;\n width: 100%;\n}\n\n.p-multiselect-sm .p-multiselect-label {\n font-size: ").concat(dt("multiselect.sm.font.size"), ";\n padding-block: ").concat(dt("multiselect.sm.padding.y"), ";\n padding-inline: ").concat(dt("multiselect.sm.padding.x"), ";\n}\n\n.p-multiselect-sm .p-multiselect-dropdown .p-icon {\n font-size: ").concat(dt("multiselect.sm.font.size"), ";\n width: ").concat(dt("multiselect.sm.font.size"), ";\n height: ").concat(dt("multiselect.sm.font.size"), ";\n}\n\n.p-multiselect-lg .p-multiselect-label {\n font-size: ").concat(dt("multiselect.lg.font.size"), ";\n padding-block: ").concat(dt("multiselect.lg.padding.y"), ";\n padding-inline: ").concat(dt("multiselect.lg.padding.x"), ";\n}\n\n.p-multiselect-lg .p-multiselect-dropdown .p-icon {\n font-size: ").concat(dt("multiselect.lg.font.size"), ";\n width: ").concat(dt("multiselect.lg.font.size"), ";\n height: ").concat(dt("multiselect.lg.font.size"), ";\n}\n"); }, "theme"); var inlineStyles$5 = { - root: /* @__PURE__ */ __name(function root20(_ref2) { + root: /* @__PURE__ */ __name(function root19(_ref2) { var props = _ref2.props; return { position: props.appendTo === "self" ? "relative" : void 0 @@ -13772,7 +13389,7 @@ var inlineStyles$5 = { }, "root") }; var classes$h = { - root: /* @__PURE__ */ __name(function root21(_ref3) { + root: /* @__PURE__ */ __name(function root20(_ref3) { var instance = _ref3.instance, props = _ref3.props; return ["p-multiselect p-component p-inputwrapper", { "p-multiselect-display-chip": props.display === "chip", @@ -13828,7 +13445,7 @@ var MultiSelectStyle = BaseStyle.extend({ }); var script$1$h = { name: "BaseMultiSelect", - "extends": script$1n, + "extends": script$1k, props: { options: Array, optionLabel: null, @@ -13999,7 +13616,7 @@ var script$1$h = { } }, style: MultiSelectStyle, - provide: /* @__PURE__ */ __name(function provide34() { + provide: /* @__PURE__ */ __name(function provide33() { return { $pcMultiSelect: this, $parentInstance: this @@ -14108,7 +13725,7 @@ var script$v = { searchTimeout: null, searchValue: "", selectOnFocus: false, - data: /* @__PURE__ */ __name(function data22() { + data: /* @__PURE__ */ __name(function data21() { return { id: this.$attrs.id, clicked: false, @@ -14130,7 +13747,7 @@ var script$v = { this.id = this.id || UniqueComponentId(); this.autoUpdateModel(); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount10() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount9() { this.unbindOutsideClickListener(); this.unbindResizeListener(); if (this.scrollHandler) { @@ -14198,7 +13815,7 @@ var script$v = { this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(); isFocus && focus(this.$refs.focusInput); }, "show"), - hide: /* @__PURE__ */ __name(function hide5(isFocus) { + hide: /* @__PURE__ */ __name(function hide4(isFocus) { var _this2 = this; var _hide = /* @__PURE__ */ __name(function _hide2() { _this2.$emit("before-hide"); @@ -14570,7 +14187,7 @@ var script$v = { absolutePosition(this.overlay, this.$el); } }, "alignOverlay"), - bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener6() { + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener5() { var _this6 = this; if (!this.outsideClickListener) { this.outsideClickListener = function(event2) { @@ -14581,7 +14198,7 @@ var script$v = { document.addEventListener("click", this.outsideClickListener); } }, "bindOutsideClickListener"), - unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener6() { + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener5() { if (this.outsideClickListener) { document.removeEventListener("click", this.outsideClickListener); this.outsideClickListener = null; @@ -14620,7 +14237,7 @@ var script$v = { this.resizeListener = null; } }, "unbindResizeListener"), - isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked3(event2) { + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked2(event2) { return !(this.$el.isSameNode(event2.target) || this.$el.contains(event2.target) || this.overlay && this.overlay.contains(event2.target)); }, "isOutsideClicked"), getLabelByValue: /* @__PURE__ */ __name(function getLabelByValue(value2) { @@ -14871,9 +14488,9 @@ var script$v = { overlayRef: /* @__PURE__ */ __name(function overlayRef3(el) { this.overlay = el; }, "overlayRef"), - listRef: /* @__PURE__ */ __name(function listRef2(el, contentRef2) { + listRef: /* @__PURE__ */ __name(function listRef2(el, contentRef) { this.list = el; - contentRef2 && contentRef2(el); + contentRef && contentRef(el); }, "listRef"), virtualScrollerRef: /* @__PURE__ */ __name(function virtualScrollerRef(el) { this.virtualScroller = el; @@ -14992,18 +14609,18 @@ var script$v = { ripple: Ripple }, components: { - InputText: script$1o, - Checkbox: script$1J, - VirtualScroller: script$1K, - Portal: script$1f, - Chip: script$1t, - IconField: script$1L, - InputIcon: script$1M, - TimesIcon: script$1g, - SearchIcon: script$1N, - ChevronDownIcon: script$1k, - SpinnerIcon: script$1r, - CheckIcon: script$1D + InputText: script$1l, + Checkbox: script$1I, + VirtualScroller: script$1J, + Portal: script$1m, + Chip: script$1s, + IconField: script$1K, + InputIcon: script$1L, + TimesIcon: script$1q, + SearchIcon: script$1M, + ChevronDownIcon: script$1h, + SpinnerIcon: script$1p, + CheckIcon: script$1C } }; function _typeof$e(o) { @@ -15306,10 +14923,10 @@ function render$r(_ctx, _cache, $props, $setup, $data, $options) { pt: _ctx.ptm("virtualScroller") }), createSlots({ content: withCtx(function(_ref2) { - var styleClass = _ref2.styleClass, contentRef2 = _ref2.contentRef, items2 = _ref2.items, getItemOptions = _ref2.getItemOptions, contentStyle = _ref2.contentStyle, itemSize = _ref2.itemSize; + var styleClass = _ref2.styleClass, contentRef = _ref2.contentRef, items2 = _ref2.items, getItemOptions = _ref2.getItemOptions, contentStyle = _ref2.contentStyle, itemSize = _ref2.itemSize; return [createBaseVNode("ul", mergeProps({ ref: /* @__PURE__ */ __name(function ref2(el) { - return $options.listRef(el, contentRef2); + return $options.listRef(el, contentRef); }, "ref"), id: $data.id + "_list", "class": [_ctx.cx("list"), styleClass], @@ -15455,7 +15072,7 @@ __name(render$r, "render$r"); script$v.render = render$r; var script$u = { name: "AngleDoubleDownIcon", - "extends": script$1m + "extends": script$1j }; function render$q(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -15475,7 +15092,7 @@ __name(render$q, "render$q"); script$u.render = render$q; var script$t = { name: "AngleDoubleUpIcon", - "extends": script$1m + "extends": script$1j }; function render$p(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -15493,7 +15110,7 @@ function render$p(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$p, "render$p"); script$t.render = render$p; -var theme$f = /* @__PURE__ */ __name(function theme25(_ref) { +var theme$f = /* @__PURE__ */ __name(function theme24(_ref) { var dt = _ref.dt; return "\n.p-orderlist {\n display: flex;\n gap: ".concat(dt("orderlist.gap"), ";\n}\n\n.p-orderlist-controls {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: ").concat(dt("orderlist.controls.gap"), ";\n}\n"); }, "theme"); @@ -15508,7 +15125,7 @@ var OrderListStyle = BaseStyle.extend({ }); var script$1$g = { name: "BaseOrderList", - "extends": script$1d, + "extends": script$1f, props: { modelValue: { type: Array, @@ -15556,7 +15173,7 @@ var script$1$g = { }, buttonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default13() { + "default": /* @__PURE__ */ __name(function _default12() { return { severity: "secondary" }; @@ -15596,7 +15213,7 @@ var script$1$g = { } }, style: OrderListStyle, - provide: /* @__PURE__ */ __name(function provide35() { + provide: /* @__PURE__ */ __name(function provide34() { return { $pcOrderList: this, $parentInstance: this @@ -15642,7 +15259,7 @@ var script$s = { reorderDirection: null, styleElement: null, list: null, - data: /* @__PURE__ */ __name(function data23() { + data: /* @__PURE__ */ __name(function data22() { return { id: this.$attrs.id, d_selection: this.selection @@ -15653,10 +15270,10 @@ var script$s = { this.id = newValue || UniqueComponentId(); }, "$attrsId") }, - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount11() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount10() { this.destroyStyle(); }, "beforeUnmount"), - updated: /* @__PURE__ */ __name(function updated6() { + updated: /* @__PURE__ */ __name(function updated5() { if (this.reorderDirection) { this.updateListScroll(); this.reorderDirection = null; @@ -15825,10 +15442,10 @@ var script$s = { }, "hasSelectedOption") }, components: { - Listbox: script$1O, - Button: script$1e, - AngleUpIcon: script$1P, - AngleDownIcon: script$1H, + Listbox: script$1N, + Button: script$1d, + AngleUpIcon: script$1O, + AngleDownIcon: script$1G, AngleDoubleUpIcon: script$t, AngleDoubleDownIcon: script$u }, @@ -16006,7 +15623,7 @@ function render$o(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$o, "render$o"); script$s.render = render$o; -var theme$e = /* @__PURE__ */ __name(function theme26(_ref) { +var theme$e = /* @__PURE__ */ __name(function theme25(_ref) { var dt = _ref.dt; return "\n.p-organizationchart-table {\n border-spacing: 0;\n border-collapse: separate;\n margin: 0 auto;\n}\n\n.p-organizationchart-table > tbody > tr > td {\n text-align: center;\n vertical-align: top;\n padding: 0 ".concat(dt("organizationchart.gutter"), ";\n}\n\n.p-organizationchart-node {\n display: inline-block;\n position: relative;\n border: 1px solid ").concat(dt("organizationchart.node.border.color"), ";\n background: ").concat(dt("organizationchart.node.background"), ";\n color: ").concat(dt("organizationchart.node.color"), ";\n padding: ").concat(dt("organizationchart.node.padding"), ";\n border-radius: ").concat(dt("organizationchart.node.border.radius"), ";\n transition: background ").concat(dt("organizationchart.transition.duration"), ", border-color ").concat(dt("organizationchart.transition.duration"), ", color ").concat(dt("organizationchart.transition.duration"), ", box-shadow ").concat(dt("organizationchart.transition.duration"), ";\n}\n\n.p-organizationchart-node:has(.p-organizationchart-node-toggle-button) {\n padding: ").concat(dt("organizationchart.node.toggleable.padding"), ";\n}\n\n.p-organizationchart-node.p-organizationchart-node-selectable:not(.p-organizationchart-node-selected):hover {\n background: ").concat(dt("organizationchart.node.hover.background"), ";\n color: ").concat(dt("organizationchart.node.hover.color"), ";\n}\n\n.p-organizationchart-node-selected {\n background: ").concat(dt("organizationchart.node.selected.background"), ";\n color: ").concat(dt("organizationchart.node.selected.color"), ";\n}\n\n.p-organizationchart-node-toggle-button {\n position: absolute;\n inset-block-end: calc(-1 * calc(").concat(dt("organizationchart.node.toggle.button.size"), " / 2));\n margin-inline-start: calc(-1 * calc(").concat(dt("organizationchart.node.toggle.button.size"), " / 2));\n z-index: 2;\n inset-inline-start: 50%;\n user-select: none;\n cursor: pointer;\n width: ").concat(dt("organizationchart.node.toggle.button.size"), ";\n height: ").concat(dt("organizationchart.node.toggle.button.size"), ";\n text-decoration: none;\n background: ").concat(dt("organizationchart.node.toggle.button.background"), ";\n color: ").concat(dt("organizationchart.node.toggle.button.color"), ";\n border-radius: ").concat(dt("organizationchart.node.toggle.button.border.radius"), ";\n border: 1px solid ").concat(dt("organizationchart.node.toggle.button.border.color"), ";\n display: inline-flex;\n justify-content: center;\n align-items: center;\n outline-color: transparent;\n transition: background ").concat(dt("organizationchart.transition.duration"), ", color ").concat(dt("organizationchart.transition.duration"), ", border-color ").concat(dt("organizationchart.transition.duration"), ", outline-color ").concat(dt("organizationchart.transition.duration"), ", box-shadow ").concat(dt("organizationchart.transition.duration"), ";\n}\n\n.p-organizationchart-node-toggle-button:hover {\n background: ").concat(dt("organizationchart.node.toggle.button.hover.background"), ";\n color: ").concat(dt("organizationchart.node.toggle.button.hover.color"), ";\n}\n\n.p-organizationchart-node-toggle-button:focus-visible {\n box-shadow: ").concat(dt("breadcrumb.item.focus.ring.shadow"), ";\n outline: ").concat(dt("breadcrumb.item.focus.ring.width"), " ").concat(dt("breadcrumb.item.focus.ring.style"), " ").concat(dt("breadcrumb.item.focus.ring.color"), ";\n outline-offset: ").concat(dt("breadcrumb.item.focus.ring.offset"), ";\n}\n\n.p-organizationchart-node-toggle-button-icon {\n position: relative;\n inset-block-start: 1px;\n}\n\n.p-organizationchart-connector-down {\n margin: 0 auto;\n height: ").concat(dt("organizationchart.connector.height"), ";\n width: 1px;\n background: ").concat(dt("organizationchart.connector.color"), ";\n}\n\n.p-organizationchart-connector-right {\n border-radius: 0;\n}\n\n.p-organizationchart-connector-left {\n border-radius: 0;\n border-inline-end: 1px solid ").concat(dt("organizationchart.connector.color"), ";\n}\n\n.p-organizationchart-connector-top {\n border-block-start: 1px solid ").concat(dt("organizationchart.connector.color"), ";\n}\n\n.p-organizationchart-node-selectable {\n cursor: pointer;\n}\n\n.p-organizationchart-connectors :nth-child(1 of .p-organizationchart-connector-left) {\n border-inline-end: 0 none;\n}\n\n.p-organizationchart-connectors :nth-last-child(1 of .p-organizationchart-connector-left) {\n border-start-end-radius: ").concat(dt("organizationchart.connector.border.radius"), ";\n}\n\n.p-organizationchart-connectors :nth-child(1 of .p-organizationchart-connector-right) {\n border-inline-start: 1px solid ").concat(dt("organizationchart.connector.color"), ";\n border-start-start-radius: ").concat(dt("organizationchart.connector.border.radius"), ";\n}\n"); }, "theme"); @@ -16045,7 +15662,7 @@ var OrganizationChartStyle = BaseStyle.extend({ }); var script$2$2 = { name: "BaseOrganizationChart", - "extends": script$1d, + "extends": script$1f, props: { value: { type: null, @@ -16069,7 +15686,7 @@ var script$2$2 = { } }, style: OrganizationChartStyle, - provide: /* @__PURE__ */ __name(function provide36() { + provide: /* @__PURE__ */ __name(function provide35() { return { $pcOrganizationChart: this, $parentInstance: this @@ -16079,7 +15696,7 @@ var script$2$2 = { var script$1$f = { name: "OrganizationChartNode", hostName: "OrganizationChart", - "extends": script$1d, + "extends": script$1f, emits: ["node-click", "node-toggle"], props: { node: { @@ -16143,7 +15760,7 @@ var script$1$f = { onChildNodeToggle: /* @__PURE__ */ __name(function onChildNodeToggle(node2) { this.$emit("node-toggle", node2); }, "onChildNodeToggle"), - onKeydown: /* @__PURE__ */ __name(function onKeydown4(event2) { + onKeydown: /* @__PURE__ */ __name(function onKeydown3(event2) { if (event2.code === "Enter" || event2.code === "NumpadEnter" || event2.code === "Space") { this.toggleNode(); event2.preventDefault(); @@ -16176,8 +15793,8 @@ var script$1$f = { }, "toggleable") }, components: { - ChevronDownIcon: script$1k, - ChevronUpIcon: script$1j + ChevronDownIcon: script$1h, + ChevronUpIcon: script$1g } }; var _hoisted_1$e = ["colspan"]; @@ -16327,7 +15944,7 @@ var script$r = { "extends": script$2$2, inheritAttrs: false, emits: ["node-unselect", "node-select", "update:selectionKeys", "node-expand", "node-collapse", "update:collapsedKeys"], - data: /* @__PURE__ */ __name(function data24() { + data: /* @__PURE__ */ __name(function data23() { return { d_collapsedKeys: this.collapsedKeys || {} }; @@ -16393,7 +16010,7 @@ __name(render$n, "render$n"); script$r.render = render$n; var script$q = { name: "OverlayPanel", - "extends": script$1Q, + "extends": script$1P, mounted: /* @__PURE__ */ __name(function mounted25() { console.warn("Deprecated since v4. Use Popover component instead."); }, "mounted") @@ -16401,7 +16018,7 @@ var script$q = { var OverlayPanelStyle = BaseStyle.extend({ name: "overlaypanel" }); -var theme$d = /* @__PURE__ */ __name(function theme27(_ref) { +var theme$d = /* @__PURE__ */ __name(function theme26(_ref) { var dt = _ref.dt; return "\n.p-panelmenu {\n display: flex;\n flex-direction: column;\n gap: ".concat(dt("panelmenu.gap"), ";\n}\n\n.p-panelmenu-panel {\n background: ").concat(dt("panelmenu.panel.background"), ";\n border-width: ").concat(dt("panelmenu.panel.border.width"), ";\n border-style: solid;\n border-color: ").concat(dt("panelmenu.panel.border.color"), ";\n color: ").concat(dt("panelmenu.panel.color"), ";\n border-radius: ").concat(dt("panelmenu.panel.border.radius"), ";\n padding: ").concat(dt("panelmenu.panel.padding"), ";\n}\n\n.p-panelmenu-panel:first-child {\n border-width: ").concat(dt("panelmenu.panel.first.border.width"), ";\n border-start-start-radius: ").concat(dt("panelmenu.panel.first.top.border.radius"), ";\n border-start-end-radius: ").concat(dt("panelmenu.panel.first.top.border.radius"), ";\n}\n\n.p-panelmenu-panel:last-child {\n border-width: ").concat(dt("panelmenu.panel.last.border.width"), ";\n border-end-start-radius: ").concat(dt("panelmenu.panel.last.bottom.border.radius"), ";\n border-end-end-radius: ").concat(dt("panelmenu.panel.last.bottom.border.radius"), ";\n}\n\n.p-panelmenu-header {\n outline: 0 none;\n}\n\n.p-panelmenu-header-content {\n border-radius: ").concat(dt("panelmenu.item.border.radius"), ";\n transition: background ").concat(dt("panelmenu.transition.duration"), ", color ").concat(dt("panelmenu.transition.duration"), ", outline-color ").concat(dt("panelmenu.transition.duration"), ", box-shadow ").concat(dt("panelmenu.transition.duration"), ";\n outline-color: transparent;\n color: ").concat(dt("panelmenu.item.color"), ";\n}\n\n.p-panelmenu-header-link {\n display: flex;\n gap: ").concat(dt("panelmenu.item.gap"), ";\n padding: ").concat(dt("panelmenu.item.padding"), ";\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n color: inherit;\n}\n\n.p-panelmenu-header-icon,\n.p-panelmenu-item-icon {\n color: ").concat(dt("panelmenu.item.icon.color"), ";\n}\n\n.p-panelmenu-submenu-icon {\n color: ").concat(dt("panelmenu.submenu.icon.color"), ";\n}\n\n.p-panelmenu-submenu-icon:dir(rtl) {\n transform: rotate(180deg);\n}\n\n.p-panelmenu-header:not(.p-disabled):focus-visible .p-panelmenu-header-content {\n background: ").concat(dt("panelmenu.item.focus.background"), ";\n color: ").concat(dt("panelmenu.item.focus.color"), ";\n}\n\n.p-panelmenu-header:not(.p-disabled):focus-visible .p-panelmenu-header-content .p-panelmenu-header-icon {\n color: ").concat(dt("panelmenu.item.icon.focus.color"), ";\n}\n\n.p-panelmenu-header:not(.p-disabled):focus-visible .p-panelmenu-header-content .p-panelmenu-submenu-icon {\n color: ").concat(dt("panelmenu.submenu.icon.focus.color"), ";\n}\n\n.p-panelmenu-header:not(.p-disabled) .p-panelmenu-header-content:hover {\n background: ").concat(dt("panelmenu.item.focus.background"), ";\n color: ").concat(dt("panelmenu.item.focus.color"), ";\n}\n\n.p-panelmenu-header:not(.p-disabled) .p-panelmenu-header-content:hover .p-panelmenu-header-icon {\n color: ").concat(dt("panelmenu.item.icon.focus.color"), ";\n}\n\n.p-panelmenu-header:not(.p-disabled) .p-panelmenu-header-content:hover .p-panelmenu-submenu-icon {\n color: ").concat(dt("panelmenu.submenu.icon.focus.color"), ";\n}\n\n.p-panelmenu-submenu {\n margin: 0;\n padding: 0 0 0 ").concat(dt("panelmenu.submenu.indent"), ";\n outline: 0;\n list-style: none;\n}\n\n.p-panelmenu-submenu:dir(rtl) {\n padding: 0 ").concat(dt("panelmenu.submenu.indent"), " 0 0;\n}\n\n.p-panelmenu-item-link {\n display: flex;\n gap: ").concat(dt("panelmenu.item.gap"), ";\n padding: ").concat(dt("panelmenu.item.padding"), ";\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n color: inherit;\n position: relative;\n overflow: hidden;\n}\n\n.p-panelmenu-item-label {\n line-height: 1;\n}\n\n.p-panelmenu-item-content {\n border-radius: ").concat(dt("panelmenu.item.border.radius"), ";\n transition: background ").concat(dt("panelmenu.transition.duration"), ", color ").concat(dt("panelmenu.transition.duration"), ", outline-color ").concat(dt("panelmenu.transition.duration"), ", box-shadow ").concat(dt("panelmenu.transition.duration"), ";\n color: ").concat(dt("panelmenu.item.color"), ";\n outline-color: transparent;\n}\n\n.p-panelmenu-item.p-focus > .p-panelmenu-item-content {\n background: ").concat(dt("panelmenu.item.focus.background"), ";\n color: ").concat(dt("panelmenu.item.focus.color"), ";\n}\n\n.p-panelmenu-item.p-focus > .p-panelmenu-item-content .p-panelmenu-item-icon {\n color: ").concat(dt("panelmenu.item.focus.color"), ";\n}\n\n.p-panelmenu-item.p-focus > .p-panelmenu-item-content .p-panelmenu-submenu-icon {\n color: ").concat(dt("panelmenu.submenu.icon.focus.color"), ";\n}\n\n.p-panelmenu-item:not(.p-disabled) > .p-panelmenu-item-content:hover {\n background: ").concat(dt("panelmenu.item.focus.background"), ";\n color: ").concat(dt("panelmenu.item.focus.color"), ";\n}\n\n.p-panelmenu-item:not(.p-disabled) > .p-panelmenu-item-content:hover .p-panelmenu-item-icon {\n color: ").concat(dt("panelmenu.item.icon.focus.color"), ";\n}\n\n.p-panelmenu-item:not(.p-disabled) > .p-panelmenu-item-content:hover .p-panelmenu-submenu-icon {\n color: ").concat(dt("panelmenu.submenu.icon.focus.color"), ";\n}\n"); }, "theme"); @@ -16444,7 +16061,7 @@ var PanelMenuStyle = BaseStyle.extend({ }); var script$3$1 = { name: "BasePanelMenu", - "extends": script$1d, + "extends": script$1f, props: { model: { type: Array, @@ -16464,7 +16081,7 @@ var script$3$1 = { } }, style: PanelMenuStyle, - provide: /* @__PURE__ */ __name(function provide37() { + provide: /* @__PURE__ */ __name(function provide36() { return { $pcPanelMenu: this, $parentInstance: this @@ -16474,7 +16091,7 @@ var script$3$1 = { var script$2$1 = { name: "PanelMenuSub", hostName: "PanelMenu", - "extends": script$1d, + "extends": script$1f, emits: ["item-toggle", "item-mousemove"], props: { panelId: { @@ -16597,8 +16214,8 @@ var script$2$1 = { }, "getMenuItemProps") }, components: { - ChevronRightIcon: script$1l, - ChevronDownIcon: script$1k + ChevronRightIcon: script$1i, + ChevronDownIcon: script$1h }, directives: { ripple: Ripple @@ -16768,7 +16385,7 @@ __name(_arrayWithHoles, "_arrayWithHoles"); var script$1$e = { name: "PanelMenuList", hostName: "PanelMenu", - "extends": script$1d, + "extends": script$1f, emits: ["item-toggle", "header-focus"], props: { panelId: { @@ -16790,7 +16407,7 @@ var script$1$e = { }, searchTimeout: null, searchValue: null, - data: /* @__PURE__ */ __name(function data25() { + data: /* @__PURE__ */ __name(function data24() { return { focused: false, focusedItem: null, @@ -17242,7 +16859,7 @@ var script$p = { "extends": script$3$1, inheritAttrs: false, emits: ["update:expandedKeys", "panel-open", "panel-close"], - data: /* @__PURE__ */ __name(function data26() { + data: /* @__PURE__ */ __name(function data25() { return { id: this.$attrs.id, activeItem: null, @@ -17444,8 +17061,8 @@ var script$p = { }, components: { PanelMenuList: script$1$e, - ChevronRightIcon: script$1l, - ChevronDownIcon: script$1k + ChevronRightIcon: script$1i, + ChevronDownIcon: script$1h } }; var _hoisted_1$d = ["id"]; @@ -17479,7 +17096,7 @@ function render$m(_ctx, _cache, $props, $setup, $data, $options) { onClick: /* @__PURE__ */ __name(function onClick11($event) { return $options.onHeaderClick($event, item8); }, "onClick"), - onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + onKeydown: /* @__PURE__ */ __name(function onKeydown5($event) { return $options.onHeaderKeyDown($event, item8); }, "onKeydown"), ref_for: true @@ -17556,7 +17173,7 @@ __name(render$m, "render$m"); script$p.render = render$m; var script$o = { name: "EyeSlashIcon", - "extends": script$1m + "extends": script$1j }; function render$l(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -17574,12 +17191,12 @@ function render$l(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$l, "render$l"); script$o.render = render$l; -var theme$c = /* @__PURE__ */ __name(function theme28(_ref) { +var theme$c = /* @__PURE__ */ __name(function theme27(_ref) { var dt = _ref.dt; return "\n.p-password {\n display: inline-flex;\n position: relative;\n}\n\n.p-password .p-password-overlay {\n min-width: 100%;\n}\n\n.p-password-meter {\n height: ".concat(dt("password.meter.height"), ";\n background: ").concat(dt("password.meter.background"), ";\n border-radius: ").concat(dt("password.meter.border.radius"), ";\n}\n\n.p-password-meter-label {\n height: 100%;\n width: 0;\n transition: width 1s ease-in-out;\n border-radius: ").concat(dt("password.meter.border.radius"), ";\n}\n\n.p-password-meter-weak {\n background: ").concat(dt("password.strength.weak.background"), ";\n}\n\n.p-password-meter-medium {\n background: ").concat(dt("password.strength.medium.background"), ";\n}\n\n.p-password-meter-strong {\n background: ").concat(dt("password.strength.strong.background"), ";\n}\n\n.p-password-fluid {\n display: flex;\n}\n\n.p-password-fluid .p-password-input {\n width: 100%;\n}\n\n.p-password-input::-ms-reveal,\n.p-password-input::-ms-clear {\n display: none;\n}\n\n.p-password-overlay {\n padding: ").concat(dt("password.overlay.padding"), ";\n background: ").concat(dt("password.overlay.background"), ";\n color: ").concat(dt("password.overlay.color"), ";\n border: 1px solid ").concat(dt("password.overlay.border.color"), ";\n box-shadow: ").concat(dt("password.overlay.shadow"), ";\n border-radius: ").concat(dt("password.overlay.border.radius"), ";\n}\n\n.p-password-content {\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("password.content.gap"), ";\n}\n\n.p-password-toggle-mask-icon {\n inset-inline-end: ").concat(dt("form.field.padding.x"), ";\n color: ").concat(dt("password.icon.color"), ";\n position: absolute;\n top: 50%;\n margin-top: calc(-1 * calc(").concat(dt("icon.size"), " / 2));\n width: ").concat(dt("icon.size"), ";\n height: ").concat(dt("icon.size"), ";\n}\n\n.p-password:has(.p-password-toggle-mask-icon) .p-password-input {\n padding-inline-end: calc((").concat(dt("form.field.padding.x"), " * 2) + ").concat(dt("icon.size"), ");\n}\n"); }, "theme"); var inlineStyles$4 = { - root: /* @__PURE__ */ __name(function root22(_ref2) { + root: /* @__PURE__ */ __name(function root21(_ref2) { var props = _ref2.props; return { position: props.appendTo === "self" ? "relative" : void 0 @@ -17587,7 +17204,7 @@ var inlineStyles$4 = { }, "root") }; var classes$d = { - root: /* @__PURE__ */ __name(function root23(_ref3) { + root: /* @__PURE__ */ __name(function root22(_ref3) { var instance = _ref3.instance; return ["p-password p-component p-inputwrapper", { "p-inputwrapper-filled": instance.$filled, @@ -17615,7 +17232,7 @@ var PasswordStyle = BaseStyle.extend({ }); var script$1$d = { name: "BasePassword", - "extends": script$1n, + "extends": script$1k, props: { promptLabel: { type: String, @@ -17745,7 +17362,7 @@ var script$1$d = { } }, style: PasswordStyle, - provide: /* @__PURE__ */ __name(function provide38() { + provide: /* @__PURE__ */ __name(function provide37() { return { $pcPassword: this, $parentInstance: this @@ -17762,7 +17379,7 @@ var script$n = { "default": null } }, - data: /* @__PURE__ */ __name(function data27() { + data: /* @__PURE__ */ __name(function data26() { return { id: this.$attrs.id, overlayVisible: false, @@ -17788,7 +17405,7 @@ var script$n = { this.mediumCheckRegExp = new RegExp(this.mediumRegex); this.strongCheckRegExp = new RegExp(this.strongRegex); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount12() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount11() { this.unbindResizeListener(); if (this.scrollHandler) { this.scrollHandler.destroy(); @@ -17986,8 +17603,8 @@ var script$n = { }, "overlayUniqueId") }, components: { - InputText: script$1o, - Portal: script$1f, + InputText: script$1l, + Portal: script$1m, EyeSlashIcon: script$o, EyeIcon: script$N } @@ -18144,7 +17761,7 @@ function render$k(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$k, "render$k"); script$n.render = render$k; -var theme$b = /* @__PURE__ */ __name(function theme29(_ref) { +var theme$b = /* @__PURE__ */ __name(function theme28(_ref) { var dt = _ref.dt; return "\n.p-picklist {\n display: flex;\n gap: ".concat(dt("picklist.gap"), ";\n}\n\n.p-picklist-controls {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: ").concat(dt("picklist.controls.gap"), ";\n}\n\n.p-picklist-list-container {\n flex: 1 1 50%;\n}\n\n.p-picklist .p-listbox {\n height: 100%;\n}\n"); }, "theme"); @@ -18163,17 +17780,17 @@ var PickListStyle = BaseStyle.extend({ }); var script$1$c = { name: "BasePickList", - "extends": script$1d, + "extends": script$1f, props: { modelValue: { type: Array, - "default": /* @__PURE__ */ __name(function _default14() { + "default": /* @__PURE__ */ __name(function _default13() { return [[], []]; }, "_default") }, selection: { type: Array, - "default": /* @__PURE__ */ __name(function _default15() { + "default": /* @__PURE__ */ __name(function _default14() { return [[], []]; }, "_default") }, @@ -18223,7 +17840,7 @@ var script$1$c = { }, buttonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default16() { + "default": /* @__PURE__ */ __name(function _default15() { return { severity: "secondary" }; @@ -18271,7 +17888,7 @@ var script$1$c = { } }, style: PickListStyle, - provide: /* @__PURE__ */ __name(function provide39() { + provide: /* @__PURE__ */ __name(function provide38() { return { $pcPickList: this, $parentInstance: this @@ -18318,7 +17935,7 @@ var script$m = { styleElement: null, media: null, mediaChangeListener: null, - data: /* @__PURE__ */ __name(function data28() { + data: /* @__PURE__ */ __name(function data27() { return { id: this.$attrs.id, d_selection: this.selection, @@ -18337,14 +17954,14 @@ var script$m = { this.initMedia(); }, "breakpoint") }, - updated: /* @__PURE__ */ __name(function updated7() { + updated: /* @__PURE__ */ __name(function updated6() { if (this.reorderDirection) { this.updateListScroll(this.$refs.sourceList.$el); this.updateListScroll(this.$refs.targetList.$el); this.reorderDirection = null; } }, "updated"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount13() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount12() { this.destroyStyle(); this.destroyMedia(); }, "beforeUnmount"), @@ -18696,14 +18313,14 @@ var script$m = { }, "moveAllToSourceAriaLabel") }, components: { - Listbox: script$1O, - Button: script$1e, - AngleRightIcon: script$1q, - AngleLeftIcon: script$1R, - AngleDownIcon: script$1H, - AngleUpIcon: script$1P, - AngleDoubleRightIcon: script$1S, - AngleDoubleLeftIcon: script$1T, + Listbox: script$1N, + Button: script$1d, + AngleRightIcon: script$1o, + AngleLeftIcon: script$1Q, + AngleDownIcon: script$1G, + AngleUpIcon: script$1O, + AngleDoubleRightIcon: script$1R, + AngleDoubleLeftIcon: script$1S, AngleDoubleDownIcon: script$u, AngleDoubleUpIcon: script$t }, @@ -19111,7 +18728,7 @@ script$m.render = render$j; var PortalStyle = BaseStyle.extend({ name: "portal" }); -var theme$a = /* @__PURE__ */ __name(function theme30(_ref) { +var theme$a = /* @__PURE__ */ __name(function theme29(_ref) { _ref.dt; return "\n.p-radiobutton-group {\n display: inline-flex;\n}\n"; }, "theme"); @@ -19125,9 +18742,9 @@ var RadioButtonGroupStyle = BaseStyle.extend({ }); var script$1$b = { name: "BaseRadioButtonGroup", - "extends": script$1s, + "extends": script$1r, style: RadioButtonGroupStyle, - provide: /* @__PURE__ */ __name(function provide40() { + provide: /* @__PURE__ */ __name(function provide39() { return { $pcRadioButtonGroup: this, $parentInstance: this @@ -19138,7 +18755,7 @@ var script$l = { name: "RadioButtonGroup", "extends": script$1$b, inheritAttrs: false, - data: /* @__PURE__ */ __name(function data29() { + data: /* @__PURE__ */ __name(function data28() { return { groupName: this.name }; @@ -19161,7 +18778,7 @@ __name(render$i, "render$i"); script$l.render = render$i; var script$k = { name: "BanIcon", - "extends": script$1m + "extends": script$1j }; function render$h(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -19179,7 +18796,7 @@ __name(render$h, "render$h"); script$k.render = render$h; var script$j = { name: "StarIcon", - "extends": script$1m + "extends": script$1j }; function render$g(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -19197,7 +18814,7 @@ __name(render$g, "render$g"); script$j.render = render$g; var script$i = { name: "StarFillIcon", - "extends": script$1m + "extends": script$1j }; function render$f(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps({ @@ -19213,12 +18830,12 @@ function render$f(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$f, "render$f"); script$i.render = render$f; -var theme$9 = /* @__PURE__ */ __name(function theme31(_ref) { +var theme$9 = /* @__PURE__ */ __name(function theme30(_ref) { var dt = _ref.dt; return "\n.p-rating {\n position: relative;\n display: flex;\n align-items: center;\n gap: ".concat(dt("rating.gap"), ";\n}\n\n.p-rating-option {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n outline-color: transparent;\n border-radius: 50%;\n transition: background ").concat(dt("rating.transition.duration"), ", color ").concat(dt("rating.transition.duration"), ", border-color ").concat(dt("rating.transition.duration"), ", outline-color ").concat(dt("rating.transition.duration"), ", box-shadow ").concat(dt("rating.transition.duration"), ";\n}\n\n.p-rating-option.p-focus-visible {\n box-shadow: ").concat(dt("rating.focus.ring.shadow"), ";\n outline: ").concat(dt("rating.focus.ring.width"), " ").concat(dt("rating.focus.ring.style"), " ").concat(dt("rating.focus.ring.color"), ";\n outline-offset: ").concat(dt("rating.focus.ring.offset"), ";\n}\n\n.p-rating-icon {\n color: ").concat(dt("rating.icon.color"), ";\n transition: background ").concat(dt("rating.transition.duration"), ", color ").concat(dt("rating.transition.duration"), ", border-color ").concat(dt("rating.transition.duration"), ", outline-color ").concat(dt("rating.transition.duration"), ", box-shadow ").concat(dt("rating.transition.duration"), ";\n font-size: ").concat(dt("rating.icon.size"), ";\n width: ").concat(dt("rating.icon.size"), ";\n height: ").concat(dt("rating.icon.size"), ";\n}\n\n.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-option:hover .p-rating-icon {\n color: ").concat(dt("rating.icon.hover.color"), ";\n}\n\n.p-rating-option-active .p-rating-icon {\n color: ").concat(dt("rating.icon.active.color"), ";\n}\n\n.p-rating-icon.p-invalid { /* @todo */\n stroke: ").concat(dt("rating.invalid.icon.color"), ";\n}\n"); }, "theme"); var classes$a = { - root: /* @__PURE__ */ __name(function root24(_ref2) { + root: /* @__PURE__ */ __name(function root23(_ref2) { var props = _ref2.props; return ["p-rating", { "p-readonly": props.readonly, @@ -19252,7 +18869,7 @@ var RatingStyle = BaseStyle.extend({ }); var script$1$a = { name: "BaseRating", - "extends": script$1s, + "extends": script$1r, props: { readonly: { type: Boolean, @@ -19272,7 +18889,7 @@ var script$1$a = { } }, style: RatingStyle, - provide: /* @__PURE__ */ __name(function provide41() { + provide: /* @__PURE__ */ __name(function provide40() { return { $pcRating: this, $parentInstance: this @@ -19284,7 +18901,7 @@ var script$h = { "extends": script$1$a, inheritAttrs: false, emits: ["change", "focus", "blur"], - data: /* @__PURE__ */ __name(function data30() { + data: /* @__PURE__ */ __name(function data29() { return { d_name: this.name, focusedOptionIndex: -1, @@ -19422,7 +19039,7 @@ __name(render$e, "render$e"); script$h.render = render$e; var script$g = { name: "Row", - "extends": script$1d, + "extends": script$1f, inject: ["$rows"], mounted: /* @__PURE__ */ __name(function mounted32() { var _this$$rows; @@ -19439,12 +19056,12 @@ var script$g = { var RowStyle = BaseStyle.extend({ name: "row" }); -var theme$8 = /* @__PURE__ */ __name(function theme32(_ref) { +var theme$8 = /* @__PURE__ */ __name(function theme31(_ref) { _ref.dt; return "\n.p-scrolltop.p-button {\n position: fixed !important;\n inset-block-end: 20px;\n inset-inline-end: 20px;\n}\n\n.p-scrolltop-sticky.p-button {\n position: sticky !important;\n display: flex;\n margin-inline-start: auto;\n}\n\n.p-scrolltop-enter-from {\n opacity: 0;\n}\n\n.p-scrolltop-enter-active {\n transition: opacity 0.15s;\n}\n\n.p-scrolltop.p-scrolltop-leave-to {\n opacity: 0;\n}\n\n.p-scrolltop-leave-active {\n transition: opacity 0.15s;\n}\n"; }, "theme"); var classes$9 = { - root: /* @__PURE__ */ __name(function root25(_ref2) { + root: /* @__PURE__ */ __name(function root24(_ref2) { var props = _ref2.props; return ["p-scrolltop", { "p-scrolltop-sticky": props.target !== "window" @@ -19459,7 +19076,7 @@ var ScrollTopStyle = BaseStyle.extend({ }); var script$1$9 = { name: "BaseScrollTop", - "extends": script$1d, + "extends": script$1f, props: { target: { type: String, @@ -19479,7 +19096,7 @@ var script$1$9 = { }, buttonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default17() { + "default": /* @__PURE__ */ __name(function _default16() { return { rounded: true }; @@ -19487,7 +19104,7 @@ var script$1$9 = { } }, style: ScrollTopStyle, - provide: /* @__PURE__ */ __name(function provide42() { + provide: /* @__PURE__ */ __name(function provide41() { return { $pcScrollTop: this, $parentInstance: this @@ -19500,7 +19117,7 @@ var script$f = { inheritAttrs: false, scrollListener: null, container: null, - data: /* @__PURE__ */ __name(function data31() { + data: /* @__PURE__ */ __name(function data30() { return { visible: false }; @@ -19509,7 +19126,7 @@ var script$f = { if (this.target === "window") this.bindDocumentScrollListener(); else if (this.target === "parent") this.bindParentScrollListener(); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount14() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount13() { if (this.target === "window") this.unbindDocumentScrollListener(); else if (this.target === "parent") this.unbindParentScrollListener(); if (this.container) { @@ -19555,13 +19172,13 @@ var script$f = { this.scrollListener = null; } }, "unbindDocumentScrollListener"), - onEnter: /* @__PURE__ */ __name(function onEnter4(el) { + onEnter: /* @__PURE__ */ __name(function onEnter3(el) { ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); }, "onEnter"), - onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave4(el) { + onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave3(el) { ZIndex.clear(el); }, "onAfterLeave"), - containerRef: /* @__PURE__ */ __name(function containerRef5(el) { + containerRef: /* @__PURE__ */ __name(function containerRef4(el) { this.container = el ? el.$el : void 0; }, "containerRef") }, @@ -19571,8 +19188,8 @@ var script$f = { }, "scrollTopAriaLabel") }, components: { - ChevronUpIcon: script$1j, - Button: script$1e + ChevronUpIcon: script$1g, + Button: script$1d } }; function render$d(_ctx, _cache, $props, $setup, $data, $options) { @@ -19613,7 +19230,7 @@ __name(render$d, "render$d"); script$f.render = render$d; var script$e = { name: "Sidebar", - "extends": script$1c, + "extends": script$1T, mounted: /* @__PURE__ */ __name(function mounted34() { console.warn("Deprecated since v4. Use Drawer component instead."); }, "mounted") @@ -19621,7 +19238,7 @@ var script$e = { var SidebarStyle = BaseStyle.extend({ name: "sidebar" }); -var theme$7 = /* @__PURE__ */ __name(function theme33(_ref) { +var theme$7 = /* @__PURE__ */ __name(function theme32(_ref) { var dt = _ref.dt; return "\n.p-skeleton {\n overflow: hidden;\n background: ".concat(dt("skeleton.background"), ";\n border-radius: ").concat(dt("skeleton.border.radius"), ';\n}\n\n.p-skeleton::after {\n content: "";\n animation: p-skeleton-animation 1.2s infinite;\n height: 100%;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n transform: translateX(-100%);\n z-index: 1;\n background: linear-gradient(90deg, rgba(255, 255, 255, 0), ').concat(dt("skeleton.animation.background"), ", rgba(255, 255, 255, 0));\n}\n\n[dir='rtl'] .p-skeleton::after {\n animation-name: p-skeleton-animation-rtl;\n}\n\n.p-skeleton-circle {\n border-radius: 50%;\n}\n\n.p-skeleton-animation-none::after {\n animation: none;\n}\n\n@keyframes p-skeleton-animation {\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(100%);\n }\n}\n\n@keyframes p-skeleton-animation-rtl {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(-100%);\n }\n}\n"); }, "theme"); @@ -19631,7 +19248,7 @@ var inlineStyles$3 = { } }; var classes$8 = { - root: /* @__PURE__ */ __name(function root26(_ref2) { + root: /* @__PURE__ */ __name(function root25(_ref2) { var props = _ref2.props; return ["p-skeleton p-component", { "p-skeleton-circle": props.shape === "circle", @@ -19647,7 +19264,7 @@ var SkeletonStyle = BaseStyle.extend({ }); var script$1$8 = { name: "BaseSkeleton", - "extends": script$1d, + "extends": script$1f, props: { shape: { type: String, @@ -19675,7 +19292,7 @@ var script$1$8 = { } }, style: SkeletonStyle, - provide: /* @__PURE__ */ __name(function provide43() { + provide: /* @__PURE__ */ __name(function provide42() { return { $pcSkeleton: this, $parentInstance: this @@ -19739,12 +19356,12 @@ function _toPrimitive$8(t2, r) { return ("string" === r ? String : Number)(t2); } __name(_toPrimitive$8, "_toPrimitive$8"); -var theme$6 = /* @__PURE__ */ __name(function theme34(_ref) { +var theme$6 = /* @__PURE__ */ __name(function theme33(_ref) { var dt = _ref.dt; return "\n.p-speeddial {\n position: static;\n display: flex;\n gap: ".concat(dt("speeddial.gap"), ";\n}\n\n.p-speeddial-button {\n z-index: 1;\n}\n\n.p-speeddial-button.p-speeddial-rotate {\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background ").concat(dt("speeddial.transition.duration"), ", color ").concat(dt("speeddial.transition.duration"), ", border-color ").concat(dt("speeddial.transition.duration"), ",\n box-shadow ").concat(dt("speeddial.transition.duration"), ", outline-color ").concat(dt("speeddial.transition.duration"), ";\n will-change: transform;\n}\n\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: inset-block-start 0s linear ").concat(dt("speeddial.transition.duration"), ";\n pointer-events: none;\n outline: 0 none;\n z-index: 2;\n gap: ").concat(dt("speeddial.gap"), ";\n}\n\n.p-speeddial-item {\n transform: scale(0);\n opacity: 0;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n will-change: transform;\n}\n\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n\n.p-speeddial-mask {\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n background: ").concat(dt("mask.background"), ";\n border-radius: 6px;\n transition: opacity 150ms;\n}\n\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n transition: opacity 150ms;\n}\n\n.p-speeddial-open .p-speeddial-list {\n pointer-events: auto;\n}\n\n.p-speeddial-open .p-speeddial-item {\n transform: scale(1);\n opacity: 1;\n}\n\n.p-speeddial-open .p-speeddial-rotate {\n transform: rotate(45deg);\n}\n"); }, "theme"); var inlineStyles$2 = { - root: /* @__PURE__ */ __name(function root27(_ref2) { + root: /* @__PURE__ */ __name(function root26(_ref2) { var props = _ref2.props; return { alignItems: (props.direction === "up" || props.direction === "down") && "center", @@ -19760,7 +19377,7 @@ var inlineStyles$2 = { }, "list") }; var classes$7 = { - root: /* @__PURE__ */ __name(function root28(_ref4) { + root: /* @__PURE__ */ __name(function root27(_ref4) { var instance = _ref4.instance, props = _ref4.props; return ["p-speeddial p-component p-speeddial-".concat(props.type), _defineProperty$8(_defineProperty$8(_defineProperty$8({}, "p-speeddial-direction-".concat(props.direction), props.type !== "circle"), "p-speeddial-open", instance.d_visible), "p-disabled", props.disabled)]; }, "root"), @@ -19774,7 +19391,7 @@ var classes$7 = { item: "p-speeddial-item", action: "p-speeddial-action", actionIcon: "p-speeddial-action-icon", - mask: /* @__PURE__ */ __name(function mask4(_ref7) { + mask: /* @__PURE__ */ __name(function mask2(_ref7) { var instance = _ref7.instance; return ["p-speeddial-mask", { "p-speeddial-mask-visible": instance.d_visible @@ -19789,7 +19406,7 @@ var SpeedDialStyle = BaseStyle.extend({ }); var script$1$7 = { name: "BaseSpeedDial", - "extends": script$1d, + "extends": script$1f, props: { model: null, visible: { @@ -19844,7 +19461,7 @@ var script$1$7 = { "class": null, buttonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default18() { + "default": /* @__PURE__ */ __name(function _default17() { return { rounded: true }; @@ -19852,7 +19469,7 @@ var script$1$7 = { }, actionButtonProps: { type: Object, - "default": /* @__PURE__ */ __name(function _default19() { + "default": /* @__PURE__ */ __name(function _default18() { return { severity: "secondary", rounded: true, @@ -19870,7 +19487,7 @@ var script$1$7 = { } }, style: SpeedDialStyle, - provide: /* @__PURE__ */ __name(function provide44() { + provide: /* @__PURE__ */ __name(function provide43() { return { $pcSpeedDial: this, $parentInstance: this @@ -19968,7 +19585,7 @@ var script$c = { documentClickListener: null, container: null, list: null, - data: /* @__PURE__ */ __name(function data32() { + data: /* @__PURE__ */ __name(function data31() { return { id: this.$attrs.id, d_visible: this.visible, @@ -20001,7 +19618,7 @@ var script$c = { this.bindDocumentClickListener(); } }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount15() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount14() { this.unbindDocumentClickListener(); }, "beforeUnmount"), methods: { @@ -20040,7 +19657,7 @@ var script$c = { this.d_visible = true; this.$emit("show"); }, "show"), - hide: /* @__PURE__ */ __name(function hide6() { + hide: /* @__PURE__ */ __name(function hide5() { this.d_visible = false; this.$emit("hide"); }, "hide"), @@ -20303,7 +19920,7 @@ var script$c = { this.documentClickListener = null; } }, "unbindDocumentClickListener"), - isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked4(event2) { + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked3(event2) { return this.container && !(this.container.isSameNode(event2.target) || this.container.contains(event2.target) || this.isItemClicked); }, "isOutsideClicked"), isItemVisible: /* @__PURE__ */ __name(function isItemVisible6(item8) { @@ -20312,7 +19929,7 @@ var script$c = { isItemActive: /* @__PURE__ */ __name(function isItemActive7(id4) { return id4 === this.focusedOptionId; }, "isItemActive"), - containerRef: /* @__PURE__ */ __name(function containerRef6(el) { + containerRef: /* @__PURE__ */ __name(function containerRef5(el) { this.container = el; }, "containerRef"), listRef: /* @__PURE__ */ __name(function listRef3(el) { @@ -20328,8 +19945,8 @@ var script$c = { }, "focusedOptionId") }, components: { - Button: script$1e, - PlusIcon: script$1x + Button: script$1d, + PlusIcon: script$1w }, directives: { ripple: Ripple, @@ -20467,7 +20084,7 @@ function render$b(_ctx, _cache, $props, $setup, $data, $options) { __name(render$b, "render$b"); script$c.render = render$b; var classes$6 = { - root: /* @__PURE__ */ __name(function root29(_ref) { + root: /* @__PURE__ */ __name(function root28(_ref) { var instance = _ref.instance; return ["p-stepitem", { "p-stepitem-active": instance.isActive @@ -20480,7 +20097,7 @@ var StepItemStyle = BaseStyle.extend({ }); var script$1$6 = { name: "BaseStepItem", - "extends": script$1d, + "extends": script$1f, props: { value: { type: [String, Number], @@ -20488,7 +20105,7 @@ var script$1$6 = { } }, style: StepItemStyle, - provide: /* @__PURE__ */ __name(function provide45() { + provide: /* @__PURE__ */ __name(function provide44() { return { $pcStepItem: this, $parentInstance: this @@ -20516,12 +20133,12 @@ function render$a(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$a, "render$a"); script$b.render = render$a; -var theme$5 = /* @__PURE__ */ __name(function theme35(_ref) { +var theme$5 = /* @__PURE__ */ __name(function theme34(_ref) { var dt = _ref.dt; return '\n.p-steps {\n position: relative;\n}\n\n.p-steps-list {\n padding: 0;\n margin: 0;\n list-style-type: none;\n display: flex;\n}\n\n.p-steps-item {\n position: relative;\n display: flex;\n justify-content: center;\n flex: 1 1 auto;\n}\n\n.p-steps-item.p-disabled,\n.p-steps-item.p-disabled * {\n opacity: 1;\n pointer-events: auto;\n user-select: auto;\n cursor: auto;\n}\n\n.p-steps-item:before {\n content: " ";\n border-top: 2px solid '.concat(dt("steps.separator.background"), ";\n width: 100%;\n top: 50%;\n left: 0;\n display: block;\n position: absolute;\n margin-top: calc(-1rem + 1px);\n}\n\n.p-steps-item:first-child::before {\n width: calc(50% + 1rem);\n transform: translateX(100%);\n}\n\n.p-steps-item:last-child::before {\n width: 50%;\n}\n\n.p-steps-item-link {\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n overflow: hidden;\n text-decoration: none;\n transition: outline-color ").concat(dt("steps.transition.duration"), ", box-shadow ").concat(dt("steps.transition.duration"), ";\n border-radius: ").concat(dt("steps.item.link.border.radius"), ";\n outline-color: transparent;\n gap: ").concat(dt("steps.item.link.gap"), ";\n}\n\n.p-steps-item-link:not(.p-disabled):focus-visible {\n box-shadow: ").concat(dt("steps.item.link.focus.ring.shadow"), ";\n outline: ").concat(dt("steps.item.link.focus.ring.width"), " ").concat(dt("steps.item.link.focus.ring.style"), " ").concat(dt("steps.item.link.focus.ring.color"), ";\n outline-offset: ").concat(dt("steps.item.link.focus.ring.offset"), ";\n}\n\n.p-steps-item-label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n color: ").concat(dt("steps.item.label.color"), ";\n display: block;\n font-weight: ").concat(dt("steps.item.label.font.weight"), ";\n}\n\n.p-steps-item-number {\n display: flex;\n align-items: center;\n justify-content: center;\n color: ").concat(dt("steps.item.number.color"), ";\n border: 2px solid ").concat(dt("steps.item.number.border.color"), ";\n background: ").concat(dt("steps.item.number.background"), ";\n min-width: ").concat(dt("steps.item.number.size"), ";\n height: ").concat(dt("steps.item.number.size"), ";\n line-height: ").concat(dt("steps.item.number.size"), ";\n font-size: ").concat(dt("steps.item.number.font.size"), ";\n z-index: 1;\n border-radius: ").concat(dt("steps.item.number.border.radius"), ";\n position: relative;\n font-weight: ").concat(dt("steps.item.number.font.weight"), ';\n}\n\n.p-steps-item-number::after {\n content: " ";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ').concat(dt("steps.item.number.border.radius"), ";\n box-shadow: ").concat(dt("steps.item.number.shadow"), ";\n}\n\n.p-steps:not(.p-readonly) .p-steps-item {\n cursor: pointer;\n}\n\n.p-steps-item-active .p-steps-item-number {\n background: ").concat(dt("steps.item.number.active.background"), ";\n border-color: ").concat(dt("steps.item.number.active.border.color"), ";\n color: ").concat(dt("steps.item.number.active.color"), ";\n}\n\n.p-steps-item-active .p-steps-item-label {\n color: ").concat(dt("steps.item.label.active.color"), ";\n}\n"); }, "theme"); var classes$5 = { - root: /* @__PURE__ */ __name(function root30(_ref2) { + root: /* @__PURE__ */ __name(function root29(_ref2) { var props = _ref2.props; return ["p-steps p-component", { "p-readonly": props.readonly @@ -20546,7 +20163,7 @@ var StepsStyle = BaseStyle.extend({ }); var script$1$5 = { name: "BaseSteps", - "extends": script$1d, + "extends": script$1f, props: { id: { type: String @@ -20565,7 +20182,7 @@ var script$1$5 = { } }, style: StepsStyle, - provide: /* @__PURE__ */ __name(function provide46() { + provide: /* @__PURE__ */ __name(function provide45() { return { $pcSteps: this, $parentInstance: this @@ -20577,7 +20194,7 @@ var script$a = { "extends": script$1$5, inheritAttrs: false, emits: ["update:activeStep", "step-change"], - data: /* @__PURE__ */ __name(function data33() { + data: /* @__PURE__ */ __name(function data32() { return { d_activeStep: this.activeStep }; @@ -20752,7 +20369,7 @@ function render$9(_ctx, _cache, $props, $setup, $data, $options) { onClick: /* @__PURE__ */ __name(function onClick11($event) { return $options.onItemClick($event, item8, index); }, "onClick"), - onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + onKeydown: /* @__PURE__ */ __name(function onKeydown5($event) { return $options.onItemKeydown($event, item8, index); }, "onKeydown"), ref_for: true @@ -20929,7 +20546,7 @@ var StyleClass = BaseStyleClass.extend("styleclass", { }, "isOutsideClick") } }); -var theme$4 = /* @__PURE__ */ __name(function theme36(_ref) { +var theme$4 = /* @__PURE__ */ __name(function theme35(_ref) { var dt = _ref.dt; return "\n.p-tabmenu {\n overflow-x: auto;\n}\n\n.p-tabmenu-tablist {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n background: ".concat(dt("tabmenu.tablist.background"), ";\n border-style: solid;\n border-color: ").concat(dt("tabmenu.tablist.border.color"), ";\n border-width: ").concat(dt("tabmenu.tablist.border.width"), ";\n position: relative;\n}\n\n.p-tabmenu-item-link {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n background: ").concat(dt("tabmenu.item.background"), ";\n border-style: solid;\n border-width: ").concat(dt("tabmenu.item.border.width"), ";\n border-color: ").concat(dt("tabmenu.item.border.color"), ";\n color: ").concat(dt("tabmenu.item.color"), ";\n padding: ").concat(dt("tabmenu.item.padding"), ";\n font-weight: ").concat(dt("tabmenu.item.font.weight"), ";\n transition: background ").concat(dt("tabmenu.transition.duration"), ", border-color ").concat(dt("tabmenu.transition.duration"), ", color ").concat(dt("tabmenu.transition.duration"), ", outline-color ").concat(dt("tabmenu.transition.duration"), ", box-shadow ").concat(dt("tabmenu.transition.duration"), ";\n margin: ").concat(dt("tabmenu.item.margin"), ";\n outline-color: transparent;\n gap: ").concat(dt("tabmenu.item.gap"), ";\n}\n\n.p-tabmenu-item-link:focus-visible {\n z-index: 1;\n box-shadow: ").concat(dt("tabmenu.item.focus.ring.shadow"), ";\n outline: ").concat(dt("tabmenu.item.focus.ring.width"), " ").concat(dt("tabmenu.item.focus.ring.style"), " ").concat(dt("tabmenu.item.focus.ring.color"), ";\n outline-offset: ").concat(dt("tabmenu.item.focus.ring.offset"), ";\n}\n\n.p-tabmenu-item-icon {\n color: ").concat(dt("tabmenu.item.icon.color"), ";\n transition: background ").concat(dt("tabmenu.transition.duration"), ", border-color ").concat(dt("tabmenu.transition.duration"), ", color ").concat(dt("tabmenu.transition.duration"), ", outline-color ").concat(dt("tabmenu.transition.duration"), ", box-shadow ").concat(dt("tabmenu.transition.duration"), ";\n}\n\n.p-tabmenu-item-label {\n line-height: 1;\n}\n\n.p-tabmenu-item:not(.p-tabmenu-item-active):not(.p-disabled):hover .p-tabmenu-item-link {\n background: ").concat(dt("tabmenu.item.hover.background"), ";\n border-color: ").concat(dt("tabmenu.item.hover.border.color"), ";\n color: ").concat(dt("tabmenu.item.hover.color"), ";\n}\n\n.p-tabmenu-item:not(.p-tabmenu-item-active):not(.p-disabled):hover .p-tabmenu-item-icon {\n color: ").concat(dt("tabmenu.item.icon.hover.color"), ";\n}\n\n.p-tabmenu-item-active .p-tabmenu-item-link {\n background: ").concat(dt("tabmenu.item.active.background"), ";\n border-color: ").concat(dt("tabmenu.item.active.border.color"), ";\n color: ").concat(dt("tabmenu.item.active.color"), ";\n}\n\n.p-tabmenu-item-active .p-tabmenu-item-icon {\n color: ").concat(dt("tabmenu.item.icon.active.color"), ";\n}\n\n.p-tabmenu-active-bar {\n z-index: 1;\n display: block;\n position: absolute;\n bottom: ").concat(dt("tabmenu.active.bar.bottom"), ";\n height: ").concat(dt("tabmenu.active.bar.height"), ";\n background: ").concat(dt("tabmenu.active.bar.background"), ";\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n\n.p-tabmenu::-webkit-scrollbar {\n display: none;\n}\n"); }, "theme"); @@ -20955,7 +20572,7 @@ var TabMenuStyle = BaseStyle.extend({ }); var script$1$4 = { name: "BaseTabMenu", - "extends": script$1d, + "extends": script$1f, props: { model: { type: Array, @@ -20975,7 +20592,7 @@ var script$1$4 = { } }, style: TabMenuStyle, - provide: /* @__PURE__ */ __name(function provide47() { + provide: /* @__PURE__ */ __name(function provide46() { return { $pcTabMenu: this, $parentInstance: this @@ -20987,7 +20604,7 @@ var script$9 = { "extends": script$1$4, inheritAttrs: false, emits: ["update:activeIndex", "tab-change"], - data: /* @__PURE__ */ __name(function data34() { + data: /* @__PURE__ */ __name(function data33() { return { d_activeIndex: this.activeIndex }; @@ -21009,7 +20626,7 @@ var script$9 = { var activeItem2 = this.findActiveItem(); activeItem2 && (activeItem2.tabIndex = "0"); }, "mounted"), - updated: /* @__PURE__ */ __name(function updated8() { + updated: /* @__PURE__ */ __name(function updated7() { this.updateInkBar(); }, "updated"), methods: { @@ -21204,7 +20821,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) { onClick: /* @__PURE__ */ __name(function onClick11($event) { return $options.onItemClick($event, item8, i); }, "onClick"), - onKeydown: /* @__PURE__ */ __name(function onKeydown6($event) { + onKeydown: /* @__PURE__ */ __name(function onKeydown5($event) { return $options.onKeydownItem($event, item8, i); }, "onKeydown") }, $options.getPTOptions("item", item8, i), { @@ -21249,7 +20866,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) { __name(render$8, "render$8"); script$9.render = render$8; var TerminalService = EventBus(); -var theme$3 = /* @__PURE__ */ __name(function theme37(_ref) { +var theme$3 = /* @__PURE__ */ __name(function theme36(_ref) { var dt = _ref.dt; return "\n.p-terminal {\n height: ".concat(dt("terminal.height"), ";\n overflow: auto;\n background: ").concat(dt("terminal.background"), ";\n color: ").concat(dt("terminal.color"), ";\n border: 1px solid ").concat(dt("terminal.border.color"), ";\n padding: ").concat(dt("terminal.padding"), ";\n border-radius: ").concat(dt("terminal.border.radius"), ";\n}\n\n.p-terminal-prompt {\n display: flex;\n align-items: center;\n}\n\n.p-terminal-prompt-value {\n flex: 1 1 auto;\n border: 0 none;\n background: transparent;\n color: inherit;\n padding: 0;\n outline: 0 none;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n}\n\n.p-terminal-prompt-label {\n margin-inline-end: ").concat(dt("terminal.prompt.gap"), ";\n}\n\n.p-terminal-input::-ms-clear {\n display: none;\n}\n\n.p-terminal-command-response {\n margin: ").concat(dt("terminal.command.response.margin"), ";\n}\n"); }, "theme"); @@ -21271,7 +20888,7 @@ var TerminalStyle = BaseStyle.extend({ }); var script$1$3 = { name: "BaseTerminal", - "extends": script$1d, + "extends": script$1f, props: { welcomeMessage: { type: String, @@ -21283,7 +20900,7 @@ var script$1$3 = { } }, style: TerminalStyle, - provide: /* @__PURE__ */ __name(function provide48() { + provide: /* @__PURE__ */ __name(function provide47() { return { $pcTerminal: this, $parentInstance: this @@ -21294,7 +20911,7 @@ var script$8 = { name: "Terminal", "extends": script$1$3, inheritAttrs: false, - data: /* @__PURE__ */ __name(function data35() { + data: /* @__PURE__ */ __name(function data34() { return { commandText: null, commands: [] @@ -21304,17 +20921,17 @@ var script$8 = { TerminalService.on("response", this.responseListener); this.$refs.input.focus(); }, "mounted"), - updated: /* @__PURE__ */ __name(function updated9() { + updated: /* @__PURE__ */ __name(function updated8() { this.$el.scrollTop = this.$el.scrollHeight; }, "updated"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount16() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount15() { TerminalService.off("response", this.responseListener); }, "beforeUnmount"), methods: { onClick: /* @__PURE__ */ __name(function onClick7() { this.$refs.input.focus(); }, "onClick"), - onKeydown: /* @__PURE__ */ __name(function onKeydown5(event2) { + onKeydown: /* @__PURE__ */ __name(function onKeydown4(event2) { if (event2.key === "Enter" && this.commandText) { this.commands.push({ text: this.commandText @@ -21374,12 +20991,12 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$7, "render$7"); script$8.render = render$7; -var theme$2 = /* @__PURE__ */ __name(function theme38(_ref) { +var theme$2 = /* @__PURE__ */ __name(function theme37(_ref) { var dt = _ref.dt; return "\n.p-timeline {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n direction: ltr;\n}\n\n.p-timeline-left .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-left .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event {\n flex-direction: row-reverse;\n}\n\n.p-timeline-right .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-right .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: row-reverse;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-opposite {\n text-align: right;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-content {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-opposite {\n text-align: left;\n}\n\n.p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-content {\n text-align: right;\n}\n\n.p-timeline-vertical .p-timeline-event-opposite,\n.p-timeline-vertical .p-timeline-event-content {\n padding: ".concat(dt("timeline.vertical.event.content.padding"), ";\n}\n\n.p-timeline-vertical .p-timeline-event-connector {\n width: ").concat(dt("timeline.event.connector.size"), ";\n}\n\n.p-timeline-event {\n display: flex;\n position: relative;\n min-height: ").concat(dt("timeline.event.min.height"), ";\n}\n\n.p-timeline-event:last-child {\n min-height: 0;\n}\n\n.p-timeline-event-opposite {\n flex: 1;\n}\n\n.p-timeline-event-content {\n flex: 1;\n}\n\n.p-timeline-event-separator {\n flex: 0;\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n.p-timeline-event-marker {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n align-self: baseline;\n border-width: ").concat(dt("timeline.event.marker.border.width"), ";\n border-style: solid;\n border-color: ").concat(dt("timeline.event.marker.border.color"), ";\n border-radius: ").concat(dt("timeline.event.marker.border.radius"), ";\n width: ").concat(dt("timeline.event.marker.size"), ";\n height: ").concat(dt("timeline.event.marker.size"), ";\n background: ").concat(dt("timeline.event.marker.background"), ';\n}\n\n.p-timeline-event-marker::before {\n content: " ";\n border-radius: ').concat(dt("timeline.event.marker.content.border.radius"), ";\n width: ").concat(dt("timeline.event.marker.content.size"), ";\n height:").concat(dt("timeline.event.marker.content.size"), ";\n background: ").concat(dt("timeline.event.marker.content.background"), ';\n}\n\n.p-timeline-event-marker::after {\n content: " ";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ').concat(dt("timeline.event.marker.border.radius"), ";\n box-shadow: ").concat(dt("timeline.event.marker.content.inset.shadow"), ";\n}\n\n.p-timeline-event-connector {\n flex-grow: 1;\n background: ").concat(dt("timeline.event.connector.color"), ";\n}\n\n.p-timeline-horizontal {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event {\n flex-direction: column;\n flex: 1;\n}\n\n.p-timeline-horizontal .p-timeline-event:last-child {\n flex: 0;\n}\n\n.p-timeline-horizontal .p-timeline-event-separator {\n flex-direction: row;\n}\n\n.p-timeline-horizontal .p-timeline-event-connector {\n width: 100%;\n height: ").concat(dt("timeline.event.connector.size"), ";\n}\n\n.p-timeline-horizontal .p-timeline-event-opposite,\n.p-timeline-horizontal .p-timeline-event-content {\n padding: ").concat(dt("timeline.horizontal.event.content.padding"), ";\n}\n\n.p-timeline-horizontal.p-timeline-alternate .p-timeline-event:nth-child(even) {\n flex-direction: column-reverse;\n}\n\n.p-timeline-bottom .p-timeline-event {\n flex-direction: column-reverse;\n}\n"); }, "theme"); var classes$2 = { - root: /* @__PURE__ */ __name(function root31(_ref2) { + root: /* @__PURE__ */ __name(function root30(_ref2) { var props = _ref2.props; return ["p-timeline p-component", "p-timeline-" + props.align, "p-timeline-" + props.layout]; }, "root"), @@ -21397,7 +21014,7 @@ var TimelineStyle = BaseStyle.extend({ }); var script$1$2 = { name: "BaseTimeline", - "extends": script$1d, + "extends": script$1f, props: { value: null, align: { @@ -21411,7 +21028,7 @@ var script$1$2 = { dataKey: null }, style: TimelineStyle, - provide: /* @__PURE__ */ __name(function provide49() { + provide: /* @__PURE__ */ __name(function provide48() { return { $pcTimeline: this, $parentInstance: this @@ -21483,12 +21100,12 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$6, "render$6"); script$7.render = render$6; -var theme$1 = /* @__PURE__ */ __name(function theme39(_ref) { +var theme$1 = /* @__PURE__ */ __name(function theme38(_ref) { var dt = _ref.dt; return "\n.p-treeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ".concat(dt("treeselect.background"), ";\n border: 1px solid ").concat(dt("treeselect.border.color"), ";\n transition: background ").concat(dt("treeselect.transition.duration"), ", color ").concat(dt("treeselect.transition.duration"), ", border-color ").concat(dt("treeselect.transition.duration"), ", outline-color ").concat(dt("treeselect.transition.duration"), ", box-shadow ").concat(dt("treeselect.transition.duration"), ";\n border-radius: ").concat(dt("treeselect.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("treeselect.shadow"), ";\n}\n\n.p-treeselect:not(.p-disabled):hover {\n border-color: ").concat(dt("treeselect.hover.border.color"), ";\n}\n\n.p-treeselect:not(.p-disabled).p-focus {\n border-color: ").concat(dt("treeselect.focus.border.color"), ";\n box-shadow: ").concat(dt("treeselect.focus.ring.shadow"), ";\n outline: ").concat(dt("treeselect.focus.ring.width"), " ").concat(dt("treeselect.focus.ring.style"), " ").concat(dt("treeselect.focus.ring.color"), ";\n outline-offset: ").concat(dt("treeselect.focus.ring.offset"), ";\n}\n\n.p-treeselect.p-variant-filled {\n background: ").concat(dt("treeselect.filled.background"), ";\n}\n\n.p-treeselect.p-variant-filled:not(.p-disabled):hover {\n background: ").concat(dt("treeselect.filled.hover.background"), ";\n}\n\n.p-treeselect.p-variant-filled.p-focus {\n background: ").concat(dt("treeselect.filled.focus.background"), ";\n}\n\n.p-treeselect.p-invalid {\n border-color: ").concat(dt("treeselect.invalid.border.color"), ";\n}\n\n.p-treeselect.p-disabled {\n opacity: 1;\n background: ").concat(dt("treeselect.disabled.background"), ";\n}\n\n.p-treeselect-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ").concat(dt("treeselect.clear.icon.color"), ";\n inset-inline-end: ").concat(dt("treeselect.dropdown.width"), ";\n}\n\n.p-treeselect-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ").concat(dt("treeselect.dropdown.color"), ";\n width: ").concat(dt("treeselect.dropdown.width"), ";\n border-start-end-radius: ").concat(dt("border.radius.md"), ";\n border-end-end-radius: ").concat(dt("border.radius.md"), ";\n}\n\n.p-treeselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n}\n\n.p-treeselect-label {\n display: flex;\n align-items: center;\n gap: calc(").concat(dt("treeselect.padding.y"), " / 2);\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: ").concat(dt("treeselect.padding.y"), " ").concat(dt("treeselect.padding.x"), ";\n color: ").concat(dt("treeselect.color"), ";\n}\n\n.p-treeselect-label.p-placeholder {\n color: ").concat(dt("treeselect.placeholder.color"), ";\n}\n\n.p-treeselect.p-invalid .p-treeselect-label.p-placeholder {\n color: ").concat(dt("treeselect.invalid.placeholder.color"), ";\n}\n\n.p-treeselect.p-disabled .p-treeselect-label {\n color: ").concat(dt("treeselect.disabled.color"), ";\n}\n\n.p-treeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\n\n.p-treeselect .p-treeselect-overlay {\n min-width: 100%;\n}\n\n.p-treeselect-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ").concat(dt("treeselect.overlay.background"), ";\n color: ").concat(dt("treeselect.overlay.color"), ";\n border: 1px solid ").concat(dt("treeselect.overlay.border.color"), ";\n border-radius: ").concat(dt("treeselect.overlay.border.radius"), ";\n box-shadow: ").concat(dt("treeselect.overlay.shadow"), ";\n overflow: hidden;\n}\n\n.p-treeselect-tree-container {\n overflow: auto;\n}\n\n.p-treeselect-empty-message {\n padding: ").concat(dt("treeselect.empty.message.padding"), ";\n background: transparent;\n}\n\n.p-treeselect-fluid {\n display: flex;\n}\n\n.p-treeselect-overlay .p-tree {\n padding: ").concat(dt("treeselect.tree.padding"), ";\n}\n\n.p-treeselect-overlay .p-tree-loading {\n min-height: 3rem;\n}\n\n.p-treeselect-label .p-chip {\n padding-block-start: calc(").concat(dt("treeselect.padding.y"), " / 2);\n padding-block-end: calc(").concat(dt("treeselect.padding.y"), " / 2);\n border-radius: ").concat(dt("treeselect.chip.border.radius"), ";\n}\n\n.p-treeselect-label:has(.p-chip) {\n padding: calc(").concat(dt("treeselect.padding.y"), " / 2) calc(").concat(dt("treeselect.padding.x"), " / 2);\n}\n\n.p-treeselect-sm .p-treeselect-label {\n font-size: ").concat(dt("treeselect.sm.font.size"), ";\n padding-block: ").concat(dt("treeselect.sm.padding.y"), ";\n padding-inline: ").concat(dt("treeselect.sm.padding.x"), ";\n}\n\n.p-treeselect-sm .p-treeselect-dropdown .p-icon {\n font-size: ").concat(dt("treeselect.sm.font.size"), ";\n width: ").concat(dt("treeselect.sm.font.size"), ";\n height: ").concat(dt("treeselect.sm.font.size"), ";\n}\n\n.p-treeselect-lg .p-treeselect-label {\n font-size: ").concat(dt("treeselect.lg.font.size"), ";\n padding-block: ").concat(dt("treeselect.lg.padding.y"), ";\n padding-inline: ").concat(dt("treeselect.lg.padding.x"), ";\n}\n\n.p-treeselect-lg .p-treeselect-dropdown .p-icon {\n font-size: ").concat(dt("treeselect.lg.font.size"), ";\n width: ").concat(dt("treeselect.lg.font.size"), ";\n height: ").concat(dt("treeselect.lg.font.size"), ";\n}\n"); }, "theme"); var inlineStyles$1 = { - root: /* @__PURE__ */ __name(function root32(_ref2) { + root: /* @__PURE__ */ __name(function root31(_ref2) { var props = _ref2.props; return { position: props.appendTo === "self" ? "relative" : void 0 @@ -21496,7 +21113,7 @@ var inlineStyles$1 = { }, "root") }; var classes$1 = { - root: /* @__PURE__ */ __name(function root33(_ref3) { + root: /* @__PURE__ */ __name(function root32(_ref3) { var instance = _ref3.instance, props = _ref3.props; return ["p-treeselect p-component p-inputwrapper", { "p-treeselect-display-chip": props.display === "chip", @@ -21537,7 +21154,7 @@ var TreeSelectStyle = BaseStyle.extend({ }); var script$1$1 = { name: "BaseTreeSelect", - "extends": script$1n, + "extends": script$1k, props: { options: Array, scrollHeight: { @@ -21658,7 +21275,7 @@ var script$1$1 = { } }, style: TreeSelectStyle, - provide: /* @__PURE__ */ __name(function provide50() { + provide: /* @__PURE__ */ __name(function provide49() { return { $pcTreeSelect: this, $parentInstance: this @@ -21789,7 +21406,7 @@ var script$6 = { "default": null } }, - data: /* @__PURE__ */ __name(function data36() { + data: /* @__PURE__ */ __name(function data35() { return { id: this.$attrs.id, focused: false, @@ -21823,7 +21440,7 @@ var script$6 = { overlay: null, selfChange: false, selfClick: false, - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount17() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount16() { this.unbindOutsideClickListener(); this.unbindResizeListener(); if (this.scrollHandler) { @@ -21844,7 +21461,7 @@ var script$6 = { this.$emit("before-show"); this.overlayVisible = true; }, "show"), - hide: /* @__PURE__ */ __name(function hide7() { + hide: /* @__PURE__ */ __name(function hide6() { this.$emit("before-hide"); this.overlayVisible = false; this.$refs.focusInput.focus(); @@ -22006,7 +21623,7 @@ var script$6 = { absolutePosition(this.overlay, this.$el); } }, "alignOverlay"), - bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener7() { + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener6() { var _this2 = this; if (!this.outsideClickListener) { this.outsideClickListener = function(event2) { @@ -22018,7 +21635,7 @@ var script$6 = { document.addEventListener("click", this.outsideClickListener); } }, "bindOutsideClickListener"), - unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener7() { + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener6() { if (this.outsideClickListener) { document.removeEventListener("click", this.outsideClickListener); this.outsideClickListener = null; @@ -22057,7 +21674,7 @@ var script$6 = { this.resizeListener = null; } }, "unbindResizeListener"), - isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked5(event2) { + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked4(event2) { return !(this.$el.isSameNode(event2.target) || this.$el.contains(event2.target) || this.overlay && this.overlay.contains(event2.target)); }, "isOutsideClicked"), overlayRef: /* @__PURE__ */ __name(function overlayRef5(el) { @@ -22227,10 +21844,10 @@ var script$6 = { }, components: { TSTree: script$1U, - Chip: script$1t, - Portal: script$1f, - ChevronDownIcon: script$1k, - TimesIcon: script$1g + Chip: script$1s, + Portal: script$1m, + ChevronDownIcon: script$1h, + TimesIcon: script$1q }, directives: { ripple: Ripple @@ -22526,12 +22143,12 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$5, "render$5"); script$6.render = render$5; -var theme40 = /* @__PURE__ */ __name(function theme41(_ref) { +var theme39 = /* @__PURE__ */ __name(function theme40(_ref) { var dt = _ref.dt; return "\n.p-treetable {\n position: relative;\n}\n\n.p-treetable-table {\n border-spacing: 0;\n border-collapse: separate;\n width: 100%;\n}\n\n.p-treetable-scrollable > .p-treetable-table-container {\n position: relative;\n}\n\n.p-treetable-scrollable-table > .p-treetable-thead {\n inset-block-start: 0;\n z-index: 1;\n}\n\n.p-treetable-scrollable-table > .p-treetable-frozen-tbody {\n position: sticky;\n z-index: 1;\n}\n\n.p-treetable-scrollable-table > .p-treetable-tfoot {\n inset-block-end: 0;\n z-index: 1;\n}\n\n.p-treetable-scrollable .p-treetable-frozen-column {\n position: sticky;\n background: ".concat(dt("treetable.header.cell.background"), ";\n}\n\n.p-treetable-scrollable th.p-treetable-frozen-column {\n z-index: 1;\n}\n\n.p-treetable-scrollable > .p-treetable-table-container > .p-treetable-table > .p-treetable-thead {\n background: ").concat(dt("treetable.header.cell.background"), ";\n}\n\n.p-treetable-scrollable > .p-treetable-table-container > .p-treetable-table > .p-treetable-tfoot {\n background: ").concat(dt("treetable.footer.cell.background"), ";\n}\n\n.p-treetable-flex-scrollable {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.p-treetable-flex-scrollable > .p-treetable-table-container {\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n}\n\n.p-treetable-scrollable-table > .p-treetable-tbody > .p-treetable-row-group-header {\n position: sticky;\n z-index: 1;\n}\n\n.p-treetable-resizable-table > .p-treetable-thead > tr > th,\n.p-treetable-resizable-table > .p-treetable-tfoot > tr > td,\n.p-treetable-resizable-table > .p-treetable-tbody > tr > td {\n overflow: hidden;\n white-space: nowrap;\n}\n\n.p-treetable-resizable-table > .p-treetable-thead > tr > th.p-treetable-resizable-column:not(.p-treetable-frozen-column) {\n background-clip: padding-box;\n position: relative;\n}\n\n.p-treetable-resizable-table-fit > .p-treetable-thead > tr > th.p-treetable-resizable-column:last-child .p-treetable-column-resizer {\n display: none;\n}\n\n.p-treetable-column-resizer {\n display: block;\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n margin: 0;\n width: ").concat(dt("treetable.column.resizer.width"), ";\n height: 100%;\n padding: 0;\n cursor: col-resize;\n border: 1px solid transparent;\n}\n\n.p-treetable-column-header-content {\n display: flex;\n align-items: center;\n gap: ").concat(dt("treetable.header.cell.gap"), ";\n}\n\n.p-treetable-column-resize-indicator {\n width: ").concat(dt("treetable.resize.indicator.width"), ";\n position: absolute;\n z-index: 10;\n display: none;\n background: ").concat(dt("treetable.resize.indicator.color"), ";\n}\n\n.p-treetable-mask {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n}\n\n.p-treetable-paginator-top {\n border-color: ").concat(dt("treetable.paginator.top.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("treetable.paginator.top.border.width"), ";\n}\n\n.p-treetable-paginator-bottom {\n border-color: ").concat(dt("treetable.paginator.bottom.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("treetable.paginator.bottom.border.width"), ";\n}\n\n.p-treetable-header {\n background: ").concat(dt("treetable.header.background"), ";\n color: ").concat(dt("treetable.header.color"), ";\n border-color: ").concat(dt("treetable.header.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("treetable.header.border.width"), ";\n padding: ").concat(dt("treetable.header.padding"), ";\n}\n\n.p-treetable-footer {\n background: ").concat(dt("treetable.footer.background"), ";\n color: ").concat(dt("treetable.footer.color"), ";\n border-color: ").concat(dt("treetable.footer.border.color"), ";\n border-style: solid;\n border-width: ").concat(dt("treetable.footer.border.width"), ";\n padding: ").concat(dt("treetable.footer.padding"), ";\n}\n\n.p-treetable-header-cell {\n padding: ").concat(dt("treetable.header.cell.padding"), ";\n background: ").concat(dt("treetable.header.cell.background"), ";\n border-color: ").concat(dt("treetable.header.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ").concat(dt("treetable.header.cell.color"), ";\n font-weight: normal;\n text-align: start;\n transition: background ").concat(dt("treetable.transition.duration"), ", color ").concat(dt("treetable.transition.duration"), ", border-color ").concat(dt("treetable.transition.duration"), ",\n outline-color ").concat(dt("treetable.transition.duration"), ", box-shadow ").concat(dt("treetable.transition.duration"), ";\n}\n\n.p-treetable-column-title {\n font-weight: ").concat(dt("treetable.column.title.font.weight"), ";\n}\n\n.p-treetable-tbody > tr {\n outline-color: transparent;\n background: ").concat(dt("treetable.row.background"), ";\n color: ").concat(dt("treetable.row.color"), ";\n transition: background ").concat(dt("treetable.transition.duration"), ", color ").concat(dt("treetable.transition.duration"), ", border-color ").concat(dt("treetable.transition.duration"), ",\n outline-color ").concat(dt("treetable.transition.duration"), ", box-shadow ").concat(dt("treetable.transition.duration"), ";\n}\n\n.p-treetable-tbody > tr > td {\n text-align: start;\n border-color: ").concat(dt("treetable.body.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n padding: ").concat(dt("treetable.body.cell.padding"), ";\n}\n\n.p-treetable-hoverable .p-treetable-tbody > tr:not(.p-treetable-row-selected):hover {\n background: ").concat(dt("treetable.row.hover.background"), ";\n color: ").concat(dt("treetable.row.hover.color"), ";\n}\n\n.p-treetable-tbody > tr.p-treetable-row-selected {\n background: ").concat(dt("treetable.row.selected.background"), ";\n color: ").concat(dt("treetable.row.selected.color"), ";\n}\n\n.p-treetable-tbody > tr:has(+ .p-treetable-row-selected) > td {\n border-block-end-color: ").concat(dt("treetable.body.cell.selected.border.color"), ";\n}\n\n.p-treetable-tbody > tr.p-treetable-row-selected > td {\n border-block-end-color: ").concat(dt("treetable.body.cell.selected.border.color"), ";\n}\n\n.p-treetable-tbody > tr:focus-visible,\n.p-treetable-tbody > tr.p-treetable-contextmenu-row-selected {\n box-shadow: ").concat(dt("treetable.row.focus.ring.shadow"), ";\n outline: ").concat(dt("treetable.row.focus.ring.width"), " ").concat(dt("treetable.row.focus.ring.style"), " ").concat(dt("treetable.row.focus.ring.color"), ";\n outline-offset: ").concat(dt("treetable.row.focus.ring.offset"), ";\n}\n\n.p-treetable-tfoot > tr > td {\n text-align: start;\n padding: ").concat(dt("treetable.footer.cell.padding"), ";\n border-color: ").concat(dt("treetable.footer.cell.border.color"), ";\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ").concat(dt("treetable.footer.cell.color"), ";\n background: ").concat(dt("treetable.footer.cell.background"), ";\n}\n\n.p-treetable-column-footer {\n font-weight: ").concat(dt("treetable.column.footer.font.weight"), ";\n}\n\n.p-treetable-sortable-column {\n cursor: pointer;\n user-select: none;\n outline-color: transparent;\n}\n\n.p-treetable-column-title,\n.p-treetable-sort-icon,\n.p-treetable-sort-badge {\n vertical-align: middle;\n}\n\n.p-treetable-sort-icon {\n color: ").concat(dt("treetable.sort.icon.color"), ";\n font-size: ").concat(dt("treetable.sort.icon.size"), ";\n width: ").concat(dt("treetable.sort.icon.size"), ";\n height: ").concat(dt("treetable.sort.icon.size"), ";\n transition: color ").concat(dt("treetable.transition.duration"), ";\n}\n\n.p-treetable-sortable-column:not(.p-treetable-column-sorted):hover {\n background: ").concat(dt("treetable.header.cell.hover.background"), ";\n color: ").concat(dt("treetable.header.cell.hover.color"), ";\n}\n\n.p-treetable-sortable-column:not(.p-treetable-column-sorted):hover .p-treetable-sort-icon {\n color: ").concat(dt("treetable.sort.icon.hover.color"), ";\n}\n\n.p-treetable-column-sorted {\n background: ").concat(dt("treetable.header.cell.selected.background"), ";\n color: ").concat(dt("treetable.header.cell.selected.color"), ";\n}\n\n.p-treetable-column-sorted .p-treetable-sort-icon {\n color: ").concat(dt("treetable.header.cell.selected.color"), ";\n}\n\n.p-treetable-sortable-column:focus-visible {\n box-shadow: ").concat(dt("treetable.header.cell.focus.ring.shadow"), ";\n outline: ").concat(dt("treetable.header.cell.focus.ring.width"), " ").concat(dt("treetable.header.cell.focus.ring.style"), " ").concat(dt("treetable.header.cell.focus.ring.color"), ";\n outline-offset: ").concat(dt("treetable.header.cell.focus.ring.offset"), ";\n}\n\n.p-treetable-hoverable .p-treetable-selectable-row {\n cursor: pointer;\n}\n\n.p-treetable-loading-icon {\n font-size: ").concat(dt("treetable.loading.icon.size"), ";\n width: ").concat(dt("treetable.loading.icon.size"), ";\n height: ").concat(dt("treetable.loading.icon.size"), ";\n}\n\n.p-treetable-gridlines .p-treetable-header {\n border-width: 1px 1px 0 1px;\n}\n\n.p-treetable-gridlines .p-treetable-footer {\n border-width: 0 1px 1px 1px;\n}\n\n.p-treetable-gridlines .p-treetable-paginator-top {\n border-width: 1px 1px 0 1px;\n}\n\n.p-treetable-gridlines .p-treetable-paginator-bottom {\n border-width: 0 1px 1px 1px;\n}\n\n.p-treetable-gridlines .p-treetable-thead > tr > th {\n border-width: 1px 0 1px 1px;\n}\n\n.p-treetable-gridlines .p-treetable-thead > tr > th:last-child {\n border-width: 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tbody > tr > td {\n border-width: 1px 0 0 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tbody > tr > td:last-child {\n border-width: 1px 1px 0 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tbody > tr:last-child > td {\n border-width: 1px 0 1px 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tbody > tr:last-child > td:last-child {\n border-width: 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tfoot > tr > td {\n border-width: 1px 0 1px 1px;\n}\n\n.p-treetable-gridlines .p-treetable-tfoot > tr > td:last-child {\n border-width: 1px 1px 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines .p-treetable-thead + .p-treetable-tfoot > tr > td {\n border-width: 0 0 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines .p-treetable-thead + .p-treetable-tfoot > tr > td:last-child {\n border-width: 0 1px 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines:has(.p-treetable-thead):has(.p-treetable-tbody) .p-treetable-tbody > tr > td {\n border-width: 0 0 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines:has(.p-treetable-thead):has(.p-treetable-tbody) .p-treetable-tbody > tr > td:last-child {\n border-width: 0 1px 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines:has(.p-treetable-tbody):has(.p-treetable-tfoot) .p-treetable-tbody > tr:last-child > td {\n border-width: 0 0 0 1px;\n}\n\n.p-treetable.p-treetable-gridlines:has(.p-treetable-tbody):has(.p-treetable-tfoot) .p-treetable-tbody > tr:last-child > td:last-child {\n border-width: 0 1px 0 1px;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-header {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-thead > tr > th {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-tbody > tr > td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-footer {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-header {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-thead > tr > th {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-tbody > tr > td {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-footer {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable-body-cell-content {\n display: flex;\n align-items: center;\n gap: ").concat(dt("treetable.body.cell.gap"), ";\n}\n\n.p-treetable-tbody > tr.p-treetable-row-selected .p-treetable-node-toggle-button {\n color: inherit;\n}\n\n.p-treetable-node-toggle-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("treetable.node.toggle.button.size"), ";\n height: ").concat(dt("treetable.node.toggle.button.size"), ";\n color: ").concat(dt("treetable.node.toggle.button.color"), ";\n border: 0 none;\n background: transparent;\n cursor: pointer;\n border-radius: ").concat(dt("treetable.node.toggle.button.border.radius"), ";\n transition: background ").concat(dt("treetable.transition.duration"), ", color ").concat(dt("treetable.transition.duration"), ", border-color ").concat(dt("treetable.transition.duration"), ",\n outline-color ").concat(dt("treetable.transition.duration"), ", box-shadow ").concat(dt("treetable.transition.duration"), ";\n outline-color: transparent;\n user-select: none;\n}\n\n.p-treetable-node-toggle-button:enabled:hover {\n color: ").concat(dt("treetable.node.toggle.button.hover.color"), ";\n background: ").concat(dt("treetable.node.toggle.button.hover.background"), ";\n}\n\n.p-treetable-tbody > tr.p-treetable-row-selected .p-treetable-node-toggle-button:hover {\n background: ").concat(dt("treetable.node.toggle.button.selected.hover.background"), ";\n color: ").concat(dt("treetable.node.toggle.button.selected.hover.color"), ";\n}\n\n.p-treetable-node-toggle-button:focus-visible {\n box-shadow: ").concat(dt("treetable.node.toggle.button.focus.ring.shadow"), ";\n outline: ").concat(dt("treetable.node.toggle.button.focus.ring.width"), " ").concat(dt("treetable.node.toggle.button.focus.ring.style"), " ").concat(dt("treetable.node.toggle.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("treetable.node.toggle.button.focus.ring.offset"), ";\n}\n\n.p-treetable-node-toggle-icon:dir(rtl) {\n transform: rotate(180deg);\n}\n"); }, "theme"); var classes = { - root: /* @__PURE__ */ __name(function root34(_ref2) { + root: /* @__PURE__ */ __name(function root33(_ref2) { var instance = _ref2.instance, props = _ref2.props; return ["p-treetable p-component", { "p-treetable-hoverable": props.rowHover || instance.rowSelectionMode, @@ -22624,13 +22241,13 @@ var inlineStyles = { }; var TreeTableStyle = BaseStyle.extend({ name: "treetable", - theme: theme40, + theme: theme39, classes, inlineStyles }); var script$5 = { name: "BaseTreeTable", - "extends": script$1d, + "extends": script$1f, props: { value: { type: null, @@ -22806,7 +22423,7 @@ var script$5 = { } }, style: TreeTableStyle, - provide: /* @__PURE__ */ __name(function provide51() { + provide: /* @__PURE__ */ __name(function provide50() { return { $pcTreeTable: this, $parentInstance: this @@ -22816,7 +22433,7 @@ var script$5 = { var script$4 = { name: "FooterCell", hostName: "TreeTable", - "extends": script$1d, + "extends": script$1f, props: { column: { type: Object, @@ -22827,7 +22444,7 @@ var script$4 = { "default": null } }, - data: /* @__PURE__ */ __name(function data37() { + data: /* @__PURE__ */ __name(function data36() { return { styleObject: {} }; @@ -22837,7 +22454,7 @@ var script$4 = { this.updateStickyPosition(); } }, "mounted"), - updated: /* @__PURE__ */ __name(function updated10() { + updated: /* @__PURE__ */ __name(function updated9() { if (this.columnProp("frozen")) { this.updateStickyPosition(); } @@ -22973,7 +22590,7 @@ script$4.render = render$4; var script$3 = { name: "HeaderCell", hostName: "TreeTable", - "extends": script$1d, + "extends": script$1f, emits: ["column-click", "column-resizestart"], props: { column: { @@ -23005,7 +22622,7 @@ var script$3 = { "default": null } }, - data: /* @__PURE__ */ __name(function data38() { + data: /* @__PURE__ */ __name(function data37() { return { styleObject: {} }; @@ -23015,7 +22632,7 @@ var script$3 = { this.updateStickyPosition(); } }, "mounted"), - updated: /* @__PURE__ */ __name(function updated11() { + updated: /* @__PURE__ */ __name(function updated10() { if (this.columnProp("frozen")) { this.updateStickyPosition(); } @@ -23158,7 +22775,7 @@ var script$3 = { }, "ariaSort") }, components: { - Badge: script$1z, + Badge: script$1y, SortAltIcon: script$1V, SortAmountUpAltIcon: script$1W, SortAmountDownIcon: script$1X @@ -23269,7 +22886,7 @@ script$3.render = render$3; var script$2 = { name: "BodyCell", hostName: "TreeTable", - "extends": script$1d, + "extends": script$1f, emits: ["node-toggle", "checkbox-toggle"], props: { node: { @@ -23321,7 +22938,7 @@ var script$2 = { "default": "mask" } }, - data: /* @__PURE__ */ __name(function data39() { + data: /* @__PURE__ */ __name(function data38() { return { styleObject: {} }; @@ -23331,7 +22948,7 @@ var script$2 = { this.updateStickyPosition(); } }, "mounted"), - updated: /* @__PURE__ */ __name(function updated12() { + updated: /* @__PURE__ */ __name(function updated11() { if (this.columnProp("frozen")) { this.updateStickyPosition(); } @@ -23433,12 +23050,12 @@ var script$2 = { }, "checkboxSelectionMode") }, components: { - Checkbox: script$1J, - ChevronRightIcon: script$1l, - ChevronDownIcon: script$1k, - CheckIcon: script$1D, - MinusIcon: script$1y, - SpinnerIcon: script$1r + Checkbox: script$1I, + ChevronRightIcon: script$1i, + ChevronDownIcon: script$1h, + CheckIcon: script$1C, + MinusIcon: script$1x, + SpinnerIcon: script$1p }, directives: { ripple: Ripple @@ -23696,7 +23313,7 @@ __name(_arrayLikeToArray$1, "_arrayLikeToArray$1"); var script$1 = { name: "TreeTableRow", hostName: "TreeTable", - "extends": script$1d, + "extends": script$1f, emits: ["node-click", "node-toggle", "checkbox-change", "nodeClick", "nodeToggle", "checkboxChange", "row-rightclick", "rowRightclick"], props: { node: { @@ -24297,12 +23914,12 @@ var script = { "extends": script$5, inheritAttrs: false, emits: ["node-expand", "node-collapse", "update:expandedKeys", "update:selectionKeys", "node-select", "node-unselect", "update:first", "update:rows", "page", "update:sortField", "update:sortOrder", "update:multiSortMeta", "sort", "filter", "column-resize-end", "update:contextMenuSelection", "row-contextmenu"], - provide: /* @__PURE__ */ __name(function provide52() { + provide: /* @__PURE__ */ __name(function provide51() { return { $columns: this.d_columns }; }, "provide"), - data: /* @__PURE__ */ __name(function data40() { + data: /* @__PURE__ */ __name(function data39() { return { d_expandedKeys: this.expandedKeys || {}, d_first: this.first, @@ -24340,7 +23957,7 @@ var script = { this.d_multiSortMeta = newValue; }, "multiSortMeta") }, - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount18() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount17() { this.destroyStyleElement(); this.d_columns.clear(); }, "beforeUnmount"), @@ -24857,32 +24474,32 @@ var script = { return this.value; } else { if (this.value && this.value.length) { - var data41 = this.value; + var data40 = this.value; if (this.sorted) { - if (this.sortMode === "single") data41 = this.sortSingle(data41); - else if (this.sortMode === "multiple") data41 = this.sortMultiple(data41); + if (this.sortMode === "single") data40 = this.sortSingle(data40); + else if (this.sortMode === "multiple") data40 = this.sortMultiple(data40); } if (this.hasFilters()) { - data41 = this.filter(data41); + data40 = this.filter(data40); } - return data41; + return data40; } else { return null; } } }, "processedData"), dataToRender: /* @__PURE__ */ __name(function dataToRender() { - var data41 = this.processedData; + var data40 = this.processedData; if (this.paginator) { var first3 = this.lazy ? 0 : this.d_first; - return data41.slice(first3, first3 + this.d_rows); + return data40.slice(first3, first3 + this.d_rows); } else { - return data41; + return data40; } }, "dataToRender"), empty: /* @__PURE__ */ __name(function empty2() { - var data41 = this.processedData; - return !data41 || data41.length === 0; + var data40 = this.processedData; + return !data40 || data40.length === 0; }, "empty"), sorted: /* @__PURE__ */ __name(function sorted() { return this.d_sortField || this.d_multiSortMeta && this.d_multiSortMeta.length > 0; @@ -24924,17 +24541,17 @@ var script = { if (this.lazy) { return this.totalRecords; } else { - var data41 = this.processedData; - return data41 ? data41.length : 0; + var data40 = this.processedData; + return data40 ? data40.length : 0; } }, "totalRecordsLength") }, components: { TTRow: script$1, - TTPaginator: script$1u, + TTPaginator: script$1t, TTHeaderCell: script$3, TTFooterCell: script$4, - SpinnerIcon: script$1r + SpinnerIcon: script$1p } }; function _typeof(o) { @@ -25514,7 +25131,7 @@ const useMaintenanceTaskStore = defineStore("maintenanceTask", () => { () => tasks.value.filter((task) => task.isInstallationFix).some((task) => getRunner(task)?.executing) ); const tasks = ref(DESKTOP_MAINTENANCE_TASKS); - const taskStates = ref( + const taskRunners = ref( new Map( DESKTOP_MAINTENANCE_TASKS.map((x) => [x.id, new MaintenanceTaskRunner(x)]) ) @@ -25522,7 +25139,7 @@ const useMaintenanceTaskStore = defineStore("maintenanceTask", () => { const anyErrors = computed( () => tasks.value.some((task) => getRunner(task).state === "error") ); - const getRunner = /* @__PURE__ */ __name((task) => taskStates.value.get(task.id), "getRunner"); + const getRunner = /* @__PURE__ */ __name((task) => taskRunners.value.get(task.id), "getRunner"); const processUpdate = /* @__PURE__ */ __name((validationUpdate) => { const update = validationUpdate; isRefreshing.value = true; @@ -25627,7 +25244,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ ]), footer: withCtx(() => [ createBaseVNode("div", _hoisted_3$3, [ - createVNode(unref(script$1e), { + createVNode(unref(script$1d), { icon: _ctx.task.button?.icon, label: _ctx.task.button?.text, class: "w-full", @@ -25676,7 +25293,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ const props = __props; return (_ctx, _cache) => { const _directive_tooltip = resolveDirective("tooltip"); - return !_ctx.state || _ctx.loading ? (openBlock(), createBlock(unref(script$1h), { + return !_ctx.state || _ctx.loading ? (openBlock(), createBlock(unref(script$1c), { key: 0, class: "h-8 w-8" })) : withDirectives((openBlock(), createElementBlock("i", { @@ -25733,7 +25350,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ ]), createBaseVNode("td", null, [ createBaseVNode("p", _hoisted_2$2, toDisplayString(_ctx.task.name), 1), - createVNode(unref(script$1e), { + createVNode(unref(script$1d), { class: "inline-block mx-2", type: "button", icon: unref(PrimeIcons).INFO_CIRCLE, @@ -25741,7 +25358,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ text: true, onClick: toggle6 }, null, 8, ["icon"]), - createVNode(unref(script$1Q), { + createVNode(unref(script$1P), { ref_key: "infoPopover", ref: infoPopover, class: "block m-1 max-w-64 min-w-32" @@ -25753,7 +25370,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ }, 512) ]), createBaseVNode("td", _hoisted_4$2, [ - createVNode(unref(script$1e), { + createVNode(unref(script$1d), { icon: _ctx.task.button?.icon, label: _ctx.task.button?.text, severity: severity.value, @@ -25856,13 +25473,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ }; } }); -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 pointer-events-auto overflow-y-auto" }; +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: "w-full flex flex-wrap gap-4 items-center" }; -const _hoisted_4 = { class: "grow" }; -const _hoisted_5 = { class: "flex gap-4 items-center" }; -const _hoisted_6 = { class: "max-sm:hidden" }; -const _hoisted_7 = { class: "flex justify-between gap-4 flex-row" }; +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) { @@ -25891,22 +25509,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ if (alertOnFail && !isValid) { toast.add({ severity: "error", - summary: "Error", - detail: "Unable to continue - errors remain", + summary: t("g.error"), + detail: t("maintenance.error.cannotContinue"), life: 5e3 }); } }, "completeValidation"); - const terminalCreated = /* @__PURE__ */ __name(({ terminal, useAutoSize }, root35) => { - useAutoSize({ root: root35, autoRows: true, autoCols: true }); - electron2.onLogMessage((message) => { - terminal.write(message); - }); - terminal.options.cursorBlink = false; - terminal.options.cursorStyle = "bar"; - terminal.options.cursorInactiveStyle = "bar"; - terminal.options.disableStdin = true; - }, "terminalCreated"); const toggleConsoleDrawer = /* @__PURE__ */ __name(() => { terminalVisible.value = !terminalVisible.value; }, "toggleConsoleDrawer"); @@ -25929,20 +25537,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ }); onUnmounted(() => electron2.Validation.dispose()); return (_ctx, _cache) => { - return openBlock(), createBlock(_sfc_main$7, { dark: "" }, { + return openBlock(), createBlock(_sfc_main$8, { dark: "" }, { default: withCtx(() => [ createBaseVNode("div", _hoisted_1, [ createBaseVNode("div", _hoisted_2, [ - _cache[6] || (_cache[6] = createBaseVNode("h1", { class: "backspan pi-wrench text-4xl font-bold" }, "Maintenance", -1)), - createBaseVNode("div", _hoisted_3, [ - createBaseVNode("span", _hoisted_4, [ - _cache[5] || (_cache[5] = createTextVNode(" Status: ")), + 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_5, [ + createBaseVNode("div", _hoisted_6, [ createVNode(unref(script$1$), { modelValue: displayAsList.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => displayAsList.value = $event), @@ -25970,7 +25578,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ createBaseVNode("i", { class: normalizeClass(opts.option.icon) }, null, 2), - createBaseVNode("span", _hoisted_6, toDisplayString(opts.option.value), 1) + createBaseVNode("span", _hoisted_7, toDisplayString(opts.option.value), 1) ]), _: 1 }, 8, ["modelValue", "options", "onChange"]), @@ -25988,36 +25596,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ displayAsList: displayAsList.value, isRefreshing: unref(isRefreshing) }, null, 8, ["filter", "displayAsList", "isRefreshing"]), - createBaseVNode("div", _hoisted_7, [ - createVNode(unref(script$1e), { - label: "Console Logs", + createBaseVNode("div", _hoisted_8, [ + createVNode(unref(script$1d), { + label: unref(t)("maintenance.consoleLogs"), icon: "pi pi-desktop", "icon-pos": "left", severity: "secondary", onClick: toggleConsoleDrawer - }), - createVNode(unref(script$1e), { - label: "Continue", + }, null, 8, ["label"]), + createVNode(unref(script$1d), { + 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, ["severity", "loading"]) + }, null, 8, ["label", "severity", "loading"]) ]) ]), - createVNode(unref(script$1c), { - visible: terminalVisible.value, - "onUpdate:visible": _cache[4] || (_cache[4] = ($event) => terminalVisible.value = $event), - header: "Terminal", - position: "bottom", - style: { "height": "max(50vh, 34rem)" } - }, { - default: withCtx(() => [ - createVNode(BaseTerminal, { onCreated: terminalCreated }) - ]), - _: 1 - }, 8, ["visible"]), + 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$20)) ]) ]), @@ -26026,8 +25628,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ }; } }); -const MaintenanceView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-74b78f7d"]]); +const MaintenanceView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-dd50a7dd"]]); export { MaintenanceView as default }; -//# sourceMappingURL=MaintenanceView-Df7CHNWW.js.map +//# sourceMappingURL=MaintenanceView-BUmTZX1d.js.map diff --git a/web/assets/MaintenanceView-Bj5_Vr6o.css b/web/assets/MaintenanceView-DEJCj8SR.css similarity index 95% rename from web/assets/MaintenanceView-Bj5_Vr6o.css rename to web/assets/MaintenanceView-DEJCj8SR.css index 22e37c41d..c12b64c90 100644 --- a/web/assets/MaintenanceView-Bj5_Vr6o.css +++ b/web/assets/MaintenanceView-DEJCj8SR.css @@ -63,10 +63,10 @@ } } -[data-v-74b78f7d] .p-tag { +[data-v-dd50a7dd] .p-tag { --p-tag-gap: 0.375rem; } -.backspan[data-v-74b78f7d]::before { +.backspan[data-v-dd50a7dd]::before { position: absolute; margin: 0px; color: var(--p-text-muted-color); diff --git a/web/assets/ManualConfigurationView-Cz0_f_T-.js b/web/assets/ManualConfigurationView-D3on5kXY.js similarity index 92% rename from web/assets/ManualConfigurationView-Cz0_f_T-.js rename to web/assets/ManualConfigurationView-D3on5kXY.js index bd81747f1..bcb4cdaa8 100644 --- a/web/assets/ManualConfigurationView-Cz0_f_T-.js +++ b/web/assets/ManualConfigurationView-D3on5kXY.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqqhYDnY.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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-DqXp9vW4.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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" }; @@ -71,4 +71,4 @@ const ManualConfigurationView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scop export { ManualConfigurationView as default }; -//# sourceMappingURL=ManualConfigurationView-Cz0_f_T-.js.map +//# sourceMappingURL=ManualConfigurationView-D3on5kXY.js.map diff --git a/web/assets/MetricsConsentView-B5NlgqrS.js b/web/assets/MetricsConsentView-DK20ednB.js similarity index 88% rename from web/assets/MetricsConsentView-B5NlgqrS.js rename to web/assets/MetricsConsentView-DK20ednB.js index 73800290f..e887d63b3 100644 --- a/web/assets/MetricsConsentView-B5NlgqrS.js +++ b/web/assets/MetricsConsentView-DK20ednB.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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-DqqhYDnY.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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-DqXp9vW4.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" }; @@ -83,4 +83,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=MetricsConsentView-B5NlgqrS.js.map +//# sourceMappingURL=MetricsConsentView-DK20ednB.js.map diff --git a/web/assets/NotSupportedView-BUpntA4x.js b/web/assets/NotSupportedView-BzM0uuqA.js similarity index 95% rename from web/assets/NotSupportedView-BUpntA4x.js rename to web/assets/NotSupportedView-BzM0uuqA.js index 51a34c8a1..532b19abf 100644 --- a/web/assets/NotSupportedView-BUpntA4x.js +++ b/web/assets/NotSupportedView-BzM0uuqA.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqqhYDnY.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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-DqXp9vW4.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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" }; @@ -83,4 +83,4 @@ const NotSupportedView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", " export { NotSupportedView as default }; -//# sourceMappingURL=NotSupportedView-BUpntA4x.js.map +//# sourceMappingURL=NotSupportedView-BzM0uuqA.js.map diff --git a/web/assets/ServerConfigPanel-B1lI5M9c.js b/web/assets/ServerConfigPanel-D0jTW_iX.js similarity index 94% rename from web/assets/ServerConfigPanel-B1lI5M9c.js rename to web/assets/ServerConfigPanel-D0jTW_iX.js index 6a8c27a8d..cd7194db4 100644 --- a/web/assets/ServerConfigPanel-B1lI5M9c.js +++ b/web/assets/ServerConfigPanel-D0jTW_iX.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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, dy 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, dz as FormItem, dn as _sfc_main$1, b5 as electronAPI } from "./index-DqqhYDnY.js"; -import { u as useServerConfigStore } from "./serverConfigStore-Kb5DJVFt.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-DqXp9vW4.js"; +import { u as useServerConfigStore } from "./serverConfigStore-C8uoM7Sm.js"; const _hoisted_1$1 = { viewBox: "0 0 24 24", width: "1.2em", @@ -153,4 +153,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ServerConfigPanel-B1lI5M9c.js.map +//# sourceMappingURL=ServerConfigPanel-D0jTW_iX.js.map diff --git a/web/assets/ServerStartView-BpH4TXPO.js b/web/assets/ServerStartView-BENqs5bD.js similarity index 92% rename from web/assets/ServerStartView-BpH4TXPO.js rename to web/assets/ServerStartView-BENqs5bD.js index 6796222b9..2e154ee90 100644 --- a/web/assets/ServerStartView-BpH4TXPO.js +++ b/web/assets/ServerStartView-BENqs5bD.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqqhYDnY.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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-DqXp9vW4.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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 }; @@ -93,8 +93,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ }; } }); -const ServerStartView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4140d62b"]]); +const ServerStartView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e6ba9633"]]); export { ServerStartView as default }; -//# sourceMappingURL=ServerStartView-BpH4TXPO.js.map +//# sourceMappingURL=ServerStartView-BENqs5bD.js.map diff --git a/web/assets/ServerStartView-CJiwVDQY.css b/web/assets/ServerStartView-BZ7uhZHv.css similarity index 64% rename from web/assets/ServerStartView-CJiwVDQY.css rename to web/assets/ServerStartView-BZ7uhZHv.css index 7d53a927c..778134b72 100644 --- a/web/assets/ServerStartView-CJiwVDQY.css +++ b/web/assets/ServerStartView-BZ7uhZHv.css @@ -1,5 +1,5 @@ -[data-v-4140d62b] .xterm-helper-textarea { +[data-v-e6ba9633] .xterm-helper-textarea { /* Hide this as it moves all over when uv is running */ display: none; } diff --git a/web/assets/TerminalOutputDrawer-BgTEspHP.js b/web/assets/TerminalOutputDrawer-BgTEspHP.js new file mode 100644 index 000000000..786fe62f1 --- /dev/null +++ b/web/assets/TerminalOutputDrawer-BgTEspHP.js @@ -0,0 +1,1061 @@ +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-DqXp9vW4.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; +var addonSerialize$2 = { exports: {} }; +var addonSerialize = addonSerialize$2.exports; +(function(module, exports) { + !function(e, t) { + true ? module.exports = t() : false ? (void 0)([], t) : true ? exports.SerializeAddon = t() : e.SerializeAddon = t(); + }(commonjsGlobal, () => (() => { + "use strict"; + var e = { 930: (e2, t2, s2) => { + Object.defineProperty(t2, "__esModule", { value: true }), t2.ColorContrastCache = void 0; + const r2 = s2(485); + t2.ColorContrastCache = class { + constructor() { + this._color = new r2.TwoKeyMap(), this._css = new r2.TwoKeyMap(); + } + setCss(e3, t3, s3) { + this._css.set(e3, t3, s3); + } + getCss(e3, t3) { + return this._css.get(e3, t3); + } + setColor(e3, t3, s3) { + this._color.set(e3, t3, s3); + } + getColor(e3, t3) { + return this._color.get(e3, t3); + } + clear() { + this._color.clear(), this._css.clear(); + } + }; + }, 997: function(e2, t2, s2) { + var r2 = this && this.__decorate || function(e3, t3, s3, r3) { + var o2, i2 = arguments.length, n2 = i2 < 3 ? t3 : null === r3 ? r3 = Object.getOwnPropertyDescriptor(t3, s3) : r3; + if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) n2 = Reflect.decorate(e3, t3, s3, r3); + else for (var l2 = e3.length - 1; l2 >= 0; l2--) (o2 = e3[l2]) && (n2 = (i2 < 3 ? o2(n2) : i2 > 3 ? o2(t3, s3, n2) : o2(t3, s3)) || n2); + return i2 > 3 && n2 && Object.defineProperty(t3, s3, n2), n2; + }, o = this && this.__param || function(e3, t3) { + return function(s3, r3) { + t3(s3, r3, e3); + }; + }; + Object.defineProperty(t2, "__esModule", { value: true }), t2.ThemeService = t2.DEFAULT_ANSI_COLORS = void 0; + const i = s2(930), n = s2(160), l = s2(345), a = s2(859), c = s2(97), h = n.css.toColor("#ffffff"), u = n.css.toColor("#000000"), _ = n.css.toColor("#ffffff"), d = n.css.toColor("#000000"), C = { css: "rgba(255, 255, 255, 0.3)", rgba: 4294967117 }; + t2.DEFAULT_ANSI_COLORS = Object.freeze((() => { + const e3 = [n.css.toColor("#2e3436"), n.css.toColor("#cc0000"), n.css.toColor("#4e9a06"), n.css.toColor("#c4a000"), n.css.toColor("#3465a4"), n.css.toColor("#75507b"), n.css.toColor("#06989a"), n.css.toColor("#d3d7cf"), n.css.toColor("#555753"), n.css.toColor("#ef2929"), n.css.toColor("#8ae234"), n.css.toColor("#fce94f"), n.css.toColor("#729fcf"), n.css.toColor("#ad7fa8"), n.css.toColor("#34e2e2"), n.css.toColor("#eeeeec")], t3 = [0, 95, 135, 175, 215, 255]; + for (let s3 = 0; s3 < 216; s3++) { + const r3 = t3[s3 / 36 % 6 | 0], o2 = t3[s3 / 6 % 6 | 0], i2 = t3[s3 % 6]; + e3.push({ css: n.channels.toCss(r3, o2, i2), rgba: n.channels.toRgba(r3, o2, i2) }); + } + for (let t4 = 0; t4 < 24; t4++) { + const s3 = 8 + 10 * t4; + e3.push({ css: n.channels.toCss(s3, s3, s3), rgba: n.channels.toRgba(s3, s3, s3) }); + } + return e3; + })()); + let f = t2.ThemeService = class extends a.Disposable { + get colors() { + return this._colors; + } + constructor(e3) { + super(), this._optionsService = e3, this._contrastCache = new i.ColorContrastCache(), this._halfContrastCache = new i.ColorContrastCache(), this._onChangeColors = this.register(new l.EventEmitter()), this.onChangeColors = this._onChangeColors.event, this._colors = { foreground: h, background: u, cursor: _, cursorAccent: d, selectionForeground: void 0, selectionBackgroundTransparent: C, selectionBackgroundOpaque: n.color.blend(u, C), selectionInactiveBackgroundTransparent: C, selectionInactiveBackgroundOpaque: n.color.blend(u, C), ansi: t2.DEFAULT_ANSI_COLORS.slice(), contrastCache: this._contrastCache, halfContrastCache: this._halfContrastCache }, this._updateRestoreColors(), this._setTheme(this._optionsService.rawOptions.theme), this.register(this._optionsService.onSpecificOptionChange("minimumContrastRatio", () => this._contrastCache.clear())), this.register(this._optionsService.onSpecificOptionChange("theme", () => this._setTheme(this._optionsService.rawOptions.theme))); + } + _setTheme(e3 = {}) { + const s3 = this._colors; + if (s3.foreground = g(e3.foreground, h), s3.background = g(e3.background, u), s3.cursor = g(e3.cursor, _), s3.cursorAccent = g(e3.cursorAccent, d), s3.selectionBackgroundTransparent = g(e3.selectionBackground, C), s3.selectionBackgroundOpaque = n.color.blend(s3.background, s3.selectionBackgroundTransparent), s3.selectionInactiveBackgroundTransparent = g(e3.selectionInactiveBackground, s3.selectionBackgroundTransparent), s3.selectionInactiveBackgroundOpaque = n.color.blend(s3.background, s3.selectionInactiveBackgroundTransparent), s3.selectionForeground = e3.selectionForeground ? g(e3.selectionForeground, n.NULL_COLOR) : void 0, s3.selectionForeground === n.NULL_COLOR && (s3.selectionForeground = void 0), n.color.isOpaque(s3.selectionBackgroundTransparent)) { + const e4 = 0.3; + s3.selectionBackgroundTransparent = n.color.opacity(s3.selectionBackgroundTransparent, e4); + } + if (n.color.isOpaque(s3.selectionInactiveBackgroundTransparent)) { + const e4 = 0.3; + s3.selectionInactiveBackgroundTransparent = n.color.opacity(s3.selectionInactiveBackgroundTransparent, e4); + } + if (s3.ansi = t2.DEFAULT_ANSI_COLORS.slice(), s3.ansi[0] = g(e3.black, t2.DEFAULT_ANSI_COLORS[0]), s3.ansi[1] = g(e3.red, t2.DEFAULT_ANSI_COLORS[1]), s3.ansi[2] = g(e3.green, t2.DEFAULT_ANSI_COLORS[2]), s3.ansi[3] = g(e3.yellow, t2.DEFAULT_ANSI_COLORS[3]), s3.ansi[4] = g(e3.blue, t2.DEFAULT_ANSI_COLORS[4]), s3.ansi[5] = g(e3.magenta, t2.DEFAULT_ANSI_COLORS[5]), s3.ansi[6] = g(e3.cyan, t2.DEFAULT_ANSI_COLORS[6]), s3.ansi[7] = g(e3.white, t2.DEFAULT_ANSI_COLORS[7]), s3.ansi[8] = g(e3.brightBlack, t2.DEFAULT_ANSI_COLORS[8]), s3.ansi[9] = g(e3.brightRed, t2.DEFAULT_ANSI_COLORS[9]), s3.ansi[10] = g(e3.brightGreen, t2.DEFAULT_ANSI_COLORS[10]), s3.ansi[11] = g(e3.brightYellow, t2.DEFAULT_ANSI_COLORS[11]), s3.ansi[12] = g(e3.brightBlue, t2.DEFAULT_ANSI_COLORS[12]), s3.ansi[13] = g(e3.brightMagenta, t2.DEFAULT_ANSI_COLORS[13]), s3.ansi[14] = g(e3.brightCyan, t2.DEFAULT_ANSI_COLORS[14]), s3.ansi[15] = g(e3.brightWhite, t2.DEFAULT_ANSI_COLORS[15]), e3.extendedAnsi) { + const r3 = Math.min(s3.ansi.length - 16, e3.extendedAnsi.length); + for (let o2 = 0; o2 < r3; o2++) s3.ansi[o2 + 16] = g(e3.extendedAnsi[o2], t2.DEFAULT_ANSI_COLORS[o2 + 16]); + } + this._contrastCache.clear(), this._halfContrastCache.clear(), this._updateRestoreColors(), this._onChangeColors.fire(this.colors); + } + restoreColor(e3) { + this._restoreColor(e3), this._onChangeColors.fire(this.colors); + } + _restoreColor(e3) { + if (void 0 !== e3) switch (e3) { + case 256: + this._colors.foreground = this._restoreColors.foreground; + break; + case 257: + this._colors.background = this._restoreColors.background; + break; + case 258: + this._colors.cursor = this._restoreColors.cursor; + break; + default: + this._colors.ansi[e3] = this._restoreColors.ansi[e3]; + } + else for (let e4 = 0; e4 < this._restoreColors.ansi.length; ++e4) this._colors.ansi[e4] = this._restoreColors.ansi[e4]; + } + modifyColors(e3) { + e3(this._colors), this._onChangeColors.fire(this.colors); + } + _updateRestoreColors() { + this._restoreColors = { foreground: this._colors.foreground, background: this._colors.background, cursor: this._colors.cursor, ansi: this._colors.ansi.slice() }; + } + }; + function g(e3, t3) { + if (void 0 !== e3) try { + return n.css.toColor(e3); + } catch { + } + return t3; + } + __name(g, "g"); + t2.ThemeService = f = r2([o(0, c.IOptionsService)], f); + }, 160: (e2, t2) => { + Object.defineProperty(t2, "__esModule", { value: true }), t2.contrastRatio = t2.toPaddedHex = t2.rgba = t2.rgb = t2.css = t2.color = t2.channels = t2.NULL_COLOR = void 0; + let s2 = 0, r2 = 0, o = 0, i = 0; + var n, l, a, c, h; + function u(e3) { + const t3 = e3.toString(16); + return t3.length < 2 ? "0" + t3 : t3; + } + __name(u, "u"); + function _(e3, t3) { + return e3 < t3 ? (t3 + 0.05) / (e3 + 0.05) : (e3 + 0.05) / (t3 + 0.05); + } + __name(_, "_"); + t2.NULL_COLOR = { css: "#00000000", rgba: 0 }, function(e3) { + e3.toCss = function(e4, t3, s3, r3) { + return void 0 !== r3 ? `#${u(e4)}${u(t3)}${u(s3)}${u(r3)}` : `#${u(e4)}${u(t3)}${u(s3)}`; + }, e3.toRgba = function(e4, t3, s3, r3 = 255) { + return (e4 << 24 | t3 << 16 | s3 << 8 | r3) >>> 0; + }, e3.toColor = function(t3, s3, r3, o2) { + return { css: e3.toCss(t3, s3, r3, o2), rgba: e3.toRgba(t3, s3, r3, o2) }; + }; + }(n || (t2.channels = n = {})), function(e3) { + function t3(e4, t4) { + return i = Math.round(255 * t4), [s2, r2, o] = h.toChannels(e4.rgba), { css: n.toCss(s2, r2, o, i), rgba: n.toRgba(s2, r2, o, i) }; + } + __name(t3, "t"); + e3.blend = function(e4, t4) { + if (i = (255 & t4.rgba) / 255, 1 === i) return { css: t4.css, rgba: t4.rgba }; + const l2 = t4.rgba >> 24 & 255, a2 = t4.rgba >> 16 & 255, c2 = t4.rgba >> 8 & 255, h2 = e4.rgba >> 24 & 255, u2 = e4.rgba >> 16 & 255, _2 = e4.rgba >> 8 & 255; + return s2 = h2 + Math.round((l2 - h2) * i), r2 = u2 + Math.round((a2 - u2) * i), o = _2 + Math.round((c2 - _2) * i), { css: n.toCss(s2, r2, o), rgba: n.toRgba(s2, r2, o) }; + }, e3.isOpaque = function(e4) { + return 255 == (255 & e4.rgba); + }, e3.ensureContrastRatio = function(e4, t4, s3) { + const r3 = h.ensureContrastRatio(e4.rgba, t4.rgba, s3); + if (r3) return n.toColor(r3 >> 24 & 255, r3 >> 16 & 255, r3 >> 8 & 255); + }, e3.opaque = function(e4) { + const t4 = (255 | e4.rgba) >>> 0; + return [s2, r2, o] = h.toChannels(t4), { css: n.toCss(s2, r2, o), rgba: t4 }; + }, e3.opacity = t3, e3.multiplyOpacity = function(e4, s3) { + return i = 255 & e4.rgba, t3(e4, i * s3 / 255); + }, e3.toColorRGB = function(e4) { + return [e4.rgba >> 24 & 255, e4.rgba >> 16 & 255, e4.rgba >> 8 & 255]; + }; + }(l || (t2.color = l = {})), function(e3) { + let t3, l2; + try { + const e4 = document.createElement("canvas"); + e4.width = 1, e4.height = 1; + const s3 = e4.getContext("2d", { willReadFrequently: true }); + s3 && (t3 = s3, t3.globalCompositeOperation = "copy", l2 = t3.createLinearGradient(0, 0, 1, 1)); + } catch { + } + e3.toColor = function(e4) { + if (e4.match(/#[\da-f]{3,8}/i)) switch (e4.length) { + case 4: + return s2 = parseInt(e4.slice(1, 2).repeat(2), 16), r2 = parseInt(e4.slice(2, 3).repeat(2), 16), o = parseInt(e4.slice(3, 4).repeat(2), 16), n.toColor(s2, r2, o); + case 5: + return s2 = parseInt(e4.slice(1, 2).repeat(2), 16), r2 = parseInt(e4.slice(2, 3).repeat(2), 16), o = parseInt(e4.slice(3, 4).repeat(2), 16), i = parseInt(e4.slice(4, 5).repeat(2), 16), n.toColor(s2, r2, o, i); + case 7: + return { css: e4, rgba: (parseInt(e4.slice(1), 16) << 8 | 255) >>> 0 }; + case 9: + return { css: e4, rgba: parseInt(e4.slice(1), 16) >>> 0 }; + } + const a2 = e4.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/); + if (a2) return s2 = parseInt(a2[1]), r2 = parseInt(a2[2]), o = parseInt(a2[3]), i = Math.round(255 * (void 0 === a2[5] ? 1 : parseFloat(a2[5]))), n.toColor(s2, r2, o, i); + if (!t3 || !l2) throw new Error("css.toColor: Unsupported css format"); + if (t3.fillStyle = l2, t3.fillStyle = e4, "string" != typeof t3.fillStyle) throw new Error("css.toColor: Unsupported css format"); + if (t3.fillRect(0, 0, 1, 1), [s2, r2, o, i] = t3.getImageData(0, 0, 1, 1).data, 255 !== i) throw new Error("css.toColor: Unsupported css format"); + return { rgba: n.toRgba(s2, r2, o, i), css: e4 }; + }; + }(a || (t2.css = a = {})), function(e3) { + function t3(e4, t4, s3) { + const r3 = e4 / 255, o2 = t4 / 255, i2 = s3 / 255; + return 0.2126 * (r3 <= 0.03928 ? r3 / 12.92 : Math.pow((r3 + 0.055) / 1.055, 2.4)) + 0.7152 * (o2 <= 0.03928 ? o2 / 12.92 : Math.pow((o2 + 0.055) / 1.055, 2.4)) + 0.0722 * (i2 <= 0.03928 ? i2 / 12.92 : Math.pow((i2 + 0.055) / 1.055, 2.4)); + } + __name(t3, "t"); + e3.relativeLuminance = function(e4) { + return t3(e4 >> 16 & 255, e4 >> 8 & 255, 255 & e4); + }, e3.relativeLuminance2 = t3; + }(c || (t2.rgb = c = {})), function(e3) { + function t3(e4, t4, s3) { + const r3 = e4 >> 24 & 255, o2 = e4 >> 16 & 255, i2 = e4 >> 8 & 255; + let n2 = t4 >> 24 & 255, l3 = t4 >> 16 & 255, a2 = t4 >> 8 & 255, h2 = _(c.relativeLuminance2(n2, l3, a2), c.relativeLuminance2(r3, o2, i2)); + for (; h2 < s3 && (n2 > 0 || l3 > 0 || a2 > 0); ) n2 -= Math.max(0, Math.ceil(0.1 * n2)), l3 -= Math.max(0, Math.ceil(0.1 * l3)), a2 -= Math.max(0, Math.ceil(0.1 * a2)), h2 = _(c.relativeLuminance2(n2, l3, a2), c.relativeLuminance2(r3, o2, i2)); + return (n2 << 24 | l3 << 16 | a2 << 8 | 255) >>> 0; + } + __name(t3, "t"); + function l2(e4, t4, s3) { + const r3 = e4 >> 24 & 255, o2 = e4 >> 16 & 255, i2 = e4 >> 8 & 255; + let n2 = t4 >> 24 & 255, l3 = t4 >> 16 & 255, a2 = t4 >> 8 & 255, h2 = _(c.relativeLuminance2(n2, l3, a2), c.relativeLuminance2(r3, o2, i2)); + for (; h2 < s3 && (n2 < 255 || l3 < 255 || a2 < 255); ) n2 = Math.min(255, n2 + Math.ceil(0.1 * (255 - n2))), l3 = Math.min(255, l3 + Math.ceil(0.1 * (255 - l3))), a2 = Math.min(255, a2 + Math.ceil(0.1 * (255 - a2))), h2 = _(c.relativeLuminance2(n2, l3, a2), c.relativeLuminance2(r3, o2, i2)); + return (n2 << 24 | l3 << 16 | a2 << 8 | 255) >>> 0; + } + __name(l2, "l"); + e3.blend = function(e4, t4) { + if (i = (255 & t4) / 255, 1 === i) return t4; + const l3 = t4 >> 24 & 255, a2 = t4 >> 16 & 255, c2 = t4 >> 8 & 255, h2 = e4 >> 24 & 255, u2 = e4 >> 16 & 255, _2 = e4 >> 8 & 255; + return s2 = h2 + Math.round((l3 - h2) * i), r2 = u2 + Math.round((a2 - u2) * i), o = _2 + Math.round((c2 - _2) * i), n.toRgba(s2, r2, o); + }, e3.ensureContrastRatio = function(e4, s3, r3) { + const o2 = c.relativeLuminance(e4 >> 8), i2 = c.relativeLuminance(s3 >> 8); + if (_(o2, i2) < r3) { + if (i2 < o2) { + const i3 = t3(e4, s3, r3), n3 = _(o2, c.relativeLuminance(i3 >> 8)); + if (n3 < r3) { + const t4 = l2(e4, s3, r3); + return n3 > _(o2, c.relativeLuminance(t4 >> 8)) ? i3 : t4; + } + return i3; + } + const n2 = l2(e4, s3, r3), a2 = _(o2, c.relativeLuminance(n2 >> 8)); + if (a2 < r3) { + const i3 = t3(e4, s3, r3); + return a2 > _(o2, c.relativeLuminance(i3 >> 8)) ? n2 : i3; + } + return n2; + } + }, e3.reduceLuminance = t3, e3.increaseLuminance = l2, e3.toChannels = function(e4) { + return [e4 >> 24 & 255, e4 >> 16 & 255, e4 >> 8 & 255, 255 & e4]; + }; + }(h || (t2.rgba = h = {})), t2.toPaddedHex = u, t2.contrastRatio = _; + }, 345: (e2, t2) => { + Object.defineProperty(t2, "__esModule", { value: true }), t2.runAndSubscribe = t2.forwardEvent = t2.EventEmitter = void 0, t2.EventEmitter = class { + constructor() { + this._listeners = [], this._disposed = false; + } + get event() { + return this._event || (this._event = (e3) => (this._listeners.push(e3), { dispose: /* @__PURE__ */ __name(() => { + if (!this._disposed) { + for (let t3 = 0; t3 < this._listeners.length; t3++) if (this._listeners[t3] === e3) return void this._listeners.splice(t3, 1); + } + }, "dispose") })), this._event; + } + fire(e3, t3) { + const s2 = []; + for (let e4 = 0; e4 < this._listeners.length; e4++) s2.push(this._listeners[e4]); + for (let r2 = 0; r2 < s2.length; r2++) s2[r2].call(void 0, e3, t3); + } + dispose() { + this.clearListeners(), this._disposed = true; + } + clearListeners() { + this._listeners && (this._listeners.length = 0); + } + }, t2.forwardEvent = function(e3, t3) { + return e3((e4) => t3.fire(e4)); + }, t2.runAndSubscribe = function(e3, t3) { + return t3(void 0), e3((e4) => t3(e4)); + }; + }, 859: (e2, t2) => { + function s2(e3) { + for (const t3 of e3) t3.dispose(); + e3.length = 0; + } + __name(s2, "s"); + Object.defineProperty(t2, "__esModule", { value: true }), t2.getDisposeArrayDisposable = t2.disposeArray = t2.toDisposable = t2.MutableDisposable = t2.Disposable = void 0, t2.Disposable = class { + constructor() { + this._disposables = [], this._isDisposed = false; + } + dispose() { + this._isDisposed = true; + for (const e3 of this._disposables) e3.dispose(); + this._disposables.length = 0; + } + register(e3) { + return this._disposables.push(e3), e3; + } + unregister(e3) { + const t3 = this._disposables.indexOf(e3); + -1 !== t3 && this._disposables.splice(t3, 1); + } + }, t2.MutableDisposable = class { + constructor() { + this._isDisposed = false; + } + get value() { + return this._isDisposed ? void 0 : this._value; + } + set value(e3) { + this._isDisposed || e3 === this._value || (this._value?.dispose(), this._value = e3); + } + clear() { + this.value = void 0; + } + dispose() { + this._isDisposed = true, this._value?.dispose(), this._value = void 0; + } + }, t2.toDisposable = function(e3) { + return { dispose: e3 }; + }, t2.disposeArray = s2, t2.getDisposeArrayDisposable = function(e3) { + return { dispose: /* @__PURE__ */ __name(() => s2(e3), "dispose") }; + }; + }, 485: (e2, t2) => { + Object.defineProperty(t2, "__esModule", { value: true }), t2.FourKeyMap = t2.TwoKeyMap = void 0; + class s2 { + static { + __name(this, "s"); + } + constructor() { + this._data = {}; + } + set(e3, t3, s3) { + this._data[e3] || (this._data[e3] = {}), this._data[e3][t3] = s3; + } + get(e3, t3) { + return this._data[e3] ? this._data[e3][t3] : void 0; + } + clear() { + this._data = {}; + } + } + t2.TwoKeyMap = s2, t2.FourKeyMap = class { + constructor() { + this._data = new s2(); + } + set(e3, t3, r2, o, i) { + this._data.get(e3, t3) || this._data.set(e3, t3, new s2()), this._data.get(e3, t3).set(r2, o, i); + } + get(e3, t3, s3, r2) { + return this._data.get(e3, t3)?.get(s3, r2); + } + clear() { + this._data.clear(); + } + }; + }, 726: (e2, t2) => { + Object.defineProperty(t2, "__esModule", { value: true }), t2.createDecorator = t2.getServiceDependencies = t2.serviceRegistry = void 0; + const s2 = "di$target", r2 = "di$dependencies"; + t2.serviceRegistry = /* @__PURE__ */ new Map(), t2.getServiceDependencies = function(e3) { + return e3[r2] || []; + }, t2.createDecorator = function(e3) { + if (t2.serviceRegistry.has(e3)) return t2.serviceRegistry.get(e3); + const o = /* @__PURE__ */ __name(function(e4, t3, i) { + if (3 !== arguments.length) throw new Error("@IServiceName-decorator can only be used to decorate a parameter"); + !function(e5, t4, o2) { + t4[s2] === t4 ? t4[r2].push({ id: e5, index: o2 }) : (t4[r2] = [{ id: e5, index: o2 }], t4[s2] = t4); + }(o, e4, i); + }, "o"); + return o.toString = () => e3, t2.serviceRegistry.set(e3, o), o; + }; + }, 97: (e2, t2, s2) => { + Object.defineProperty(t2, "__esModule", { value: true }), t2.IDecorationService = t2.IUnicodeService = t2.IOscLinkService = t2.IOptionsService = t2.ILogService = t2.LogLevelEnum = t2.IInstantiationService = t2.ICharsetService = t2.ICoreService = t2.ICoreMouseService = t2.IBufferService = void 0; + const r2 = s2(726); + var o; + t2.IBufferService = (0, r2.createDecorator)("BufferService"), t2.ICoreMouseService = (0, r2.createDecorator)("CoreMouseService"), t2.ICoreService = (0, r2.createDecorator)("CoreService"), t2.ICharsetService = (0, r2.createDecorator)("CharsetService"), t2.IInstantiationService = (0, r2.createDecorator)("InstantiationService"), function(e3) { + e3[e3.TRACE = 0] = "TRACE", e3[e3.DEBUG = 1] = "DEBUG", e3[e3.INFO = 2] = "INFO", e3[e3.WARN = 3] = "WARN", e3[e3.ERROR = 4] = "ERROR", e3[e3.OFF = 5] = "OFF"; + }(o || (t2.LogLevelEnum = o = {})), t2.ILogService = (0, r2.createDecorator)("LogService"), t2.IOptionsService = (0, r2.createDecorator)("OptionsService"), t2.IOscLinkService = (0, r2.createDecorator)("OscLinkService"), t2.IUnicodeService = (0, r2.createDecorator)("UnicodeService"), t2.IDecorationService = (0, r2.createDecorator)("DecorationService"); + } }, t = {}; + function s(r2) { + var o = t[r2]; + if (void 0 !== o) return o.exports; + var i = t[r2] = { exports: {} }; + return e[r2].call(i.exports, i, i.exports, s), i.exports; + } + __name(s, "s"); + var r = {}; + return (() => { + var e2 = r; + Object.defineProperty(e2, "__esModule", { value: true }), e2.HTMLSerializeHandler = e2.SerializeAddon = void 0; + const t2 = s(997); + function o(e3, t3, s2) { + return Math.max(t3, Math.min(e3, s2)); + } + __name(o, "o"); + class i { + static { + __name(this, "i"); + } + constructor(e3) { + this._buffer = e3; + } + serialize(e3, t3) { + const s2 = this._buffer.getNullCell(), r2 = this._buffer.getNullCell(); + let o2 = s2; + const i2 = e3.start.y, n2 = e3.end.y, l2 = e3.start.x, a2 = e3.end.x; + this._beforeSerialize(n2 - i2, i2, n2); + for (let t4 = i2; t4 <= n2; t4++) { + const i3 = this._buffer.getLine(t4); + if (i3) { + const n3 = t4 === e3.start.y ? l2 : 0, c2 = t4 === e3.end.y ? a2 : i3.length; + for (let e4 = n3; e4 < c2; e4++) { + const n4 = i3.getCell(e4, o2 === s2 ? r2 : s2); + n4 ? (this._nextCell(n4, o2, t4, e4), o2 = n4) : console.warn(`Can't get cell at row=${t4}, col=${e4}`); + } + } + this._rowEnd(t4, t4 === n2); + } + return this._afterSerialize(), this._serializeString(t3); + } + _nextCell(e3, t3, s2, r2) { + } + _rowEnd(e3, t3) { + } + _beforeSerialize(e3, t3, s2) { + } + _afterSerialize() { + } + _serializeString(e3) { + return ""; + } + } + function n(e3, t3) { + return e3.getFgColorMode() === t3.getFgColorMode() && e3.getFgColor() === t3.getFgColor(); + } + __name(n, "n"); + function l(e3, t3) { + return e3.getBgColorMode() === t3.getBgColorMode() && e3.getBgColor() === t3.getBgColor(); + } + __name(l, "l"); + function a(e3, t3) { + return e3.isInverse() === t3.isInverse() && e3.isBold() === t3.isBold() && e3.isUnderline() === t3.isUnderline() && e3.isOverline() === t3.isOverline() && e3.isBlink() === t3.isBlink() && e3.isInvisible() === t3.isInvisible() && e3.isItalic() === t3.isItalic() && e3.isDim() === t3.isDim() && e3.isStrikethrough() === t3.isStrikethrough(); + } + __name(a, "a"); + class c extends i { + static { + __name(this, "c"); + } + constructor(e3, t3) { + super(e3), this._terminal = t3, this._rowIndex = 0, this._allRows = new Array(), this._allRowSeparators = new Array(), this._currentRow = "", this._nullCellCount = 0, this._cursorStyle = this._buffer.getNullCell(), this._cursorStyleRow = 0, this._cursorStyleCol = 0, this._backgroundCell = this._buffer.getNullCell(), this._firstRow = 0, this._lastCursorRow = 0, this._lastCursorCol = 0, this._lastContentCursorRow = 0, this._lastContentCursorCol = 0, this._thisRowLastChar = this._buffer.getNullCell(), this._thisRowLastSecondChar = this._buffer.getNullCell(), this._nextRowFirstChar = this._buffer.getNullCell(); + } + _beforeSerialize(e3, t3, s2) { + this._allRows = new Array(e3), this._lastContentCursorRow = t3, this._lastCursorRow = t3, this._firstRow = t3; + } + _rowEnd(e3, t3) { + this._nullCellCount > 0 && !l(this._cursorStyle, this._backgroundCell) && (this._currentRow += `\x1B[${this._nullCellCount}X`); + let s2 = ""; + if (!t3) { + e3 - this._firstRow >= this._terminal.rows && this._buffer.getLine(this._cursorStyleRow)?.getCell(this._cursorStyleCol, this._backgroundCell); + const t4 = this._buffer.getLine(e3), r2 = this._buffer.getLine(e3 + 1); + if (r2.isWrapped) { + s2 = ""; + const o2 = t4.getCell(t4.length - 1, this._thisRowLastChar), i2 = t4.getCell(t4.length - 2, this._thisRowLastSecondChar), n2 = r2.getCell(0, this._nextRowFirstChar), a2 = n2.getWidth() > 1; + let c2 = false; + (n2.getChars() && a2 ? this._nullCellCount <= 1 : this._nullCellCount <= 0) && ((o2.getChars() || 0 === o2.getWidth()) && l(o2, n2) && (c2 = true), a2 && (i2.getChars() || 0 === i2.getWidth()) && l(o2, n2) && l(i2, n2) && (c2 = true)), c2 || (s2 = "-".repeat(this._nullCellCount + 1), s2 += "\x1B[1D\x1B[1X", this._nullCellCount > 0 && (s2 += "\x1B[A", s2 += `\x1B[${t4.length - this._nullCellCount}C`, s2 += `\x1B[${this._nullCellCount}X`, s2 += `\x1B[${t4.length - this._nullCellCount}D`, s2 += "\x1B[B"), this._lastContentCursorRow = e3 + 1, this._lastContentCursorCol = 0, this._lastCursorRow = e3 + 1, this._lastCursorCol = 0); + } else s2 = "\r\n", this._lastCursorRow = e3 + 1, this._lastCursorCol = 0; + } + this._allRows[this._rowIndex] = this._currentRow, this._allRowSeparators[this._rowIndex++] = s2, this._currentRow = "", this._nullCellCount = 0; + } + _diffStyle(e3, t3) { + const s2 = [], r2 = !n(e3, t3), o2 = !l(e3, t3), i2 = !a(e3, t3); + if (r2 || o2 || i2) if (e3.isAttributeDefault()) t3.isAttributeDefault() || s2.push(0); + else { + if (r2) { + const t4 = e3.getFgColor(); + e3.isFgRGB() ? s2.push(38, 2, t4 >>> 16 & 255, t4 >>> 8 & 255, 255 & t4) : e3.isFgPalette() ? t4 >= 16 ? s2.push(38, 5, t4) : s2.push(8 & t4 ? 90 + (7 & t4) : 30 + (7 & t4)) : s2.push(39); + } + if (o2) { + const t4 = e3.getBgColor(); + e3.isBgRGB() ? s2.push(48, 2, t4 >>> 16 & 255, t4 >>> 8 & 255, 255 & t4) : e3.isBgPalette() ? t4 >= 16 ? s2.push(48, 5, t4) : s2.push(8 & t4 ? 100 + (7 & t4) : 40 + (7 & t4)) : s2.push(49); + } + i2 && (e3.isInverse() !== t3.isInverse() && s2.push(e3.isInverse() ? 7 : 27), e3.isBold() !== t3.isBold() && s2.push(e3.isBold() ? 1 : 22), e3.isUnderline() !== t3.isUnderline() && s2.push(e3.isUnderline() ? 4 : 24), e3.isOverline() !== t3.isOverline() && s2.push(e3.isOverline() ? 53 : 55), e3.isBlink() !== t3.isBlink() && s2.push(e3.isBlink() ? 5 : 25), e3.isInvisible() !== t3.isInvisible() && s2.push(e3.isInvisible() ? 8 : 28), e3.isItalic() !== t3.isItalic() && s2.push(e3.isItalic() ? 3 : 23), e3.isDim() !== t3.isDim() && s2.push(e3.isDim() ? 2 : 22), e3.isStrikethrough() !== t3.isStrikethrough() && s2.push(e3.isStrikethrough() ? 9 : 29)); + } + return s2; + } + _nextCell(e3, t3, s2, r2) { + if (0 === e3.getWidth()) return; + const o2 = "" === e3.getChars(), i2 = this._diffStyle(e3, this._cursorStyle); + if (o2 ? !l(this._cursorStyle, e3) : i2.length > 0) { + this._nullCellCount > 0 && (l(this._cursorStyle, this._backgroundCell) || (this._currentRow += `\x1B[${this._nullCellCount}X`), this._currentRow += `\x1B[${this._nullCellCount}C`, this._nullCellCount = 0), this._lastContentCursorRow = this._lastCursorRow = s2, this._lastContentCursorCol = this._lastCursorCol = r2, this._currentRow += `\x1B[${i2.join(";")}m`; + const e4 = this._buffer.getLine(s2); + void 0 !== e4 && (e4.getCell(r2, this._cursorStyle), this._cursorStyleRow = s2, this._cursorStyleCol = r2); + } + o2 ? this._nullCellCount += e3.getWidth() : (this._nullCellCount > 0 && (l(this._cursorStyle, this._backgroundCell) || (this._currentRow += `\x1B[${this._nullCellCount}X`), this._currentRow += `\x1B[${this._nullCellCount}C`, this._nullCellCount = 0), this._currentRow += e3.getChars(), this._lastContentCursorRow = this._lastCursorRow = s2, this._lastContentCursorCol = this._lastCursorCol = r2 + e3.getWidth()); + } + _serializeString(e3) { + let t3 = this._allRows.length; + this._buffer.length - this._firstRow <= this._terminal.rows && (t3 = this._lastContentCursorRow + 1 - this._firstRow, this._lastCursorCol = this._lastContentCursorCol, this._lastCursorRow = this._lastContentCursorRow); + let s2 = ""; + for (let e4 = 0; e4 < t3; e4++) s2 += this._allRows[e4], e4 + 1 < t3 && (s2 += this._allRowSeparators[e4]); + if (!e3) { + const e4 = this._buffer.baseY + this._buffer.cursorY, t4 = this._buffer.cursorX, o3 = /* @__PURE__ */ __name((e5) => { + e5 > 0 ? s2 += `\x1B[${e5}C` : e5 < 0 && (s2 += `\x1B[${-e5}D`); + }, "o"); + (e4 !== this._lastCursorRow || t4 !== this._lastCursorCol) && ((r2 = e4 - this._lastCursorRow) > 0 ? s2 += `\x1B[${r2}B` : r2 < 0 && (s2 += `\x1B[${-r2}A`), o3(t4 - this._lastCursorCol)); + } + var r2; + const o2 = this._terminal._core._inputHandler._curAttrData, i2 = this._diffStyle(o2, this._cursorStyle); + return i2.length > 0 && (s2 += `\x1B[${i2.join(";")}m`), s2; + } + } + e2.SerializeAddon = class { + activate(e3) { + this._terminal = e3; + } + _serializeBufferByScrollback(e3, t3, s2) { + const r2 = t3.length, i2 = void 0 === s2 ? r2 : o(s2 + e3.rows, 0, r2); + return this._serializeBufferByRange(e3, t3, { start: r2 - i2, end: r2 - 1 }, false); + } + _serializeBufferByRange(e3, t3, s2, r2) { + return new c(t3, e3).serialize({ start: { x: 0, y: "number" == typeof s2.start ? s2.start : s2.start.line }, end: { x: e3.cols, y: "number" == typeof s2.end ? s2.end : s2.end.line } }, r2); + } + _serializeBufferAsHTML(e3, t3) { + const s2 = e3.buffer.active, r2 = new h(s2, e3, t3); + if (!t3.onlySelection) { + const i3 = s2.length, n2 = t3.scrollback, l2 = void 0 === n2 ? i3 : o(n2 + e3.rows, 0, i3); + return r2.serialize({ start: { x: 0, y: i3 - l2 }, end: { x: e3.cols, y: i3 - 1 } }); + } + const i2 = this._terminal?.getSelectionPosition(); + return void 0 !== i2 ? r2.serialize({ start: { x: i2.start.x, y: i2.start.y }, end: { x: i2.end.x, y: i2.end.y } }) : ""; + } + _serializeModes(e3) { + let t3 = ""; + const s2 = e3.modes; + if (s2.applicationCursorKeysMode && (t3 += "\x1B[?1h"), s2.applicationKeypadMode && (t3 += "\x1B[?66h"), s2.bracketedPasteMode && (t3 += "\x1B[?2004h"), s2.insertMode && (t3 += "\x1B[4h"), s2.originMode && (t3 += "\x1B[?6h"), s2.reverseWraparoundMode && (t3 += "\x1B[?45h"), s2.sendFocusMode && (t3 += "\x1B[?1004h"), false === s2.wraparoundMode && (t3 += "\x1B[?7l"), "none" !== s2.mouseTrackingMode) switch (s2.mouseTrackingMode) { + case "x10": + t3 += "\x1B[?9h"; + break; + case "vt200": + t3 += "\x1B[?1000h"; + break; + case "drag": + t3 += "\x1B[?1002h"; + break; + case "any": + t3 += "\x1B[?1003h"; + } + return t3; + } + serialize(e3) { + if (!this._terminal) throw new Error("Cannot use addon until it has been loaded"); + let t3 = e3?.range ? this._serializeBufferByRange(this._terminal, this._terminal.buffer.normal, e3.range, true) : this._serializeBufferByScrollback(this._terminal, this._terminal.buffer.normal, e3?.scrollback); + return e3?.excludeAltBuffer || "alternate" !== this._terminal.buffer.active.type || (t3 += `\x1B[?1049h\x1B[H${this._serializeBufferByScrollback(this._terminal, this._terminal.buffer.alternate, void 0)}`), e3?.excludeModes || (t3 += this._serializeModes(this._terminal)), t3; + } + serializeAsHTML(e3) { + if (!this._terminal) throw new Error("Cannot use addon until it has been loaded"); + return this._serializeBufferAsHTML(this._terminal, e3 || {}); + } + dispose() { + } + }; + class h extends i { + static { + __name(this, "h"); + } + constructor(e3, s2, r2) { + super(e3), this._terminal = s2, this._options = r2, this._currentRow = "", this._htmlContent = "", s2._core._themeService ? this._ansiColors = s2._core._themeService.colors.ansi : this._ansiColors = t2.DEFAULT_ANSI_COLORS; + } + _padStart(e3, t3, s2) { + return t3 >>= 0, s2 = s2 ?? " ", e3.length > t3 ? e3 : ((t3 -= e3.length) > s2.length && (s2 += s2.repeat(t3 / s2.length)), s2.slice(0, t3) + e3); + } + _beforeSerialize(e3, t3, s2) { + this._htmlContent += "
";
+          let r2 = "#000000", o2 = "#ffffff";
+          this._options.includeGlobalBackground && (r2 = this._terminal.options.theme?.foreground ?? "#ffffff", o2 = this._terminal.options.theme?.background ?? "#000000");
+          const i2 = [];
+          i2.push("color: " + r2 + ";"), i2.push("background-color: " + o2 + ";"), i2.push("font-family: " + this._terminal.options.fontFamily + ";"), i2.push("font-size: " + this._terminal.options.fontSize + "px;"), this._htmlContent += "
"; + } + _afterSerialize() { + this._htmlContent += "
", this._htmlContent += "
"; + } + _rowEnd(e3, t3) { + this._htmlContent += "
" + this._currentRow + "
", this._currentRow = ""; + } + _getHexColor(e3, t3) { + const s2 = t3 ? e3.getFgColor() : e3.getBgColor(); + return (t3 ? e3.isFgRGB() : e3.isBgRGB()) ? "#" + [s2 >> 16 & 255, s2 >> 8 & 255, 255 & s2].map((e4) => this._padStart(e4.toString(16), 2, "0")).join("") : (t3 ? e3.isFgPalette() : e3.isBgPalette()) ? this._ansiColors[s2].css : void 0; + } + _diffStyle(e3, t3) { + const s2 = [], r2 = !n(e3, t3), o2 = !l(e3, t3), i2 = !a(e3, t3); + if (r2 || o2 || i2) { + const t4 = this._getHexColor(e3, true); + t4 && s2.push("color: " + t4 + ";"); + const r3 = this._getHexColor(e3, false); + return r3 && s2.push("background-color: " + r3 + ";"), e3.isInverse() && s2.push("color: #000000; background-color: #BFBFBF;"), e3.isBold() && s2.push("font-weight: bold;"), e3.isUnderline() && e3.isOverline() ? s2.push("text-decoration: overline underline;") : e3.isUnderline() ? s2.push("text-decoration: underline;") : e3.isOverline() && s2.push("text-decoration: overline;"), e3.isBlink() && s2.push("text-decoration: blink;"), e3.isInvisible() && s2.push("visibility: hidden;"), e3.isItalic() && s2.push("font-style: italic;"), e3.isDim() && s2.push("opacity: 0.5;"), e3.isStrikethrough() && s2.push("text-decoration: line-through;"), s2; + } + } + _nextCell(e3, t3, s2, r2) { + if (0 === e3.getWidth()) return; + const o2 = "" === e3.getChars(), i2 = this._diffStyle(e3, t3); + i2 && (this._currentRow += 0 === i2.length ? "" : ""), this._currentRow += o2 ? " " : e3.getChars(); + } + _serializeString() { + return this._htmlContent; + } + } + e2.HTMLSerializeHandler = h; + })(), r; + })()); +})(addonSerialize$2, addonSerialize$2.exports); +var addonSerializeExports = addonSerialize$2.exports; +const addonSerialize$1 = /* @__PURE__ */ getDefaultExportFromCjs(addonSerializeExports); +function useTerminalBuffer() { + const serializeAddon = new addonSerializeExports.SerializeAddon(); + const terminal = markRaw(new xtermExports.Terminal({ convertEol: true })); + const copyTo = /* @__PURE__ */ __name((destinationTerminal) => { + destinationTerminal.write(serializeAddon.serialize()); + }, "copyTo"); + const write = /* @__PURE__ */ __name((message) => terminal.write(message), "write"); + const serialize = /* @__PURE__ */ __name(() => serializeAddon.serialize(), "serialize"); + onMounted(() => { + terminal.loadAddon(serializeAddon); + }); + onUnmounted(() => { + terminal.dispose(); + }); + return { + copyTo, + serialize, + write + }; +} +__name(useTerminalBuffer, "useTerminalBuffer"); +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "TerminalOutputDrawer", + props: /* @__PURE__ */ mergeModels({ + header: {}, + defaultMessage: {} + }, { + "modelValue": { type: Boolean, ...{ required: true } }, + "modelModifiers": {} + }), + emits: ["update:modelValue"], + setup(__props) { + const terminalVisible = useModel(__props, "modelValue"); + const props = __props; + const electron = electronAPI(); + const buffer = useTerminalBuffer(); + let xterm = null; + const terminalCreated = /* @__PURE__ */ __name(({ terminal, useAutoSize }, root2) => { + xterm = terminal; + useAutoSize({ root: root2, autoRows: true, autoCols: true }); + terminal.write(props.defaultMessage); + buffer.copyTo(terminal); + terminal.options.cursorBlink = false; + terminal.options.cursorStyle = "bar"; + terminal.options.cursorInactiveStyle = "bar"; + terminal.options.disableStdin = true; + }, "terminalCreated"); + const terminalUnmounted = /* @__PURE__ */ __name(() => { + xterm = null; + }, "terminalUnmounted"); + onMounted(async () => { + electron.onLogMessage((message) => { + buffer.write(message); + xterm?.write(message); + }); + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script), { + visible: terminalVisible.value, + "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => terminalVisible.value = $event), + header: _ctx.header, + position: "bottom", + style: { "height": "max(50vh, 34rem)" } + }, { + default: withCtx(() => [ + createVNode(BaseTerminal, { + onCreated: terminalCreated, + onUnmounted: terminalUnmounted + }) + ]), + _: 1 + }, 8, ["visible", "header"]); + }; + } +}); +export { + _sfc_main as _, + script as s +}; +//# sourceMappingURL=TerminalOutputDrawer-BgTEspHP.js.map diff --git a/web/assets/UserSelectView-wxa07xPk.js b/web/assets/UserSelectView-CRPNAEVJ.js similarity index 91% rename from web/assets/UserSelectView-wxa07xPk.js rename to web/assets/UserSelectView-CRPNAEVJ.js index 35f6c4a2d..d5d12bd6b 100644 --- a/web/assets/UserSelectView-wxa07xPk.js +++ b/web/assets/UserSelectView-CRPNAEVJ.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqqhYDnY.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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-DqXp9vW4.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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" @@ -98,4 +98,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=UserSelectView-wxa07xPk.js.map +//# sourceMappingURL=UserSelectView-CRPNAEVJ.js.map diff --git a/web/assets/WelcomeView-BrXELNIm.js b/web/assets/WelcomeView-Cvtvw05C.js similarity index 87% rename from web/assets/WelcomeView-BrXELNIm.js rename to web/assets/WelcomeView-Cvtvw05C.js index 81bf8f2a7..20b087d94 100644 --- a/web/assets/WelcomeView-BrXELNIm.js +++ b/web/assets/WelcomeView-Cvtvw05C.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqqhYDnY.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-Cz111_1A.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-DqXp9vW4.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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({ @@ -36,4 +36,4 @@ const WelcomeView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data- export { WelcomeView as default }; -//# sourceMappingURL=WelcomeView-BrXELNIm.js.map +//# sourceMappingURL=WelcomeView-Cvtvw05C.js.map diff --git a/web/assets/index-BNlqgrYT.js b/web/assets/index-A-dAhghd.js similarity index 98% rename from web/assets/index-BNlqgrYT.js rename to web/assets/index-A-dAhghd.js index bc17d1c31..69e7290ff 100644 --- a/web/assets/index-BNlqgrYT.js +++ b/web/assets/index-A-dAhghd.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); -import { bA as BaseStyle, bB as script$6, o as openBlock, f as createElementBlock, as as mergeProps, cJ as findIndexInList, c5 as find, bK 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, bO as findSingle, F as Fragment, bL as Transition, i as withDirectives, v as vShow, bT as UniqueComponentId } from "./index-DqqhYDnY.js"; +import { bG as BaseStyle, bH as script$6, o as openBlock, f as createElementBlock, at as mergeProps, cO as findIndexInList, c4 as find, bR as resolveComponent, y as createBlock, C as resolveDynamicComponent, z as withCtx, m as createBaseVNode, E as toDisplayString, A as renderSlot, B as createCommentVNode, aj as normalizeClass, bJ as findSingle, F as Fragment, bI as Transition, i as withDirectives, v as vShow, bP as UniqueComponentId } from "./index-DqXp9vW4.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-BNlqgrYT.js.map +//# sourceMappingURL=index-A-dAhghd.js.map diff --git a/web/assets/index-B0BQ8jlU.js b/web/assets/index-B0BQ8jlU.js new file mode 100644 index 000000000..350e04eca --- /dev/null +++ b/web/assets/index-B0BQ8jlU.js @@ -0,0 +1,618 @@ +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-DqXp9vW4.js"; +function _typeof$2(o) { + "@babel/helpers - typeof"; + return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$2(o); +} +__name(_typeof$2, "_typeof$2"); +function _defineProperty$2(e, r, t) { + return (r = _toPropertyKey$2(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$2, "_defineProperty$2"); +function _toPropertyKey$2(t) { + var i = _toPrimitive$2(t, "string"); + return "symbol" == _typeof$2(i) ? i : i + ""; +} +__name(_toPropertyKey$2, "_toPropertyKey$2"); +function _toPrimitive$2(t, r) { + if ("object" != _typeof$2(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$2(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$2, "_toPrimitive$2"); +var theme = /* @__PURE__ */ __name(function theme2(_ref) { + var dt = _ref.dt; + return "\n.p-toast {\n width: ".concat(dt("toast.width"), ";\n white-space: pre-line;\n word-break: break-word;\n}\n\n.p-toast-message {\n margin: 0 0 1rem 0;\n}\n\n.p-toast-message-icon {\n flex-shrink: 0;\n font-size: ").concat(dt("toast.icon.size"), ";\n width: ").concat(dt("toast.icon.size"), ";\n height: ").concat(dt("toast.icon.size"), ";\n}\n\n.p-toast-message-content {\n display: flex;\n align-items: flex-start;\n padding: ").concat(dt("toast.content.padding"), ";\n gap: ").concat(dt("toast.content.gap"), ";\n}\n\n.p-toast-message-text {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("toast.text.gap"), ";\n}\n\n.p-toast-summary {\n font-weight: ").concat(dt("toast.summary.font.weight"), ";\n font-size: ").concat(dt("toast.summary.font.size"), ";\n}\n\n.p-toast-detail {\n font-weight: ").concat(dt("toast.detail.font.weight"), ";\n font-size: ").concat(dt("toast.detail.font.size"), ";\n}\n\n.p-toast-close-button {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n cursor: pointer;\n background: transparent;\n transition: background ").concat(dt("toast.transition.duration"), ", color ").concat(dt("toast.transition.duration"), ", outline-color ").concat(dt("toast.transition.duration"), ", box-shadow ").concat(dt("toast.transition.duration"), ";\n outline-color: transparent;\n color: inherit;\n width: ").concat(dt("toast.close.button.width"), ";\n height: ").concat(dt("toast.close.button.height"), ";\n border-radius: ").concat(dt("toast.close.button.border.radius"), ";\n margin: -25% 0 0 0;\n right: -25%;\n padding: 0;\n border: none;\n user-select: none;\n}\n\n.p-toast-close-button:dir(rtl) {\n margin: -25% 0 0 auto;\n left: -25%;\n right: auto;\n}\n\n.p-toast-message-info,\n.p-toast-message-success,\n.p-toast-message-warn,\n.p-toast-message-error,\n.p-toast-message-secondary,\n.p-toast-message-contrast {\n border-width: ").concat(dt("toast.border.width"), ";\n border-style: solid;\n backdrop-filter: blur(").concat(dt("toast.blur"), ");\n border-radius: ").concat(dt("toast.border.radius"), ";\n}\n\n.p-toast-close-icon {\n font-size: ").concat(dt("toast.close.icon.size"), ";\n width: ").concat(dt("toast.close.icon.size"), ";\n height: ").concat(dt("toast.close.icon.size"), ";\n}\n\n.p-toast-close-button:focus-visible {\n outline-width: ").concat(dt("focus.ring.width"), ";\n outline-style: ").concat(dt("focus.ring.style"), ";\n outline-offset: ").concat(dt("focus.ring.offset"), ";\n}\n\n.p-toast-message-info {\n background: ").concat(dt("toast.info.background"), ";\n border-color: ").concat(dt("toast.info.border.color"), ";\n color: ").concat(dt("toast.info.color"), ";\n box-shadow: ").concat(dt("toast.info.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-detail {\n color: ").concat(dt("toast.info.detail.color"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.info.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.info.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:hover {\n background: ").concat(dt("toast.info.close.button.hover.background"), ";\n}\n\n.p-toast-message-success {\n background: ").concat(dt("toast.success.background"), ";\n border-color: ").concat(dt("toast.success.border.color"), ";\n color: ").concat(dt("toast.success.color"), ";\n box-shadow: ").concat(dt("toast.success.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-detail {\n color: ").concat(dt("toast.success.detail.color"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.success.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.success.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:hover {\n background: ").concat(dt("toast.success.close.button.hover.background"), ";\n}\n\n.p-toast-message-warn {\n background: ").concat(dt("toast.warn.background"), ";\n border-color: ").concat(dt("toast.warn.border.color"), ";\n color: ").concat(dt("toast.warn.color"), ";\n box-shadow: ").concat(dt("toast.warn.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-detail {\n color: ").concat(dt("toast.warn.detail.color"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.warn.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.warn.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:hover {\n background: ").concat(dt("toast.warn.close.button.hover.background"), ";\n}\n\n.p-toast-message-error {\n background: ").concat(dt("toast.error.background"), ";\n border-color: ").concat(dt("toast.error.border.color"), ";\n color: ").concat(dt("toast.error.color"), ";\n box-shadow: ").concat(dt("toast.error.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-detail {\n color: ").concat(dt("toast.error.detail.color"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.error.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.error.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:hover {\n background: ").concat(dt("toast.error.close.button.hover.background"), ";\n}\n\n.p-toast-message-secondary {\n background: ").concat(dt("toast.secondary.background"), ";\n border-color: ").concat(dt("toast.secondary.border.color"), ";\n color: ").concat(dt("toast.secondary.color"), ";\n box-shadow: ").concat(dt("toast.secondary.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-detail {\n color: ").concat(dt("toast.secondary.detail.color"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.secondary.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.secondary.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:hover {\n background: ").concat(dt("toast.secondary.close.button.hover.background"), ";\n}\n\n.p-toast-message-contrast {\n background: ").concat(dt("toast.contrast.background"), ";\n border-color: ").concat(dt("toast.contrast.border.color"), ";\n color: ").concat(dt("toast.contrast.color"), ";\n box-shadow: ").concat(dt("toast.contrast.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-detail {\n color: ").concat(dt("toast.contrast.detail.color"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.contrast.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.contrast.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:hover {\n background: ").concat(dt("toast.contrast.close.button.hover.background"), ";\n}\n\n.p-toast-top-center {\n transform: translateX(-50%);\n}\n\n.p-toast-bottom-center {\n transform: translateX(-50%);\n}\n\n.p-toast-center {\n min-width: 20vw;\n transform: translate(-50%, -50%);\n}\n\n.p-toast-message-enter-from {\n opacity: 0;\n transform: translateY(50%);\n}\n\n.p-toast-message-leave-from {\n max-height: 1000px;\n}\n\n.p-toast .p-toast-message.p-toast-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin-bottom: 0;\n overflow: hidden;\n}\n\n.p-toast-message-enter-active {\n transition: transform 0.3s, opacity 0.3s;\n}\n\n.p-toast-message-leave-active {\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s;\n}\n"); +}, "theme"); +var inlineStyles = { + root: /* @__PURE__ */ __name(function root(_ref2) { + var position = _ref2.position; + return { + position: "fixed", + top: position === "top-right" || position === "top-left" || position === "top-center" ? "20px" : position === "center" ? "50%" : null, + right: (position === "top-right" || position === "bottom-right") && "20px", + bottom: (position === "bottom-left" || position === "bottom-right" || position === "bottom-center") && "20px", + left: position === "top-left" || position === "bottom-left" ? "20px" : position === "center" || position === "top-center" || position === "bottom-center" ? "50%" : null + }; + }, "root") +}; +var classes = { + root: /* @__PURE__ */ __name(function root2(_ref3) { + var props = _ref3.props; + return ["p-toast p-component p-toast-" + props.position]; + }, "root"), + message: /* @__PURE__ */ __name(function message(_ref4) { + var props = _ref4.props; + return ["p-toast-message", { + "p-toast-message-info": props.message.severity === "info" || props.message.severity === void 0, + "p-toast-message-warn": props.message.severity === "warn", + "p-toast-message-error": props.message.severity === "error", + "p-toast-message-success": props.message.severity === "success", + "p-toast-message-secondary": props.message.severity === "secondary", + "p-toast-message-contrast": props.message.severity === "contrast" + }]; + }, "message"), + messageContent: "p-toast-message-content", + messageIcon: /* @__PURE__ */ __name(function messageIcon(_ref5) { + var props = _ref5.props; + return ["p-toast-message-icon", _defineProperty$2(_defineProperty$2(_defineProperty$2(_defineProperty$2({}, props.infoIcon, props.message.severity === "info"), props.warnIcon, props.message.severity === "warn"), props.errorIcon, props.message.severity === "error"), props.successIcon, props.message.severity === "success")]; + }, "messageIcon"), + messageText: "p-toast-message-text", + summary: "p-toast-summary", + detail: "p-toast-detail", + closeButton: "p-toast-close-button", + closeIcon: "p-toast-close-icon" +}; +var ToastStyle = BaseStyle.extend({ + name: "toast", + theme, + classes, + inlineStyles +}); +var script$4 = { + name: "ExclamationTriangleIcon", + "extends": script$5 +}; +function render$3(_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", { + d: "M13.4018 13.1893H0.598161C0.49329 13.189 0.390283 13.1615 0.299143 13.1097C0.208003 13.0578 0.131826 12.9832 0.0780112 12.8932C0.0268539 12.8015 0 12.6982 0 12.5931C0 12.4881 0.0268539 12.3848 0.0780112 12.293L6.47985 1.08982C6.53679 1.00399 6.61408 0.933574 6.70484 0.884867C6.7956 0.836159 6.897 0.810669 7 0.810669C7.103 0.810669 7.2044 0.836159 7.29516 0.884867C7.38592 0.933574 7.46321 1.00399 7.52015 1.08982L13.922 12.293C13.9731 12.3848 14 12.4881 14 12.5931C14 12.6982 13.9731 12.8015 13.922 12.8932C13.8682 12.9832 13.792 13.0578 13.7009 13.1097C13.6097 13.1615 13.5067 13.189 13.4018 13.1893ZM1.63046 11.989H12.3695L7 2.59425L1.63046 11.989Z", + fill: "currentColor" + }, null, -1), createBaseVNode("path", { + d: "M6.99996 8.78801C6.84143 8.78594 6.68997 8.72204 6.57787 8.60993C6.46576 8.49782 6.40186 8.34637 6.39979 8.18784V5.38703C6.39979 5.22786 6.46302 5.0752 6.57557 4.96265C6.68813 4.85009 6.84078 4.78686 6.99996 4.78686C7.15914 4.78686 7.31179 4.85009 7.42435 4.96265C7.5369 5.0752 7.60013 5.22786 7.60013 5.38703V8.18784C7.59806 8.34637 7.53416 8.49782 7.42205 8.60993C7.30995 8.72204 7.15849 8.78594 6.99996 8.78801Z", + fill: "currentColor" + }, null, -1), createBaseVNode("path", { + d: "M6.99996 11.1887C6.84143 11.1866 6.68997 11.1227 6.57787 11.0106C6.46576 10.8985 6.40186 10.7471 6.39979 10.5885V10.1884C6.39979 10.0292 6.46302 9.87658 6.57557 9.76403C6.68813 9.65147 6.84078 9.58824 6.99996 9.58824C7.15914 9.58824 7.31179 9.65147 7.42435 9.76403C7.5369 9.87658 7.60013 10.0292 7.60013 10.1884V10.5885C7.59806 10.7471 7.53416 10.8985 7.42205 11.0106C7.30995 11.1227 7.15849 11.1866 6.99996 11.1887Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$3, "render$3"); +script$4.render = render$3; +var script$3 = { + name: "InfoCircleIcon", + "extends": script$5 +}; +function render$2(_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: "M3.11101 12.8203C4.26215 13.5895 5.61553 14 7 14C8.85652 14 10.637 13.2625 11.9497 11.9497C13.2625 10.637 14 8.85652 14 7C14 5.61553 13.5895 4.26215 12.8203 3.11101C12.0511 1.95987 10.9579 1.06266 9.67879 0.532846C8.3997 0.00303296 6.99224 -0.13559 5.63437 0.134506C4.2765 0.404603 3.02922 1.07129 2.05026 2.05026C1.07129 3.02922 0.404603 4.2765 0.134506 5.63437C-0.13559 6.99224 0.00303296 8.3997 0.532846 9.67879C1.06266 10.9579 1.95987 12.0511 3.11101 12.8203ZM3.75918 2.14976C4.71846 1.50879 5.84628 1.16667 7 1.16667C8.5471 1.16667 10.0308 1.78125 11.1248 2.87521C12.2188 3.96918 12.8333 5.45291 12.8333 7C12.8333 8.15373 12.4912 9.28154 11.8502 10.2408C11.2093 11.2001 10.2982 11.9478 9.23232 12.3893C8.16642 12.8308 6.99353 12.9463 5.86198 12.7212C4.73042 12.4962 3.69102 11.9406 2.87521 11.1248C2.05941 10.309 1.50384 9.26958 1.27876 8.13803C1.05367 7.00647 1.16919 5.83358 1.61071 4.76768C2.05222 3.70178 2.79989 2.79074 3.75918 2.14976ZM7.00002 4.8611C6.84594 4.85908 6.69873 4.79698 6.58977 4.68801C6.48081 4.57905 6.4187 4.43185 6.41669 4.27776V3.88888C6.41669 3.73417 6.47815 3.58579 6.58754 3.4764C6.69694 3.367 6.84531 3.30554 7.00002 3.30554C7.15473 3.30554 7.3031 3.367 7.4125 3.4764C7.52189 3.58579 7.58335 3.73417 7.58335 3.88888V4.27776C7.58134 4.43185 7.51923 4.57905 7.41027 4.68801C7.30131 4.79698 7.1541 4.85908 7.00002 4.8611ZM7.00002 10.6945C6.84594 10.6925 6.69873 10.6304 6.58977 10.5214C6.48081 10.4124 6.4187 10.2652 6.41669 10.1111V6.22225C6.41669 6.06754 6.47815 5.91917 6.58754 5.80977C6.69694 5.70037 6.84531 5.63892 7.00002 5.63892C7.15473 5.63892 7.3031 5.70037 7.4125 5.80977C7.52189 5.91917 7.58335 6.06754 7.58335 6.22225V10.1111C7.58134 10.2652 7.51923 10.4124 7.41027 10.5214C7.30131 10.6304 7.1541 10.6925 7.00002 10.6945Z", + fill: "currentColor" + }, null, -1)]), 16); +} +__name(render$2, "render$2"); +script$3.render = render$2; +var script$2 = { + name: "BaseToast", + "extends": script$6, + props: { + group: { + type: String, + "default": null + }, + position: { + type: String, + "default": "top-right" + }, + autoZIndex: { + type: Boolean, + "default": true + }, + baseZIndex: { + type: Number, + "default": 0 + }, + breakpoints: { + type: Object, + "default": null + }, + closeIcon: { + type: String, + "default": void 0 + }, + infoIcon: { + type: String, + "default": void 0 + }, + warnIcon: { + type: String, + "default": void 0 + }, + errorIcon: { + type: String, + "default": void 0 + }, + successIcon: { + type: String, + "default": void 0 + }, + closeButtonProps: { + type: null, + "default": null + } + }, + style: ToastStyle, + provide: /* @__PURE__ */ __name(function provide() { + return { + $pcToast: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1 = { + name: "ToastMessage", + hostName: "Toast", + "extends": script$6, + emits: ["close"], + closeTimeout: null, + props: { + message: { + type: null, + "default": null + }, + templates: { + type: Object, + "default": null + }, + closeIcon: { + type: String, + "default": null + }, + infoIcon: { + type: String, + "default": null + }, + warnIcon: { + type: String, + "default": null + }, + errorIcon: { + type: String, + "default": null + }, + successIcon: { + type: String, + "default": null + }, + closeButtonProps: { + type: null, + "default": null + } + }, + mounted: /* @__PURE__ */ __name(function mounted() { + var _this = this; + if (this.message.life) { + this.closeTimeout = setTimeout(function() { + _this.close({ + message: _this.message, + type: "life-end" + }); + }, this.message.life); + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { + this.clearCloseTimeout(); + }, "beforeUnmount"), + methods: { + close: /* @__PURE__ */ __name(function close(params) { + this.$emit("close", params); + }, "close"), + onCloseClick: /* @__PURE__ */ __name(function onCloseClick() { + this.clearCloseTimeout(); + this.close({ + message: this.message, + type: "close" + }); + }, "onCloseClick"), + clearCloseTimeout: /* @__PURE__ */ __name(function clearCloseTimeout() { + if (this.closeTimeout) { + clearTimeout(this.closeTimeout); + this.closeTimeout = null; + } + }, "clearCloseTimeout") + }, + computed: { + iconComponent: /* @__PURE__ */ __name(function iconComponent() { + return { + info: !this.infoIcon && script$3, + success: !this.successIcon && script$7, + warn: !this.warnIcon && script$4, + error: !this.errorIcon && script$8 + }[this.message.severity]; + }, "iconComponent"), + closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0; + }, "closeAriaLabel") + }, + components: { + TimesIcon: script$9, + InfoCircleIcon: script$3, + CheckIcon: script$7, + ExclamationTriangleIcon: script$4, + TimesCircleIcon: script$8 + }, + directives: { + ripple: Ripple + } +}; +function _typeof$1(o) { + "@babel/helpers - typeof"; + return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$1(o); +} +__name(_typeof$1, "_typeof$1"); +function ownKeys$1(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$1, "ownKeys$1"); +function _objectSpread$1(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$1(Object(t), true).forEach(function(r2) { + _defineProperty$1(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$1, "_objectSpread$1"); +function _defineProperty$1(e, r, t) { + return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$1, "_defineProperty$1"); +function _toPropertyKey$1(t) { + var i = _toPrimitive$1(t, "string"); + return "symbol" == _typeof$1(i) ? i : i + ""; +} +__name(_toPropertyKey$1, "_toPropertyKey$1"); +function _toPrimitive$1(t, r) { + if ("object" != _typeof$1(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$1(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$1, "_toPrimitive$1"); +var _hoisted_1 = ["aria-label"]; +function render$1(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": [_ctx.cx("message"), $props.message.styleClass], + role: "alert", + "aria-live": "assertive", + "aria-atomic": "true" + }, _ctx.ptm("message")), [$props.templates.container ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.container), { + key: 0, + message: $props.message, + closeCallback: $options.onCloseClick + }, null, 8, ["message", "closeCallback"])) : (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": [_ctx.cx("messageContent"), $props.message.contentStyleClass] + }, _ctx.ptm("messageContent")), [!$props.templates.message ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [(openBlock(), createBlock(resolveDynamicComponent($props.templates.messageicon ? $props.templates.messageicon : $props.templates.icon ? $props.templates.icon : $options.iconComponent && $options.iconComponent.name ? $options.iconComponent : "span"), mergeProps({ + "class": _ctx.cx("messageIcon") + }, _ctx.ptm("messageIcon")), null, 16, ["class"])), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("messageText") + }, _ctx.ptm("messageText")), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("summary") + }, _ctx.ptm("summary")), toDisplayString($props.message.summary), 17), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("detail") + }, _ctx.ptm("detail")), toDisplayString($props.message.detail), 17)], 16)], 64)) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.message), { + key: 1, + message: $props.message + }, null, 8, ["message"])), $props.message.closable !== false ? (openBlock(), createElementBlock("div", normalizeProps(mergeProps({ + key: 2 + }, _ctx.ptm("buttonContainer"))), [withDirectives((openBlock(), createElementBlock("button", mergeProps({ + "class": _ctx.cx("closeButton"), + type: "button", + "aria-label": $options.closeAriaLabel, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onCloseClick && $options.onCloseClick.apply($options, arguments); + }), + autofocus: "" + }, _objectSpread$1(_objectSpread$1({}, $props.closeButtonProps), _ctx.ptm("closeButton"))), [(openBlock(), createBlock(resolveDynamicComponent($props.templates.closeicon || "TimesIcon"), mergeProps({ + "class": [_ctx.cx("closeIcon"), $props.closeIcon] + }, _ctx.ptm("closeIcon")), null, 16, ["class"]))], 16, _hoisted_1)), [[_directive_ripple]])], 16)) : createCommentVNode("", true)], 16))], 16); +} +__name(render$1, "render$1"); +script$1.render = render$1; +function _toConsumableArray(r) { + return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); +} +__name(_toConsumableArray, "_toConsumableArray"); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread, "_nonIterableSpread"); +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray, "_unsupportedIterableToArray"); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray, "_iterableToArray"); +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return _arrayLikeToArray(r); +} +__name(_arrayWithoutHoles, "_arrayWithoutHoles"); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray, "_arrayLikeToArray"); +var messageIdx = 0; +var script = { + name: "Toast", + "extends": script$2, + inheritAttrs: false, + emits: ["close", "life-end"], + data: /* @__PURE__ */ __name(function data() { + return { + messages: [] + }; + }, "data"), + styleElement: null, + mounted: /* @__PURE__ */ __name(function mounted2() { + ToastEventBus.on("add", this.onAdd); + ToastEventBus.on("remove", this.onRemove); + ToastEventBus.on("remove-group", this.onRemoveGroup); + ToastEventBus.on("remove-all-groups", this.onRemoveAllGroups); + if (this.breakpoints) { + this.createStyle(); + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { + this.destroyStyle(); + if (this.$refs.container && this.autoZIndex) { + ZIndex.clear(this.$refs.container); + } + ToastEventBus.off("add", this.onAdd); + ToastEventBus.off("remove", this.onRemove); + ToastEventBus.off("remove-group", this.onRemoveGroup); + ToastEventBus.off("remove-all-groups", this.onRemoveAllGroups); + }, "beforeUnmount"), + methods: { + add: /* @__PURE__ */ __name(function add(message2) { + if (message2.id == null) { + message2.id = messageIdx++; + } + this.messages = [].concat(_toConsumableArray(this.messages), [message2]); + }, "add"), + remove: /* @__PURE__ */ __name(function remove(params) { + var index = this.messages.findIndex(function(m) { + return m.id === params.message.id; + }); + if (index !== -1) { + this.messages.splice(index, 1); + this.$emit(params.type, { + message: params.message + }); + } + }, "remove"), + onAdd: /* @__PURE__ */ __name(function onAdd(message2) { + if (this.group == message2.group) { + this.add(message2); + } + }, "onAdd"), + onRemove: /* @__PURE__ */ __name(function onRemove(message2) { + this.remove({ + message: message2, + type: "close" + }); + }, "onRemove"), + onRemoveGroup: /* @__PURE__ */ __name(function onRemoveGroup(group) { + if (this.group === group) { + this.messages = []; + } + }, "onRemoveGroup"), + onRemoveAllGroups: /* @__PURE__ */ __name(function onRemoveAllGroups() { + this.messages = []; + }, "onRemoveAllGroups"), + onEnter: /* @__PURE__ */ __name(function onEnter() { + if (this.autoZIndex) { + ZIndex.set("modal", this.$refs.container, this.baseZIndex || this.$primevue.config.zIndex.modal); + } + }, "onEnter"), + onLeave: /* @__PURE__ */ __name(function onLeave() { + var _this = this; + if (this.$refs.container && this.autoZIndex && isEmpty(this.messages)) { + setTimeout(function() { + ZIndex.clear(_this.$refs.container); + }, 200); + } + }, "onLeave"), + createStyle: /* @__PURE__ */ __name(function createStyle() { + if (!this.styleElement && !this.isUnstyled) { + var _this$$primevue; + this.styleElement = document.createElement("style"); + this.styleElement.type = "text/css"; + setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); + document.head.appendChild(this.styleElement); + var innerHTML = ""; + for (var breakpoint in this.breakpoints) { + var breakpointStyle = ""; + for (var styleProp in this.breakpoints[breakpoint]) { + breakpointStyle += styleProp + ":" + this.breakpoints[breakpoint][styleProp] + "!important;"; + } + innerHTML += "\n @media screen and (max-width: ".concat(breakpoint, ") {\n .p-toast[").concat(this.$attrSelector, "] {\n ").concat(breakpointStyle, "\n }\n }\n "); + } + this.styleElement.innerHTML = innerHTML; + } + }, "createStyle"), + destroyStyle: /* @__PURE__ */ __name(function destroyStyle() { + if (this.styleElement) { + document.head.removeChild(this.styleElement); + this.styleElement = null; + } + }, "destroyStyle") + }, + components: { + ToastMessage: script$1, + Portal: script$a + } +}; +function _typeof(o) { + "@babel/helpers - typeof"; + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof(o); +} +__name(_typeof, "_typeof"); +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys, "ownKeys"); +function _objectSpread(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), true).forEach(function(r2) { + _defineProperty(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread, "_objectSpread"); +function _defineProperty(e, r, t) { + return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty, "_defineProperty"); +function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} +__name(_toPropertyKey, "_toPropertyKey"); +function _toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive, "_toPrimitive"); +function render(_ctx, _cache, $props, $setup, $data, $options) { + var _component_ToastMessage = resolveComponent("ToastMessage"); + var _component_Portal = resolveComponent("Portal"); + return openBlock(), createBlock(_component_Portal, null, { + "default": withCtx(function() { + return [createBaseVNode("div", mergeProps({ + ref: "container", + "class": _ctx.cx("root"), + style: _ctx.sx("root", true, { + position: _ctx.position + }) + }, _ctx.ptmi("root")), [createVNode(TransitionGroup, mergeProps({ + name: "p-toast-message", + tag: "div", + onEnter: $options.onEnter, + onLeave: $options.onLeave + }, _objectSpread({}, _ctx.ptm("transition"))), { + "default": withCtx(function() { + return [(openBlock(true), createElementBlock(Fragment, null, renderList($data.messages, function(msg) { + return openBlock(), createBlock(_component_ToastMessage, { + key: msg.id, + message: msg, + templates: _ctx.$slots, + closeIcon: _ctx.closeIcon, + infoIcon: _ctx.infoIcon, + warnIcon: _ctx.warnIcon, + errorIcon: _ctx.errorIcon, + successIcon: _ctx.successIcon, + closeButtonProps: _ctx.closeButtonProps, + unstyled: _ctx.unstyled, + onClose: _cache[0] || (_cache[0] = function($event) { + return $options.remove($event); + }), + pt: _ctx.pt + }, null, 8, ["message", "templates", "closeIcon", "infoIcon", "warnIcon", "errorIcon", "successIcon", "closeButtonProps", "unstyled", "pt"]); + }), 128))]; + }), + _: 1 + }, 16, ["onEnter", "onLeave"])], 16)]; + }), + _: 1 + }); +} +__name(render, "render"); +script.render = render; +export { + script$3 as a, + script$4 as b, + script as s +}; +//# sourceMappingURL=index-B0BQ8jlU.js.map diff --git a/web/assets/index-DXE47DZl.js b/web/assets/index-BTHx8UHZ.js similarity index 91% rename from web/assets/index-DXE47DZl.js rename to web/assets/index-BTHx8UHZ.js index b25616f6b..71fd1e5d8 100644 --- a/web/assets/index-DXE47DZl.js +++ b/web/assets/index-BTHx8UHZ.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { bZ as script$1, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode } from "./index-DqqhYDnY.js"; +import { bX as script$1, o as openBlock, f as createElementBlock, at as mergeProps, m as createBaseVNode } from "./index-DqXp9vW4.js"; var script = { name: "BarsIcon", "extends": script$1 @@ -24,4 +24,4 @@ script.render = render; export { script as s }; -//# sourceMappingURL=index-DXE47DZl.js.map +//# sourceMappingURL=index-BTHx8UHZ.js.map diff --git a/web/assets/index-C1Hb_Yo9.css b/web/assets/index-CBxvvAzM.css similarity index 92% rename from web/assets/index-C1Hb_Yo9.css rename to web/assets/index-CBxvvAzM.css index 5e62328cf..7bcbd2ed6 100644 --- a/web/assets/index-C1Hb_Yo9.css +++ b/web/assets/index-CBxvvAzM.css @@ -306,6 +306,7 @@ .litegraph .dialog .dialog-footer { height: 50px; padding: 10px; + margin: 0; border-top: 1px solid #1a1a1a; } @@ -442,63 +443,6 @@ color: black; } -.litegraph .subgraph_property { - padding: 4px; -} - -.litegraph .subgraph_property:hover { - background-color: #333; -} - -.litegraph .subgraph_property.extra { - margin-top: 8px; -} - -.litegraph .subgraph_property span.name { - font-size: 1.3em; - padding-left: 4px; -} - -.litegraph .subgraph_property span.type { - opacity: 0.5; - margin-right: 20px; - padding-left: 4px; -} - -.litegraph .subgraph_property span.label { - display: inline-block; - width: 60px; - padding: 0px 10px; -} - -.litegraph .subgraph_property input { - width: 140px; - color: #999; - background-color: #1a1a1a; - border-radius: 4px; - border: 0; - margin-right: 10px; - padding: 4px; - padding-left: 10px; -} - -.litegraph .subgraph_property button { - background-color: #1c1c1c; - color: #aaa; - border: 0; - border-radius: 2px; - padding: 4px 10px; - cursor: pointer; -} - -.litegraph .subgraph_property.extra { - color: #ccc; -} - -.litegraph .subgraph_property.extra input { - background-color: #111; -} - .litegraph .bullet_icon { margin-left: 10px; border-radius: 10px; @@ -661,21 +605,6 @@ .litegraph .dialog .dialog-content { display: block; } -.litegraph .dialog .dialog-content .subgraph_property { - padding: 5px; -} -.litegraph .dialog .dialog-footer { - margin: 0; -} -.litegraph .dialog .dialog-footer .subgraph_property { - margin-top: 0; - display: flex; - align-items: center; - padding: 5px; -} -.litegraph .dialog .dialog-footer .subgraph_property .name { - flex: 1; -} .litegraph .graphdialog { display: flex; align-items: center; @@ -2110,6 +2039,9 @@ .-right-4{ right: -1rem; } + .bottom-0{ + bottom: 0px; + } .bottom-\[10px\]{ bottom: 10px; } @@ -2119,6 +2051,15 @@ .left-0{ left: 0px; } + .left-1\/2{ + left: 50%; + } + .left-12{ + left: 3rem; + } + .left-2{ + left: 0.5rem; + } .left-\[-350px\]{ left: -350px; } @@ -2128,6 +2069,9 @@ .top-0{ top: 0px; } + .top-2{ + top: 0.5rem; + } .top-\[50px\]{ top: 50px; } @@ -2137,6 +2081,9 @@ .z-10{ z-index: 10; } + .z-20{ + z-index: 20; + } .z-\[1000\]{ z-index: 1000; } @@ -2196,6 +2143,10 @@ margin-top: 1rem; margin-bottom: 1rem; } + .my-8{ + margin-top: 2rem; + margin-bottom: 2rem; + } .mb-2{ margin-bottom: 0.5rem; } @@ -2286,6 +2237,9 @@ .h-16{ height: 4rem; } + .h-48{ + height: 12rem; + } .h-6{ height: 1.5rem; } @@ -2331,6 +2285,9 @@ .min-h-screen{ min-height: 100vh; } + .w-0{ + width: 0px; + } .w-1\/2{ width: 50%; } @@ -2343,12 +2300,21 @@ .w-16{ width: 4rem; } + .w-24{ + width: 6rem; + } .w-28{ width: 7rem; } + .w-3{ + width: 0.75rem; + } .w-3\/12{ width: 25%; } + .w-32{ + width: 8rem; + } .w-44{ width: 11rem; } @@ -2458,6 +2424,9 @@ .cursor-pointer{ cursor: pointer; } + .touch-none{ + touch-action: none; + } .select-none{ -webkit-user-select: none; -moz-user-select: none; @@ -2893,6 +2862,10 @@ --tw-text-opacity: 1; color: rgb(239 68 68 / var(--tw-text-opacity)); } + .text-white{ + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); + } .underline{ text-decoration-line: underline; } @@ -3035,8 +3008,6 @@ body { height: 100vh; margin: 0; overflow: hidden; - grid-template-columns: auto 1fr auto; - grid-template-rows: auto 1fr auto; background: var(--bg-color) var(--bg-img); color: var(--fg-color); min-height: -webkit-fill-available; @@ -3046,87 +3017,6 @@ body { font-family: Arial, sans-serif; } -/** - +------------------+------------------+------------------+ - | | - | .comfyui-body- | - | top | - | (spans all cols) | - | | - +------------------+------------------+------------------+ - | | | | - | .comfyui-body- | #graph-canvas | .comfyui-body- | - | left | | right | - | | | | - | | | | - +------------------+------------------+------------------+ - | | - | .comfyui-body- | - | bottom | - | (spans all cols) | - | | - +------------------+------------------+------------------+ -*/ - -.comfyui-body-top { - order: -5; - /* Span across all columns */ - grid-column: 1/-1; - /* Position at the first row */ - grid-row: 1; - /* Top menu bar dropdown needs to be above of graph canvas splitter overlay which is z-index: 999 */ - /* Top menu bar z-index needs to be higher than bottom menu bar z-index as by default - pysssss's image feed is located at body-bottom, and it can overlap with the queue button, which - is located in body-top. */ - z-index: 1001; - display: flex; - flex-direction: column; -} - -.comfyui-body-left { - order: -4; - /* Position in the first column */ - grid-column: 1; - /* Position below the top element */ - grid-row: 2; - z-index: 10; - display: flex; -} - -.graph-canvas-container { - width: 100%; - height: 100%; - order: -3; - grid-column: 2; - grid-row: 2; - position: relative; - overflow: hidden; -} - -#graph-canvas { - width: 100%; - height: 100%; - touch-action: none; -} - -.comfyui-body-right { - order: -2; - z-index: 10; - grid-column: 3; - grid-row: 2; -} - -.comfyui-body-bottom { - order: 4; - /* Span across all columns */ - grid-column: 1/-1; - grid-row: 3; - /* Bottom menu bar dropdown needs to be above of graph canvas splitter overlay which is z-index: 999 */ - z-index: 1000; - display: flex; - flex-direction: column; -} - .comfy-multiline-input { background-color: var(--comfy-input-bg); color: var(--input-text); @@ -3541,84 +3431,6 @@ dialog::backdrop { justify-content: center; } -#comfy-settings-dialog { - padding: 0; - width: 41rem; -} - -#comfy-settings-dialog tr > td:first-child { - text-align: right; -} - -#comfy-settings-dialog tbody button, -#comfy-settings-dialog table > button { - background-color: var(--bg-color); - border: 1px var(--border-color) solid; - border-radius: 0; - color: var(--input-text); - font-size: 1rem; - padding: 0.5rem; -} - -#comfy-settings-dialog button:hover { - background-color: var(--tr-odd-bg-color); -} - -/* General CSS for tables */ - -.comfy-table { - border-collapse: collapse; - color: var(--input-text); - font-family: Arial, sans-serif; - width: 100%; -} - -.comfy-table caption { - position: sticky; - top: 0; - background-color: var(--bg-color); - color: var(--input-text); - font-size: 1rem; - font-weight: bold; - padding: 8px; - text-align: center; - border-bottom: 1px solid var(--border-color); -} - -.comfy-table caption .comfy-btn { - position: absolute; - top: -2px; - right: 0; - bottom: 0; - cursor: pointer; - border: none; - height: 100%; - border-radius: 0; - aspect-ratio: 1/1; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - font-size: 20px; -} - -.comfy-table caption .comfy-btn:focus { - outline: none; -} - -.comfy-table tr:nth-child(even) { - background-color: var(--tr-even-bg-color); -} - -.comfy-table tr:nth-child(odd) { - background-color: var(--tr-odd-bg-color); -} - -.comfy-table td, -.comfy-table th { - border: 1px solid var(--border-color); - padding: 8px; -} - /* Context menu */ .litegraph .dialog { @@ -3718,24 +3530,6 @@ dialog::backdrop { will-change: transform; } -@media only screen and (max-width: 450px) { - #comfy-settings-dialog .comfy-table tbody { - display: grid; - } - #comfy-settings-dialog .comfy-table tr { - display: grid; - } - #comfy-settings-dialog tr > td:first-child { - text-align: center; - border-bottom: none; - padding-bottom: 0; - } - #comfy-settings-dialog tr > td:not(:first-child) { - text-align: center; - border-top: none; - } -} - audio.comfy-audio.empty-audio-widget { display: none; } @@ -3746,7 +3540,6 @@ audio.comfy-audio.empty-audio-widget { left: 0; width: 100%; height: 100%; - pointer-events: none; } /* Set auto complete panel's width as it is not accessible within vue-root */ @@ -3926,7 +3719,7 @@ audio.comfy-audio.empty-audio-widget { padding-top: 0px } -.prompt-dialog-content[data-v-3df70997] { +.prompt-dialog-content[data-v-4f1e3bbe] { white-space: pre-wrap; } @@ -3944,17 +3737,17 @@ audio.comfy-audio.empty-audio-widget { margin-bottom: 1rem; } -.comfy-error-report[data-v-3faf7785] { +.comfy-error-report[data-v-e5000be2] { display: flex; flex-direction: column; gap: 1rem; } -.action-container[data-v-3faf7785] { +.action-container[data-v-e5000be2] { display: flex; gap: 1rem; justify-content: flex-end; } -.wrapper-pre[data-v-3faf7785] { +.wrapper-pre[data-v-e5000be2] { white-space: pre-wrap; word-wrap: break-word; } @@ -4023,13 +3816,13 @@ audio.comfy-audio.empty-audio-widget { padding: 0px; } -.form-input[data-v-1451da7b] .input-slider .p-inputnumber input, -.form-input[data-v-1451da7b] .input-slider .slider-part { +.form-input[data-v-a29c257f] .input-slider .p-inputnumber input, +.form-input[data-v-a29c257f] .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] .p-inputtext, +.form-input[data-v-a29c257f] .p-select { width: 11rem } @@ -4319,26 +4112,26 @@ audio.comfy-audio.empty-audio-widget { position: relative; } -[data-v-250ab9af] .p-terminal .xterm { +[data-v-873a313f] .p-terminal .xterm { overflow-x: auto; } -[data-v-250ab9af] .p-terminal .xterm-screen { +[data-v-873a313f] .p-terminal .xterm-screen { background-color: black; overflow-y: hidden; } -[data-v-90a7f075] .p-terminal .xterm { +[data-v-14fef2e4] .p-terminal .xterm { overflow-x: auto; } -[data-v-90a7f075] .p-terminal .xterm-screen { +[data-v-14fef2e4] .p-terminal .xterm-screen { background-color: black; overflow-y: hidden; } -[data-v-03daf1c8] .p-terminal .xterm { +[data-v-cf0c7d52] .p-terminal .xterm { overflow-x: auto; } -[data-v-03daf1c8] .p-terminal .xterm-screen { +[data-v-cf0c7d52] .p-terminal .xterm-screen { background-color: black; overflow-y: hidden; } @@ -4650,28 +4443,28 @@ audio.comfy-audio.empty-audio-widget { box-sizing: border-box; } -.tree-node[data-v-654109c7] { +.tree-node[data-v-a945b5a8] { width: 100%; display: flex; align-items: center; justify-content: space-between; } -.leaf-count-badge[data-v-654109c7] { +.leaf-count-badge[data-v-a945b5a8] { margin-left: 0.5rem; } -.node-content[data-v-654109c7] { +.node-content[data-v-a945b5a8] { display: flex; align-items: center; flex-grow: 1; } -.leaf-label[data-v-654109c7] { +.leaf-label[data-v-a945b5a8] { margin-left: 0.5rem; } -[data-v-654109c7] .editable-text span { +[data-v-a945b5a8] .editable-text span { word-break: break-all; } -[data-v-976a6d58] .tree-explorer-node-label { +[data-v-e3a237e6] .tree-explorer-node-label { width: 100%; display: flex; align-items: center; @@ -4684,10 +4477,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. */ -[data-v-976a6d58] .p-tree-node-content:has(.tree-folder) { +[data-v-e3a237e6] .p-tree-node-content:has(.tree-folder) { position: relative; } -[data-v-976a6d58] .p-tree-node-content:has(.tree-folder.can-drop)::after { +[data-v-e3a237e6] .p-tree-node-content:has(.tree-folder.can-drop)::after { content: ''; position: absolute; top: 0; @@ -4790,7 +4583,7 @@ audio.comfy-audio.empty-audio-widget { vertical-align: top; } -[data-v-0bb2ac55] .pi-fake-spacer { +[data-v-3be51840] .pi-fake-spacer { height: 1px; width: 16px; } diff --git a/web/assets/index-BYzwFNH3.js b/web/assets/index-D9D9jjLT.js similarity index 98% rename from web/assets/index-BYzwFNH3.js rename to web/assets/index-D9D9jjLT.js index 0673ca94c..22a3f2910 100644 --- a/web/assets/index-BYzwFNH3.js +++ b/web/assets/index-D9D9jjLT.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { da as ComfyDialog, db as $el, dc as ComfyApp, h as app, M as LiteGraph, aF as LGraphCanvas, dd as useExtensionService, de as processDynamicPrompt, b4 as isElectron, b5 as electronAPI, b as useWorkflowStore, bu as checkMirrorReachable, b7 as useDialogService, bc as t, df as DraggableList, aS as useToastStore, $ as LGraphNode, dg as applyTextReplacements, dh as ComfyWidgets, di as addValueControlWidgets, P as useNodeDefStore, dj as serialise, dk as deserialiseAndCreate, aH as api, a as useSettingStore, Z as LGraphGroup, W as nextTick, b0 as lodashExports, aK as setStorageValue, aI as getStorageValue } from "./index-DqqhYDnY.js"; +import { di as ComfyDialog, dj as $el, dk as ComfyApp, h as app, L as LiteGraph, aD as LGraphCanvas, dl as useExtensionService, dm as processDynamicPrompt, b8 as isElectron, b9 as electronAPI, b as useWorkflowStore, by as checkMirrorReachable, bb as useDialogService, bg as t, dn as DraggableList, aW as useToastStore, $ as LGraphNode, dp as applyTextReplacements, dq as ComfyWidgets, dr as addValueControlWidgets, O as useNodeDefStore, a as useSettingStore, ds as serialise, dt as deserialiseAndCreate, aL as api, Z as LGraphGroup, d as defineComponent, T as ref, p as onMounted, d8 as onUnmounted, r as resolveDirective, o as openBlock, f as createElementBlock, k as createVNode, j as unref, l as script, z as withCtx, i as withDirectives, m as createBaseVNode, y as createBlock, aj as normalizeClass, du as script$1, v as vShow, B as createCommentVNode, dv as createApp, cs as Tooltip, N as watch, bm as script$2, dw as PrimeVue, V as nextTick, b4 as lodashExports, aO as setStorageValue, aM as getStorageValue } from "./index-DqXp9vW4.js"; import { P as PYTHON_MIRROR } from "./uvMirrors-B-HKMf6X.js"; class ClipspaceDialog extends ComfyDialog { static { @@ -289,7 +289,7 @@ useExtensionService().registerExtension({ name: "Comfy.DynamicPrompts", nodeCreated(node) { if (node.widgets) { - const widgets = node.widgets.filter((n) => n.dynamicPrompts); + const widgets = node.widgets.filter((w) => w.dynamicPrompts); for (const widget of widgets) { widget.serializeValue = (workflowNode, widgetIndex) => { if (typeof widget.value !== "string") return widget.value; @@ -1627,17 +1627,16 @@ function mergeIfValid(output, config2, forceUpdate, recreateWidget, config1) { return { customConfig }; } __name(mergeIfValid, "mergeIfValid"); -let useConversionSubmenusSetting; app.registerExtension({ name: "Comfy.WidgetInputs", - init() { - useConversionSubmenusSetting = app.ui.settings.addSetting({ + settings: [ + { id: "Comfy.NodeInputConversionSubmenus", name: "In the node context menu, place the entries that convert between input/widget in sub-menus.", type: "boolean", defaultValue: true - }); - }, + } + ], setup() { app.canvas.getWidgetLinkType = function(widget, node) { const nodeDefStore = useNodeDefStore(); @@ -1679,6 +1678,17 @@ app.registerExtension({ convertToInput(this, widget, config); return true; }; + nodeType.prototype.getExtraSlotMenuOptions = function(slot) { + if (!slot.input || !slot.input.widget) return []; + const widget = this.widgets.find((w) => w.name === slot.input.widget.name); + if (!widget) return []; + return [ + { + content: `Convert to widget`, + callback: /* @__PURE__ */ __name(() => convertToWidget(this, widget), "callback") + } + ]; + }; nodeType.prototype.getExtraMenuOptions = function(_, options) { const r = origGetExtraMenuOptions ? origGetExtraMenuOptions.apply(this, arguments) : void 0; const getPointerCanvasPos = /* @__PURE__ */ __name(() => { @@ -1726,7 +1736,7 @@ app.registerExtension({ } } if (toInput.length) { - if (useConversionSubmenusSetting.value) { + if (useSettingStore().get("Comfy.NodeInputConversionSubmenus")) { options.push({ content: "Convert Widget to Input", submenu: { @@ -1738,7 +1748,7 @@ app.registerExtension({ } } if (toWidget.length) { - if (useConversionSubmenusSetting.value) { + if (useSettingStore().get("Comfy.NodeInputConversionSubmenus")) { options.push({ content: "Convert Input to Widget", submenu: { @@ -1801,10 +1811,7 @@ app.registerExtension({ if (!app2.configuringGraph && this.inputs) { for (const input of this.inputs) { if (input.widget && !input.widget[GET_CONFIG]) { - input.widget[GET_CONFIG] = () => ( - // @ts-expect-error input.widget has unknown type - getConfig.call(this, input.widget.name) - ); + input.widget[GET_CONFIG] = () => getConfig.call(this, input.widget.name); const w = this.widgets.find((w2) => w2.name === input.widget.name); if (w) { hideWidget(this, w); @@ -3415,7 +3422,7 @@ class Load3DConfiguration { constructor(load3d) { this.load3d = load3d; } - configure(loadFolder, modelWidget, material, lightIntensity, upDirection, fov2, cameraState, postModelUpdateFunc) { + configure(loadFolder, modelWidget, material, upDirection, cameraState, width = null, height = null, postModelUpdateFunc) { this.setupModelHandling( modelWidget, loadFolder, @@ -3423,11 +3430,21 @@ class Load3DConfiguration { postModelUpdateFunc ); this.setupMaterial(material); - this.setupLighting(lightIntensity); this.setupDirection(upDirection); - this.setupCamera(fov2); + this.setupTargetSize(width, height); this.setupDefaultProperties(); } + setupTargetSize(width, height) { + if (width && height) { + this.load3d.setTargetSize(width.value, height.value); + width.callback = (value) => { + this.load3d.setTargetSize(value, height.value); + }; + height.callback = (value) => { + this.load3d.setTargetSize(width.value, value); + }; + } + } setupModelHandling(modelWidget, loadFolder, cameraState, postModelUpdateFunc) { const onModelWidgetUpdate = this.createModelUpdateHandler( loadFolder, @@ -3447,12 +3464,6 @@ class Load3DConfiguration { material.value ); } - setupLighting(lightIntensity) { - lightIntensity.callback = (value) => { - this.load3d.setLightIntensity(value); - }; - this.load3d.setLightIntensity(lightIntensity.value); - } setupDirection(upDirection) { upDirection.callback = (value) => { this.load3d.setUpDirection(value); @@ -3461,12 +3472,6 @@ class Load3DConfiguration { upDirection.value ); } - setupCamera(fov2) { - fov2.callback = (value) => { - this.load3d.setFOV(value); - }; - this.load3d.setFOV(fov2.value); - } setupDefaultProperties() { const cameraType = this.load3d.loadNodeProperty( "Camera Type", @@ -3477,6 +3482,10 @@ class Load3DConfiguration { this.load3d.toggleGrid(showGrid); const bgColor = this.load3d.loadNodeProperty("Background Color", "#282828"); this.load3d.setBackgroundColor(bgColor); + const lightIntensity = this.load3d.loadNodeProperty("Light Intensity", "5"); + this.load3d.setLightIntensity(lightIntensity); + const fov2 = this.load3d.loadNodeProperty("FOV", "75"); + this.load3d.setFOV(fov2); } createModelUpdateHandler(loadFolder, cameraState, postModelUpdateFunc) { let isFirstLoad = true; @@ -44141,7 +44150,7 @@ class GLTFParser { /** Returns a reference to a shared resource, cloning it if necessary. */ _getNodeRef(cache, index, object) { if (cache.refs[index] <= 1) return object; - const ref = object.clone(); + const ref2 = object.clone(); const updateMappings = /* @__PURE__ */ __name((original, clone) => { const mappings = this.associations.get(original); if (mappings != null) { @@ -44151,9 +44160,9 @@ class GLTFParser { updateMappings(child, clone.children[i]); } }, "updateMappings"); - updateMappings(object, ref); - ref.name += "_instance_" + cache.uses[index]++; - return ref; + updateMappings(object, ref2); + ref2.name += "_instance_" + cache.uses[index]++; + return ref2; } _invokeOne(func) { const extensions = Object.values(this.plugins); @@ -46206,6 +46215,259 @@ class STLLoader extends Loader { return isBinary(binData) ? parseBinary(binData) : parseASCII(ensureString(data)); } } +const _hoisted_1$1 = { class: "absolute top-2 left-2 flex flex-col gap-2 z-20" }; +const _hoisted_2$1 = { class: "pi pi-camera text-white text-lg" }; +const _hoisted_3 = { class: "pi pi-palette text-white text-lg" }; +const _hoisted_4 = ["value"]; +const _hoisted_5 = { + key: 0, + class: "relative" +}; +const _hoisted_6 = { class: "pi pi-sun text-white text-lg" }; +const _hoisted_7 = { + class: "absolute left-12 top-0 bg-black bg-opacity-50 p-4 rounded-lg shadow-lg", + style: { "width": "150px" } +}; +const _hoisted_8 = { + key: 1, + class: "relative" +}; +const _hoisted_9 = { class: "pi pi-expand text-white text-lg" }; +const _hoisted_10 = { + class: "absolute left-12 top-0 bg-black bg-opacity-50 p-4 rounded-lg shadow-lg", + style: { "width": "150px" } +}; +const _hoisted_11 = { key: 2 }; +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "Load3DControls", + props: { + backgroundColor: {}, + showGrid: { type: Boolean }, + showPreview: { type: Boolean }, + lightIntensity: {}, + showLightIntensityButton: { type: Boolean }, + fov: {}, + showFOVButton: { type: Boolean }, + showPreviewButton: { type: Boolean } + }, + emits: ["toggleCamera", "toggleGrid", "updateBackgroundColor", "updateLightIntensity", "updateFOV", "togglePreview"], + setup(__props, { expose: __expose, emit: __emit }) { + const props = __props; + const emit = __emit; + const backgroundColor = ref(props.backgroundColor); + const showGrid = ref(props.showGrid); + const showPreview = ref(props.showPreview); + const colorPickerRef = ref(null); + const lightIntensity = ref(props.lightIntensity); + const showLightIntensity = ref(false); + const showLightIntensityButton = ref(props.showLightIntensityButton); + const fov2 = ref(props.fov); + const showFOV = ref(false); + const showFOVButton = ref(props.showFOVButton); + const showPreviewButton = ref(props.showPreviewButton); + const toggleCamera = /* @__PURE__ */ __name(() => { + emit("toggleCamera"); + }, "toggleCamera"); + const toggleGrid = /* @__PURE__ */ __name(() => { + showGrid.value = !showGrid.value; + emit("toggleGrid", showGrid.value); + }, "toggleGrid"); + const togglePreview = /* @__PURE__ */ __name(() => { + showPreview.value = !showPreview.value; + emit("togglePreview", showPreview.value); + }, "togglePreview"); + const updateBackgroundColor = /* @__PURE__ */ __name((color) => { + emit("updateBackgroundColor", color); + }, "updateBackgroundColor"); + const openColorPicker = /* @__PURE__ */ __name(() => { + colorPickerRef.value?.click(); + }, "openColorPicker"); + const toggleLightIntensity = /* @__PURE__ */ __name(() => { + showLightIntensity.value = !showLightIntensity.value; + }, "toggleLightIntensity"); + const updateLightIntensity = /* @__PURE__ */ __name(() => { + emit("updateLightIntensity", lightIntensity.value); + }, "updateLightIntensity"); + const toggleFOV = /* @__PURE__ */ __name(() => { + showFOV.value = !showFOV.value; + }, "toggleFOV"); + const updateFOV = /* @__PURE__ */ __name(() => { + emit("updateFOV", fov2.value); + }, "updateFOV"); + const closeSlider = /* @__PURE__ */ __name((e) => { + const target = e.target; + if (!target.closest(".relative")) { + showLightIntensity.value = false; + showFOV.value = false; + } + }, "closeSlider"); + onMounted(() => { + document.addEventListener("click", closeSlider); + }); + onUnmounted(() => { + document.removeEventListener("click", closeSlider); + }); + __expose({ + backgroundColor, + showGrid, + lightIntensity, + showLightIntensityButton, + fov: fov2, + showFOVButton, + showPreviewButton + }); + return (_ctx, _cache2) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", _hoisted_1$1, [ + createVNode(unref(script), { + class: "p-button-rounded p-button-text", + onClick: toggleCamera + }, { + default: withCtx(() => [ + withDirectives(createBaseVNode("i", _hoisted_2$1, null, 512), [ + [ + _directive_tooltip, + { value: unref(t)("load3d.switchCamera"), showDelay: 300 }, + void 0, + { right: true } + ] + ]) + ]), + _: 1 + }), + withDirectives((openBlock(), createBlock(unref(script), { + class: normalizeClass(["p-button-rounded p-button-text", { "p-button-outlined": showGrid.value }]), + onClick: toggleGrid + }, { + default: withCtx(() => _cache2[3] || (_cache2[3] = [ + createBaseVNode("i", { class: "pi pi-table text-white text-lg" }, null, -1) + ])), + _: 1 + }, 8, ["class"])), [ + [ + _directive_tooltip, + { value: unref(t)("load3d.showGrid"), showDelay: 300 }, + void 0, + { right: true } + ] + ]), + createVNode(unref(script), { + class: "p-button-rounded p-button-text", + onClick: openColorPicker + }, { + default: withCtx(() => [ + withDirectives(createBaseVNode("i", _hoisted_3, null, 512), [ + [ + _directive_tooltip, + { value: unref(t)("load3d.backgroundColor"), showDelay: 300 }, + void 0, + { right: true } + ] + ]), + createBaseVNode("input", { + type: "color", + ref_key: "colorPickerRef", + ref: colorPickerRef, + value: backgroundColor.value, + onInput: _cache2[0] || (_cache2[0] = ($event) => updateBackgroundColor($event.target.value)), + class: "absolute opacity-0 w-0 h-0 p-0 m-0 pointer-events-none" + }, null, 40, _hoisted_4) + ]), + _: 1 + }), + showLightIntensityButton.value ? (openBlock(), createElementBlock("div", _hoisted_5, [ + createVNode(unref(script), { + class: "p-button-rounded p-button-text", + onClick: toggleLightIntensity + }, { + default: withCtx(() => [ + withDirectives(createBaseVNode("i", _hoisted_6, null, 512), [ + [ + _directive_tooltip, + { + value: unref(t)("load3d.lightIntensity"), + showDelay: 300 + }, + void 0, + { right: true } + ] + ]) + ]), + _: 1 + }), + withDirectives(createBaseVNode("div", _hoisted_7, [ + createVNode(unref(script$1), { + modelValue: lightIntensity.value, + "onUpdate:modelValue": _cache2[1] || (_cache2[1] = ($event) => lightIntensity.value = $event), + class: "w-full", + onChange: updateLightIntensity, + min: 1, + max: 20, + step: 1 + }, null, 8, ["modelValue"]) + ], 512), [ + [vShow, showLightIntensity.value] + ]) + ])) : createCommentVNode("", true), + showFOVButton.value ? (openBlock(), createElementBlock("div", _hoisted_8, [ + createVNode(unref(script), { + class: "p-button-rounded p-button-text", + onClick: toggleFOV + }, { + default: withCtx(() => [ + withDirectives(createBaseVNode("i", _hoisted_9, null, 512), [ + [ + _directive_tooltip, + { value: unref(t)("load3d.fov"), showDelay: 300 }, + void 0, + { right: true } + ] + ]) + ]), + _: 1 + }), + withDirectives(createBaseVNode("div", _hoisted_10, [ + createVNode(unref(script$1), { + modelValue: fov2.value, + "onUpdate:modelValue": _cache2[2] || (_cache2[2] = ($event) => fov2.value = $event), + class: "w-full", + onChange: updateFOV, + min: 10, + max: 150, + step: 1 + }, null, 8, ["modelValue"]) + ], 512), [ + [vShow, showFOV.value] + ]) + ])) : createCommentVNode("", true), + showPreviewButton.value ? (openBlock(), createElementBlock("div", _hoisted_11, [ + createVNode(unref(script), { + class: "p-button-rounded p-button-text", + onClick: togglePreview + }, { + default: withCtx(() => [ + withDirectives(createBaseVNode("i", { + class: normalizeClass([ + "pi", + showPreview.value ? "pi-eye" : "pi-eye-slash", + "text-white text-lg" + ]) + }, null, 2), [ + [ + _directive_tooltip, + { value: unref(t)("load3d.previewOutput"), showDelay: 300 }, + void 0, + { right: true } + ] + ]) + ]), + _: 1 + }) + ])) : createCommentVNode("", true) + ]); + }; + } +}); class Load3d { static { __name(this, "Load3d"); @@ -46237,11 +46499,16 @@ class Load3d { originalRotation = null; viewHelper = {}; viewHelperContainer = {}; - cameraSwitcherContainer = {}; - gridSwitcherContainer = {}; + previewRenderer = null; + previewCamera = null; + previewContainer = {}; + targetWidth = 1024; + targetHeight = 1024; + showPreview = true; node = {}; - bgColorInput = {}; - constructor(container) { + controlsApp = null; + controlsContainer; + constructor(container, options = {}) { this.scene = new Scene(); this.perspectiveCamera = new PerspectiveCamera(75, 1, 0.1, 1e3); this.perspectiveCamera.position.set(5, 5, 5); @@ -46301,12 +46568,45 @@ class Load3d { }); this.standardMaterial = this.createSTLMaterial(); this.createViewHelper(container); - this.createGridSwitcher(container); - this.createCameraSwitcher(container); - this.createColorPicker(container); + if (options && options.createPreview) { + this.createCapturePreview(container); + } + this.controlsContainer = document.createElement("div"); + this.controlsContainer.style.position = "absolute"; + this.controlsContainer.style.top = "0"; + this.controlsContainer.style.left = "0"; + this.controlsContainer.style.width = "100%"; + this.controlsContainer.style.height = "100%"; + this.controlsContainer.style.pointerEvents = "none"; + this.controlsContainer.style.zIndex = "1"; + container.appendChild(this.controlsContainer); + this.mountControls(options); this.handleResize(); this.startAnimation(); } + mountControls(options = {}) { + const controlsMount = document.createElement("div"); + controlsMount.style.pointerEvents = "auto"; + this.controlsContainer.appendChild(controlsMount); + this.controlsApp = createApp(_sfc_main$1, { + backgroundColor: "#282828", + showGrid: true, + showPreview: options.createPreview, + lightIntensity: 5, + showLightIntensityButton: true, + fov: 75, + showFOVButton: true, + showPreviewButton: options.createPreview, + onToggleCamera: /* @__PURE__ */ __name(() => this.toggleCamera(), "onToggleCamera"), + onToggleGrid: /* @__PURE__ */ __name((show) => this.toggleGrid(show), "onToggleGrid"), + onTogglePreview: /* @__PURE__ */ __name((show) => this.togglePreview(show), "onTogglePreview"), + onUpdateBackgroundColor: /* @__PURE__ */ __name((color) => this.setBackgroundColor(color), "onUpdateBackgroundColor"), + onUpdateLightIntensity: /* @__PURE__ */ __name((lightIntensity) => this.setLightIntensity(lightIntensity), "onUpdateLightIntensity"), + onUpdateFOV: /* @__PURE__ */ __name((fov2) => this.setFOV(fov2), "onUpdateFOV") + }); + this.controlsApp.directive("tooltip", Tooltip); + this.controlsApp.mount(controlsMount); + } setNode(node) { this.node = node; } @@ -46321,6 +46621,79 @@ class Load3d { } return this.node.properties[name]; } + createCapturePreview(container) { + this.previewRenderer = new WebGLRenderer({ + alpha: true, + antialias: true + }); + this.previewRenderer.setSize(this.targetWidth, this.targetHeight); + this.previewRenderer.setClearColor(2631720); + this.previewContainer = document.createElement("div"); + this.previewContainer.style.cssText = ` + position: absolute; + right: 0px; + bottom: 0px; + background: rgba(0, 0, 0, 0.2); + display: block; + `; + this.previewContainer.appendChild(this.previewRenderer.domElement); + this.previewContainer.style.display = this.showPreview ? "block" : "none"; + container.appendChild(this.previewContainer); + } + updatePreviewRender() { + if (!this.previewRenderer || !this.previewContainer || !this.showPreview) + return; + if (!this.previewCamera || this.activeCamera instanceof PerspectiveCamera && !(this.previewCamera instanceof PerspectiveCamera) || this.activeCamera instanceof OrthographicCamera && !(this.previewCamera instanceof OrthographicCamera)) { + this.previewCamera = this.activeCamera.clone(); + } + this.previewCamera.position.copy(this.activeCamera.position); + this.previewCamera.rotation.copy(this.activeCamera.rotation); + const aspect2 = this.targetWidth / this.targetHeight; + if (this.activeCamera instanceof OrthographicCamera) { + const activeOrtho = this.activeCamera; + const previewOrtho = this.previewCamera; + const frustumHeight = (activeOrtho.top - activeOrtho.bottom) / activeOrtho.zoom; + const frustumWidth = frustumHeight * aspect2; + previewOrtho.top = frustumHeight / 2; + previewOrtho.left = -frustumWidth / 2; + previewOrtho.right = frustumWidth / 2; + previewOrtho.bottom = -frustumHeight / 2; + previewOrtho.zoom = 1; + previewOrtho.updateProjectionMatrix(); + } else { + ; + this.previewCamera.aspect = aspect2; + this.previewCamera.fov = this.activeCamera.fov; + } + this.previewCamera.lookAt(this.controls.target); + const previewWidth = 120; + const previewHeight = previewWidth * this.targetHeight / this.targetWidth; + this.previewRenderer.setSize(previewWidth, previewHeight, false); + this.previewRenderer.render(this.scene, this.previewCamera); + } + updatePreviewSize() { + if (!this.previewContainer) return; + const previewWidth = 120; + const previewHeight = previewWidth * this.targetHeight / this.targetWidth; + this.previewRenderer?.setSize(previewWidth, previewHeight, false); + } + setTargetSize(width, height) { + this.targetWidth = width; + this.targetHeight = height; + this.updatePreviewSize(); + if (this.previewRenderer && this.previewCamera) { + if (this.previewCamera instanceof PerspectiveCamera) { + this.previewCamera.aspect = width / height; + this.previewCamera.updateProjectionMatrix(); + } else if (this.previewCamera instanceof OrthographicCamera) { + const frustumSize = 10; + const aspect2 = width / height; + this.previewCamera.left = -frustumSize * aspect2 / 2; + this.previewCamera.right = frustumSize * aspect2 / 2; + this.previewCamera.updateProjectionMatrix(); + } + } + } createViewHelper(container) { this.viewHelperContainer = document.createElement("div"); this.viewHelperContainer.style.position = "absolute"; @@ -46342,127 +46715,17 @@ class Load3d { ); this.viewHelper.center = this.controls.target; } - createGridSwitcher(container) { - this.gridSwitcherContainer = document.createElement("div"); - this.gridSwitcherContainer.style.position = "absolute"; - this.gridSwitcherContainer.style.top = "28px"; - this.gridSwitcherContainer.style.left = "3px"; - this.gridSwitcherContainer.style.width = "20px"; - this.gridSwitcherContainer.style.height = "20px"; - this.gridSwitcherContainer.style.cursor = "pointer"; - this.gridSwitcherContainer.style.alignItems = "center"; - this.gridSwitcherContainer.style.justifyContent = "center"; - this.gridSwitcherContainer.style.transition = "background-color 0.2s"; - const gridIcon = document.createElement("div"); - gridIcon.innerHTML = ` - - - - - - - - `; - const updateButtonState = /* @__PURE__ */ __name(() => { - if (this.gridHelper.visible) { - this.gridSwitcherContainer.style.backgroundColor = "rgba(255, 255, 255, 0.2)"; - } else { - this.gridSwitcherContainer.style.backgroundColor = "transparent"; - } - }, "updateButtonState"); - updateButtonState(); - this.gridSwitcherContainer.addEventListener("mouseenter", () => { - if (!this.gridHelper.visible) { - this.gridSwitcherContainer.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; - } - }); - this.gridSwitcherContainer.addEventListener("mouseleave", () => { - if (!this.gridHelper.visible) { - this.gridSwitcherContainer.style.backgroundColor = "transparent"; - } - }); - this.gridSwitcherContainer.title = "Toggle Grid"; - this.gridSwitcherContainer.addEventListener("click", (event) => { - event.stopPropagation(); - this.toggleGrid(!this.gridHelper.visible); - updateButtonState(); - }); - this.gridSwitcherContainer.appendChild(gridIcon); - container.appendChild(this.gridSwitcherContainer); - } - createCameraSwitcher(container) { - this.cameraSwitcherContainer = document.createElement("div"); - this.cameraSwitcherContainer.style.position = "absolute"; - this.cameraSwitcherContainer.style.top = "3px"; - this.cameraSwitcherContainer.style.left = "3px"; - this.cameraSwitcherContainer.style.width = "20px"; - this.cameraSwitcherContainer.style.height = "20px"; - this.cameraSwitcherContainer.style.cursor = "pointer"; - this.cameraSwitcherContainer.style.alignItems = "center"; - this.cameraSwitcherContainer.style.justifyContent = "center"; - const cameraIcon = document.createElement("div"); - cameraIcon.innerHTML = ` - - - - - - `; - this.cameraSwitcherContainer.addEventListener("mouseenter", () => { - this.cameraSwitcherContainer.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; - }); - this.cameraSwitcherContainer.addEventListener("mouseleave", () => { - this.cameraSwitcherContainer.style.backgroundColor = "rgba(0, 0, 0, 0.3)"; - }); - this.cameraSwitcherContainer.title = "Switch Camera (Perspective/Orthographic)"; - this.cameraSwitcherContainer.addEventListener("click", (event) => { - event.stopPropagation(); - this.toggleCamera(); - }); - this.cameraSwitcherContainer.appendChild(cameraIcon); - container.appendChild(this.cameraSwitcherContainer); - } - createColorPicker(container) { - const colorPickerContainer = document.createElement("div"); - colorPickerContainer.style.position = "absolute"; - colorPickerContainer.style.top = "53px"; - colorPickerContainer.style.left = "3px"; - colorPickerContainer.style.width = "20px"; - colorPickerContainer.style.height = "20px"; - colorPickerContainer.style.cursor = "pointer"; - colorPickerContainer.style.alignItems = "center"; - colorPickerContainer.style.justifyContent = "center"; - colorPickerContainer.title = "Background Color"; - const colorInput = document.createElement("input"); - colorInput.type = "color"; - colorInput.style.opacity = "0"; - colorInput.style.position = "absolute"; - colorInput.style.width = "100%"; - colorInput.style.height = "100%"; - colorInput.style.cursor = "pointer"; - const colorIcon = document.createElement("div"); - colorIcon.innerHTML = ` - - - - - - `; - colorInput.addEventListener("input", (event) => { - const color = event.target.value; - this.setBackgroundColor(color); - this.storeNodeProperty("Background Color", color); - }); - this.bgColorInput = colorInput; - colorPickerContainer.appendChild(colorInput); - colorPickerContainer.appendChild(colorIcon); - container.appendChild(colorPickerContainer); - } setFOV(fov2) { if (this.activeCamera === this.perspectiveCamera) { this.perspectiveCamera.fov = fov2; this.perspectiveCamera.updateProjectionMatrix(); this.renderer.render(this.scene, this.activeCamera); + this.storeNodeProperty("FOV", fov2); + } + if (this.previewRenderer && this.previewCamera instanceof PerspectiveCamera) { + this.previewCamera.fov = fov2; + this.previewCamera.updateProjectionMatrix(); + this.previewRenderer.render(this.scene, this.previewCamera); } } getCameraState() { @@ -46475,8 +46738,6 @@ class Load3d { }; } setCameraState(state) { - if (this.activeCamera !== (state.cameraType === "perspective" ? this.perspectiveCamera : this.orthographicCamera)) { - } this.activeCamera.position.copy(state.position); this.controls.target.copy(state.target); if (this.activeCamera instanceof OrthographicCamera) { @@ -46522,6 +46783,9 @@ class Load3d { } setMaterialMode(mode) { this.materialMode = mode; + if (this.controlsApp?._instance?.exposed) { + this.controlsApp._instance.exposed.showLightIntensityButton.value = mode == "original"; + } if (this.currentModel) { if (mode === "depth") { this.renderer.outputColorSpace = LinearSRGBColorSpace; @@ -46641,6 +46905,10 @@ class Load3d { return; } } + if (this.previewCamera) { + this.previewCamera = null; + } + this.previewCamera = this.activeCamera.clone(); this.activeCamera.position.copy(position); this.activeCamera.rotation.copy(rotation); if (this.materialMode === "depth" && oldCamera !== this.activeCamera) { @@ -46655,8 +46923,12 @@ class Load3d { this.viewHelperContainer ); this.viewHelper.center = this.controls.target; + if (this.controlsApp?._instance?.exposed) { + this.controlsApp._instance.exposed.showFOVButton.value = this.getCurrentCameraType() == "perspective"; + } this.storeNodeProperty("Camera Type", this.getCurrentCameraType()); this.handleResize(); + this.updatePreviewRender(); } getCurrentCameraType() { return this.activeCamera === this.perspectiveCamera ? "perspective" : "orthographic"; @@ -46667,6 +46939,13 @@ class Load3d { this.storeNodeProperty("Show Grid", showGrid); } } + togglePreview(showPreview) { + if (this.previewRenderer) { + this.showPreview = showPreview; + this.previewContainer.style.display = this.showPreview ? "block" : "none"; + this.storeNodeProperty("Show Preview", showPreview); + } + } setLightIntensity(intensity) { this.lights.forEach((light) => { if (light instanceof DirectionalLight) { @@ -46683,10 +46962,14 @@ class Load3d { light.intensity = intensity * 0.5; } }); + this.storeNodeProperty("Light Intensity", intensity); } startAnimation() { const animate = /* @__PURE__ */ __name(() => { this.animationFrameId = requestAnimationFrame(animate); + if (this.showPreview) { + this.updatePreviewRender(); + } const delta = this.clock.getDelta(); if (this.viewHelper.animating) { this.viewHelper.update(delta); @@ -46764,6 +47047,10 @@ class Load3d { this.controls.dispose(); this.viewHelper.dispose(); this.renderer.dispose(); + if (this.controlsApp) { + this.controlsApp.unmount(); + this.controlsApp = null; + } this.renderer.domElement.remove(); this.scene.clear(); } @@ -46893,6 +47180,9 @@ class Load3d { this.renderer.toneMappingExposure = 1; this.handleResize(); } + refreshViewport() { + this.handleResize(); + } handleResize() { const parentElement = this.renderer?.domElement?.parentElement; if (!parentElement) { @@ -46914,6 +47204,7 @@ class Load3d { this.orthographicCamera.updateProjectionMatrix(); } this.renderer.setSize(width, height); + this.setTargetSize(this.targetWidth, this.targetHeight); } animate = /* @__PURE__ */ __name(() => { requestAnimationFrame(this.animate); @@ -46923,6 +47214,7 @@ class Load3d { captureScene(width, height) { return new Promise(async (resolve, reject) => { try { + this.updatePreviewSize(); const originalWidth = this.renderer.domElement.width; const originalHeight = this.renderer.domElement.height; const originalClearColor = this.renderer.getClearColor( @@ -46970,11 +47262,161 @@ class Load3d { setBackgroundColor(color) { this.renderer.setClearColor(new Color(color)); this.renderer.render(this.scene, this.activeCamera); - if (this.bgColorInput) { - this.bgColorInput.value = color; + if (this.controlsApp?._instance?.exposed) { + this.controlsApp._instance.exposed.backgroundColor.value = color; } + this.storeNodeProperty("Background Color", color); } } +const _hoisted_1 = { class: "absolute top-0 left-0 w-full h-full pointer-events-none" }; +const _hoisted_2 = { + key: 0, + class: "absolute top-0 left-0 w-full flex justify-center pt-2 gap-2 items-center z-10" +}; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "Load3DAnimationControls", + props: { + animations: {}, + playing: { type: Boolean }, + backgroundColor: {}, + showGrid: { type: Boolean }, + showPreview: { type: Boolean }, + lightIntensity: {}, + showLightIntensityButton: { type: Boolean }, + fov: {}, + showFOVButton: { type: Boolean }, + showPreviewButton: { type: Boolean } + }, + emits: ["toggleCamera", "toggleGrid", "togglePreview", "updateBackgroundColor", "togglePlay", "speedChange", "animationChange", "updateLightIntensity", "updateFOV"], + setup(__props, { expose: __expose, emit: __emit }) { + const props = __props; + const emit = __emit; + const animations = ref(props.animations); + const playing = ref(props.playing); + const selectedSpeed = ref(1); + const selectedAnimation = ref(0); + const backgroundColor = ref(props.backgroundColor); + const showGrid = ref(props.showGrid); + const showPreview = ref(props.showPreview); + const lightIntensity = ref(props.lightIntensity); + const showLightIntensityButton = ref(props.showLightIntensityButton); + const fov2 = ref(props.fov); + const showFOVButton = ref(props.showFOVButton); + const showPreviewButton = ref(props.showPreviewButton); + const load3dControlsRef = ref(null); + const speedOptions = [ + { name: "0.1x", value: 0.1 }, + { name: "0.5x", value: 0.5 }, + { name: "1x", value: 1 }, + { name: "1.5x", value: 1.5 }, + { name: "2x", value: 2 } + ]; + watch(backgroundColor, (newValue) => { + load3dControlsRef.value.backgroundColor = newValue; + }); + watch(showLightIntensityButton, (newValue) => { + load3dControlsRef.value.showLightIntensityButton = newValue; + }); + watch(showFOVButton, (newValue) => { + load3dControlsRef.value.showFOVButton = newValue; + }); + watch(showPreviewButton, (newValue) => { + load3dControlsRef.value.showPreviewButton = newValue; + }); + const onToggleCamera = /* @__PURE__ */ __name(() => { + emit("toggleCamera"); + }, "onToggleCamera"); + const onToggleGrid = /* @__PURE__ */ __name((value) => emit("toggleGrid", value), "onToggleGrid"); + const onTogglePreview = /* @__PURE__ */ __name((value) => { + emit("togglePreview", value); + }, "onTogglePreview"); + const onUpdateBackgroundColor = /* @__PURE__ */ __name((color) => emit("updateBackgroundColor", color), "onUpdateBackgroundColor"); + const onUpdateLightIntensity = /* @__PURE__ */ __name((lightIntensity2) => { + emit("updateLightIntensity", lightIntensity2); + }, "onUpdateLightIntensity"); + const onUpdateFOV = /* @__PURE__ */ __name((fov22) => { + emit("updateFOV", fov22); + }, "onUpdateFOV"); + const togglePlay = /* @__PURE__ */ __name(() => { + playing.value = !playing.value; + emit("togglePlay", playing.value); + }, "togglePlay"); + const speedChange = /* @__PURE__ */ __name(() => { + emit("speedChange", selectedSpeed.value); + }, "speedChange"); + const animationChange = /* @__PURE__ */ __name(() => { + emit("animationChange", selectedAnimation.value); + }, "animationChange"); + __expose({ + animations, + selectedAnimation, + playing, + backgroundColor, + showGrid, + lightIntensity, + showLightIntensityButton, + fov: fov2, + showFOVButton + }); + return (_ctx, _cache2) => { + return openBlock(), createElementBlock("div", _hoisted_1, [ + createVNode(_sfc_main$1, { + backgroundColor: backgroundColor.value, + showGrid: showGrid.value, + showPreview: showPreview.value, + lightIntensity: lightIntensity.value, + showLightIntensityButton: showLightIntensityButton.value, + fov: fov2.value, + showFOVButton: showFOVButton.value, + showPreviewButton: showPreviewButton.value, + onToggleCamera, + onToggleGrid, + onTogglePreview, + onUpdateBackgroundColor, + onUpdateLightIntensity, + onUpdateFOV, + ref_key: "load3dControlsRef", + ref: load3dControlsRef + }, null, 8, ["backgroundColor", "showGrid", "showPreview", "lightIntensity", "showLightIntensityButton", "fov", "showFOVButton", "showPreviewButton"]), + animations.value && animations.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2, [ + createVNode(unref(script), { + class: "p-button-rounded p-button-text", + onClick: togglePlay + }, { + default: withCtx(() => [ + createBaseVNode("i", { + class: normalizeClass([ + "pi", + playing.value ? "pi-pause" : "pi-play", + "text-white text-lg" + ]) + }, null, 2) + ]), + _: 1 + }), + createVNode(unref(script$2), { + modelValue: selectedSpeed.value, + "onUpdate:modelValue": _cache2[0] || (_cache2[0] = ($event) => selectedSpeed.value = $event), + options: speedOptions, + optionLabel: "name", + optionValue: "value", + onChange: speedChange, + class: "w-24" + }, null, 8, ["modelValue"]), + createVNode(unref(script$2), { + modelValue: selectedAnimation.value, + "onUpdate:modelValue": _cache2[1] || (_cache2[1] = ($event) => selectedAnimation.value = $event), + options: animations.value, + optionLabel: "name", + optionValue: "index", + onChange: animationChange, + class: "w-32" + }, null, 8, ["modelValue", "options"]) + ])) : createCommentVNode("", true) + ]); + }; + } +}); class Load3dAnimation extends Load3d { static { __name(this, "Load3dAnimation"); @@ -46985,143 +47427,49 @@ class Load3dAnimation extends Load3d { selectedAnimationIndex = 0; isAnimationPlaying = false; animationSpeed = 1; - playPauseContainer = {}; - animationSelect = {}; - speedSelect = {}; - constructor(container) { - super(container); - this.createPlayPauseButton(container); - this.createAnimationList(container); - this.createSpeedSelect(container); + constructor(container, options = {}) { + super(container, options); } - createAnimationList(container) { - this.animationSelect = document.createElement("select"); - Object.assign(this.animationSelect.style, { - position: "absolute", - top: "3px", - left: "50%", - transform: "translateX(15px)", - width: "90px", - height: "20px", - backgroundColor: "rgba(0, 0, 0, 0.3)", - color: "white", - border: "none", - borderRadius: "4px", - fontSize: "12px", - padding: "0 8px", - cursor: "pointer", - display: "none", - outline: "none" + mountControls(options = {}) { + const controlsMount = document.createElement("div"); + controlsMount.style.pointerEvents = "auto"; + this.controlsContainer.appendChild(controlsMount); + this.controlsApp = createApp(_sfc_main, { + backgroundColor: "#282828", + showGrid: true, + showPreview: options.createPreview, + animations: [], + playing: false, + lightIntensity: 5, + showLightIntensityButton: true, + fov: 75, + showFOVButton: true, + showPreviewButton: options.createPreview, + onToggleCamera: /* @__PURE__ */ __name(() => this.toggleCamera(), "onToggleCamera"), + onToggleGrid: /* @__PURE__ */ __name((show) => this.toggleGrid(show), "onToggleGrid"), + onTogglePreview: /* @__PURE__ */ __name((show) => this.togglePreview(show), "onTogglePreview"), + onUpdateBackgroundColor: /* @__PURE__ */ __name((color) => this.setBackgroundColor(color), "onUpdateBackgroundColor"), + onTogglePlay: /* @__PURE__ */ __name((play) => this.toggleAnimation(play), "onTogglePlay"), + onSpeedChange: /* @__PURE__ */ __name((speed) => this.setAnimationSpeed(speed), "onSpeedChange"), + onAnimationChange: /* @__PURE__ */ __name((selectedAnimation) => this.updateSelectedAnimation(selectedAnimation), "onAnimationChange"), + onUpdateLightIntensity: /* @__PURE__ */ __name((lightIntensity) => this.setLightIntensity(lightIntensity), "onUpdateLightIntensity"), + onUpdateFOV: /* @__PURE__ */ __name((fov2) => this.setFOV(fov2), "onUpdateFOV") }); - this.animationSelect.addEventListener("mouseenter", () => { - this.animationSelect.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; - }); - this.animationSelect.addEventListener("mouseleave", () => { - this.animationSelect.style.backgroundColor = "rgba(0, 0, 0, 0.3)"; - }); - this.animationSelect.addEventListener("change", (event) => { - const select = event.target; - this.updateSelectedAnimation(select.selectedIndex); - }); - container.appendChild(this.animationSelect); + this.controlsApp.use(PrimeVue); + this.controlsApp.directive("tooltip", Tooltip); + this.controlsApp.mount(controlsMount); } updateAnimationList() { - this.animationSelect.innerHTML = ""; - this.animationClips.forEach((clip, index) => { - const option = document.createElement("option"); - option.value = index.toString(); - option.text = clip.name || `Animation ${index + 1}`; - option.selected = index === this.selectedAnimationIndex; - this.animationSelect.appendChild(option); - }); - } - createPlayPauseButton(container) { - this.playPauseContainer = document.createElement("div"); - this.playPauseContainer.style.position = "absolute"; - this.playPauseContainer.style.top = "3px"; - this.playPauseContainer.style.left = "50%"; - this.playPauseContainer.style.transform = "translateX(-50%)"; - this.playPauseContainer.style.width = "20px"; - this.playPauseContainer.style.height = "20px"; - this.playPauseContainer.style.cursor = "pointer"; - this.playPauseContainer.style.alignItems = "center"; - this.playPauseContainer.style.justifyContent = "center"; - const updateButtonState = /* @__PURE__ */ __name(() => { - const icon = this.playPauseContainer.querySelector("svg"); - if (icon) { - if (this.isAnimationPlaying) { - icon.innerHTML = ` - - `; - this.playPauseContainer.title = "Pause Animation"; - } else { - icon.innerHTML = ` - - `; - this.playPauseContainer.title = "Play Animation"; - } + if (this.controlsApp?._instance?.exposed) { + if (this.animationClips.length > 0) { + this.controlsApp._instance.exposed.animations.value = this.animationClips.map((clip, index) => ({ + name: clip.name || `Animation ${index + 1}`, + index + })); + } else { + this.controlsApp._instance.exposed.animations.value = []; } - }, "updateButtonState"); - const playIcon = document.createElement("div"); - playIcon.innerHTML = ` - - - - `; - this.playPauseContainer.addEventListener("mouseenter", () => { - this.playPauseContainer.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; - }); - this.playPauseContainer.addEventListener("mouseleave", () => { - this.playPauseContainer.style.backgroundColor = "transparent"; - }); - this.playPauseContainer.addEventListener("click", (event) => { - event.stopPropagation(); - this.toggleAnimation(); - updateButtonState(); - }); - this.playPauseContainer.appendChild(playIcon); - container.appendChild(this.playPauseContainer); - this.playPauseContainer.style.display = "none"; - } - createSpeedSelect(container) { - this.speedSelect = document.createElement("select"); - Object.assign(this.speedSelect.style, { - position: "absolute", - top: "3px", - left: "50%", - transform: "translateX(-75px)", - width: "60px", - height: "20px", - backgroundColor: "rgba(0, 0, 0, 0.3)", - color: "white", - border: "none", - borderRadius: "4px", - fontSize: "12px", - padding: "0 8px", - cursor: "pointer", - display: "none", - outline: "none" - }); - const speeds = [0.1, 0.5, 1, 1.5, 2]; - speeds.forEach((speed) => { - const option = document.createElement("option"); - option.value = speed.toString(); - option.text = `${speed}x`; - option.selected = speed === 1; - this.speedSelect.appendChild(option); - }); - this.speedSelect.addEventListener("mouseenter", () => { - this.speedSelect.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; - }); - this.speedSelect.addEventListener("mouseleave", () => { - this.speedSelect.style.backgroundColor = "rgba(0, 0, 0, 0.3)"; - }); - this.speedSelect.addEventListener("change", (event) => { - const select = event.target; - const newSpeed = parseFloat(select.value); - this.setAnimationSpeed(newSpeed); - }); - container.appendChild(this.speedSelect); + } } async setupModel(model) { await super.setupModel(model); @@ -47146,21 +47494,7 @@ class Load3dAnimation extends Load3d { this.updateSelectedAnimation(0); } } - if (this.animationClips.length > 0) { - this.playPauseContainer.style.display = "block"; - } else { - this.playPauseContainer.style.display = "none"; - } - if (this.animationClips.length > 0) { - this.playPauseContainer.style.display = "block"; - this.animationSelect.style.display = "block"; - this.speedSelect.style.display = "block"; - this.updateAnimationList(); - } else { - this.playPauseContainer.style.display = "none"; - this.animationSelect.style.display = "none"; - this.speedSelect.style.display = "none"; - } + this.updateAnimationList(); } setAnimationSpeed(speed) { this.animationSpeed = speed; @@ -47192,7 +47526,9 @@ class Load3dAnimation extends Load3d { action.paused = true; } this.animationActions = [action]; - this.updateAnimationList(); + if (this.controlsApp?._instance?.exposed) { + this.controlsApp._instance.exposed.selectedAnimation.value = index; + } } clearModel() { if (this.currentAnimation) { @@ -47206,20 +47542,11 @@ class Load3dAnimation extends Load3d { this.selectedAnimationIndex = 0; this.isAnimationPlaying = false; this.animationSpeed = 1; + if (this.controlsApp?._instance?.exposed) { + this.controlsApp._instance.exposed.animations.value = []; + this.controlsApp._instance.exposed.selectedAnimation.value = 0; + } super.clearModel(); - if (this.animationSelect) { - this.animationSelect.style.display = "none"; - this.animationSelect.innerHTML = ""; - } - if (this.speedSelect) { - this.speedSelect.style.display = "none"; - this.speedSelect.value = "1"; - } - } - getAnimationNames() { - return this.animationClips.map((clip, index) => { - return clip.name || `Animation ${index + 1}`; - }); } toggleAnimation(play) { if (!this.currentAnimation || this.animationActions.length === 0) { @@ -47227,15 +47554,8 @@ class Load3dAnimation extends Load3d { return; } this.isAnimationPlaying = play ?? !this.isAnimationPlaying; - const icon = this.playPauseContainer.querySelector("svg"); - if (icon) { - if (this.isAnimationPlaying) { - icon.innerHTML = ''; - this.playPauseContainer.title = "Pause Animation"; - } else { - icon.innerHTML = ''; - this.playPauseContainer.title = "Play Animation"; - } + if (this.controlsApp?._instance?.exposed) { + this.controlsApp._instance.exposed.playing.value = this.isAnimationPlaying; } this.animationActions.forEach((action) => { if (this.isAnimationPlaying) { @@ -47251,6 +47571,9 @@ class Load3dAnimation extends Load3d { startAnimation() { const animate = /* @__PURE__ */ __name(() => { this.animationFrameId = requestAnimationFrame(animate); + if (this.showPreview) { + this.updatePreviewRender(); + } const delta = this.clock.getDelta(); if (this.currentAnimation && this.isAnimationPlaying) { this.currentAnimation.update(delta); @@ -47269,19 +47592,77 @@ class Load3dAnimation extends Load3d { animate(); } } -const containerToLoad3D = /* @__PURE__ */ new Map(); +class Load3dService { + static { + __name(this, "Load3dService"); + } + static instance; + nodeToLoad3dMap = /* @__PURE__ */ new Map(); + constructor() { + } + static getInstance() { + if (!Load3dService.instance) { + Load3dService.instance = new Load3dService(); + } + return Load3dService.instance; + } + registerLoad3d(node, container, type) { + if (this.nodeToLoad3dMap.has(node)) { + this.removeLoad3d(node); + } + const isAnimation = type.includes("Animation"); + const Load3dClass = isAnimation ? Load3dAnimation : Load3d; + const isPreview = type.includes("Preview"); + const instance = new Load3dClass(container, { createPreview: !isPreview }); + instance.setNode(node); + this.nodeToLoad3dMap.set(node, instance); + return instance; + } + getLoad3d(node) { + return this.nodeToLoad3dMap.get(node) || null; + } + getNodeByLoad3d(load3d) { + for (const [node, instance] of this.nodeToLoad3dMap) { + if (instance === load3d) { + return node; + } + } + return null; + } + removeLoad3d(node) { + const instance = this.nodeToLoad3dMap.get(node); + if (instance) { + instance.remove(); + this.nodeToLoad3dMap.delete(node); + } + } + clear() { + for (const [node] of this.nodeToLoad3dMap) { + this.removeLoad3d(node); + } + } +} +const useLoad3dService = /* @__PURE__ */ __name(() => { + return Load3dService.getInstance(); +}, "useLoad3dService"); app.registerExtension({ name: "Comfy.Load3D", getCustomWidgets(app2) { return { LOAD_3D(node, inputName) { - let load3dNode = app2.graph._nodes.filter((wi) => wi.type == "Load3D"); node.addProperty("Camera Info", ""); const container = document.createElement("div"); - container.id = `comfy-load-3d-${load3dNode.length}`; container.classList.add("comfy-load-3d"); - const load3d = new Load3d(container); - containerToLoad3D.set(container.id, load3d); + const load3d = useLoad3dService().registerLoad3d( + node, + container, + "Load3D" + ); + node.onMouseEnter = function() { + if (load3d) { + load3d.refreshViewport(); + } + }; node.onResize = function() { if (load3d) { load3d.handleResize(); @@ -47292,7 +47673,7 @@ app.registerExtension({ if (load3d) { load3d.remove(); } - containerToLoad3D.delete(container.id); + useLoad3dService().removeLoad3d(node); origOnRemoved?.apply(this, []); }; node.onDrawBackground = function() { @@ -47346,39 +47727,33 @@ app.registerExtension({ const [oldWidth, oldHeight] = node.size; node.setSize([Math.max(oldWidth, 300), Math.max(oldHeight, 600)]); await nextTick(); - const sceneWidget = node.widgets.find((w2) => w2.name === "image"); - const container = sceneWidget.element; - const load3d = containerToLoad3D.get(container.id); - load3d.setNode(node); + const sceneWidget = node.widgets.find((w) => w.name === "image"); + const load3d = useLoad3dService().getLoad3d(node); const modelWidget = node.widgets.find( - (w2) => w2.name === "model_file" - ); - const material = node.widgets.find((w2) => w2.name === "material"); - const lightIntensity = node.widgets.find( - (w2) => w2.name === "light_intensity" + (w) => w.name === "model_file" ); + const material = node.widgets.find((w) => w.name === "material"); const upDirection = node.widgets.find( - (w2) => w2.name === "up_direction" + (w) => w.name === "up_direction" ); - const fov2 = node.widgets.find((w2) => w2.name === "fov"); let cameraState = node.properties["Camera Info"]; const config = new Load3DConfiguration(load3d); + const width = node.widgets.find((w) => w.name === "width"); + const height = node.widgets.find((w) => w.name === "height"); config.configure( "input", modelWidget, material, - lightIntensity, upDirection, - fov2, - cameraState + cameraState, + width, + height ); - const w = node.widgets.find((w2) => w2.name === "width"); - const h = node.widgets.find((w2) => w2.name === "height"); sceneWidget.serializeValue = async () => { node.properties["Camera Info"] = load3d.getCameraState(); const { scene: imageData, mask: maskData } = await load3d.captureScene( - w.value, - h.value + width.value, + height.value ); const [data, dataMask] = await Promise.all([ Load3dUtils.uploadTempImage(imageData, "scene"), @@ -47396,15 +47771,19 @@ app.registerExtension({ getCustomWidgets(app2) { return { LOAD_3D_ANIMATION(node, inputName) { - let load3dNode = app2.graph._nodes.filter( - (wi) => wi.type == "Load3DAnimation" - ); node.addProperty("Camera Info", ""); const container = document.createElement("div"); - container.id = `comfy-load-3d-animation-${load3dNode.length}`; container.classList.add("comfy-load-3d-animation"); - const load3d = new Load3dAnimation(container); - containerToLoad3D.set(container.id, load3d); + const load3d = useLoad3dService().registerLoad3d( + node, + container, + "Load3DAnimation" + ); + node.onMouseEnter = function() { + if (load3d) { + load3d.refreshViewport(); + } + }; node.onResize = function() { if (load3d) { load3d.handleResize(); @@ -47415,7 +47794,7 @@ app.registerExtension({ if (load3d) { load3d.remove(); } - containerToLoad3D.delete(container.id); + useLoad3dService().removeLoad3d(node); origOnRemoved?.apply(this, []); }; node.onDrawBackground = function() { @@ -47467,42 +47846,36 @@ app.registerExtension({ async nodeCreated(node) { if (node.constructor.comfyClass !== "Load3DAnimation") return; const [oldWidth, oldHeight] = node.size; - node.setSize([Math.max(oldWidth, 300), Math.max(oldHeight, 700)]); + node.setSize([Math.max(oldWidth, 400), Math.max(oldHeight, 700)]); await nextTick(); - const sceneWidget = node.widgets.find((w2) => w2.name === "image"); - const container = sceneWidget.element; - const load3d = containerToLoad3D.get(container.id); - load3d.setNode(node); + const sceneWidget = node.widgets.find((w) => w.name === "image"); + const load3d = useLoad3dService().getLoad3d(node); const modelWidget = node.widgets.find( - (w2) => w2.name === "model_file" - ); - const material = node.widgets.find((w2) => w2.name === "material"); - const lightIntensity = node.widgets.find( - (w2) => w2.name === "light_intensity" + (w) => w.name === "model_file" ); + const material = node.widgets.find((w) => w.name === "material"); const upDirection = node.widgets.find( - (w2) => w2.name === "up_direction" + (w) => w.name === "up_direction" ); - const fov2 = node.widgets.find((w2) => w2.name === "fov"); let cameraState = node.properties["Camera Info"]; const config = new Load3DConfiguration(load3d); + const width = node.widgets.find((w) => w.name === "width"); + const height = node.widgets.find((w) => w.name === "height"); config.configure( "input", modelWidget, material, - lightIntensity, upDirection, - fov2, - cameraState + cameraState, + width, + height ); - const w = node.widgets.find((w2) => w2.name === "width"); - const h = node.widgets.find((w2) => w2.name === "height"); sceneWidget.serializeValue = async () => { node.properties["Camera Info"] = load3d.getCameraState(); load3d.toggleAnimation(false); const { scene: imageData, mask: maskData } = await load3d.captureScene( - w.value, - h.value + width.value, + height.value ); const [data, dataMask] = await Promise.all([ Load3dUtils.uploadTempImage(imageData, "scene"), @@ -47528,12 +47901,18 @@ app.registerExtension({ getCustomWidgets(app2) { return { PREVIEW_3D(node, inputName) { - let load3dNode = app2.graph._nodes.filter((wi) => wi.type == "Preview3D"); const container = document.createElement("div"); - container.id = `comfy-preview-3d-${load3dNode.length}`; container.classList.add("comfy-preview-3d"); - const load3d = new Load3d(container); - containerToLoad3D.set(container.id, load3d); + const load3d = useLoad3dService().registerLoad3d( + node, + container, + "Preview3D" + ); + node.onMouseEnter = function() { + if (load3d) { + load3d.refreshViewport(); + } + }; node.onResize = function() { if (load3d) { load3d.handleResize(); @@ -47544,7 +47923,7 @@ app.registerExtension({ if (load3d) { load3d.remove(); } - containerToLoad3D.delete(container.id); + useLoad3dService().removeLoad3d(node); origOnRemoved?.apply(this, []); }; node.onDrawBackground = function() { @@ -47559,23 +47938,16 @@ app.registerExtension({ async nodeCreated(node) { if (node.constructor.comfyClass !== "Preview3D") return; const [oldWidth, oldHeight] = node.size; - node.setSize([Math.max(oldWidth, 300), Math.max(oldHeight, 550)]); + node.setSize([Math.max(oldWidth, 400), Math.max(oldHeight, 550)]); await nextTick(); - const sceneWidget = node.widgets.find((w) => w.name === "image"); - const container = sceneWidget.element; - const load3d = containerToLoad3D.get(container.id); - load3d.setNode(node); + const load3d = useLoad3dService().getLoad3d(node); const modelWidget = node.widgets.find( (w) => w.name === "model_file" ); const material = node.widgets.find((w) => w.name === "material"); - const lightIntensity = node.widgets.find( - (w) => w.name === "light_intensity" - ); const upDirection = node.widgets.find( (w) => w.name === "up_direction" ); - const fov2 = node.widgets.find((w) => w.name === "fov"); const onExecuted = node.onExecuted; node.onExecuted = function(message) { onExecuted?.apply(this, arguments); @@ -47587,14 +47959,7 @@ app.registerExtension({ } modelWidget.value = filePath.replaceAll("\\", "/"); const config = new Load3DConfiguration(load3d); - config.configure( - "output", - modelWidget, - material, - lightIntensity, - upDirection, - fov2 - ); + config.configure("output", modelWidget, material, upDirection); }; } }); @@ -47611,14 +47976,18 @@ app.registerExtension({ getCustomWidgets(app2) { return { PREVIEW_3D_ANIMATION(node, inputName) { - let load3dNode = app2.graph._nodes.filter( - (wi) => wi.type == "Preview3DAnimation" - ); const container = document.createElement("div"); - container.id = `comfy-preview-3d-animation-${load3dNode.length}`; container.classList.add("comfy-preview-3d-animation"); - const load3d = new Load3dAnimation(container); - containerToLoad3D.set(container.id, load3d); + const load3d = useLoad3dService().registerLoad3d( + node, + container, + "Preview3DAnimation" + ); + node.onMouseEnter = function() { + if (load3d) { + load3d.refreshViewport(); + } + }; node.onResize = function() { if (load3d) { load3d.handleResize(); @@ -47629,7 +47998,7 @@ app.registerExtension({ if (load3d) { load3d.remove(); } - containerToLoad3D.delete(container.id); + useLoad3dService().removeLoad3d(node); origOnRemoved?.apply(this, []); }; node.onDrawBackground = function() { @@ -47650,21 +48019,14 @@ app.registerExtension({ const [oldWidth, oldHeight] = node.size; node.setSize([Math.max(oldWidth, 300), Math.max(oldHeight, 550)]); await nextTick(); - const sceneWidget = node.widgets.find((w) => w.name === "image"); - const container = sceneWidget.element; - const load3d = containerToLoad3D.get(container.id); - load3d.setNode(node); + const load3d = useLoad3dService().getLoad3d(node); const modelWidget = node.widgets.find( (w) => w.name === "model_file" ); const material = node.widgets.find((w) => w.name === "material"); - const lightIntensity = node.widgets.find( - (w) => w.name === "light_intensity" - ); const upDirection = node.widgets.find( (w) => w.name === "up_direction" ); - const fov2 = node.widgets.find((w) => w.name === "fov"); const onExecuted = node.onExecuted; node.onExecuted = function(message) { onExecuted?.apply(this, arguments); @@ -47676,14 +48038,7 @@ app.registerExtension({ } modelWidget.value = filePath.replaceAll("\\", "/"); const config = new Load3DConfiguration(load3d); - config.configure( - "output", - modelWidget, - material, - lightIntensity, - upDirection, - fov2 - ); + config.configure("output", modelWidget, material, upDirection); }; } }); @@ -53025,12 +53380,12 @@ app.registerExtension({ __name(this, "NoteNode"); } static category; + static collapsable; + static title_mode; color = LGraphCanvas.node_colors.yellow.color; bgcolor = LGraphCanvas.node_colors.yellow.bgcolor; groupcolor = LGraphCanvas.node_colors.yellow.groupcolor; isVirtualNode; - collapsable; - title_mode; constructor(title) { super(title); if (!this.properties) { @@ -53108,7 +53463,6 @@ app.registerExtension({ }; this.onConnectionsChange = (type, index, connected, link_info) => { if (app2.configuringGraph) return; - this.applyOrientation(); if (connected && type === LiteGraph.OUTPUT) { const types = new Set( this.outputs[0].links.map((l) => app2.graph.links[l].type).filter((t2) => t2 !== "*") @@ -53191,7 +53545,6 @@ app.registerExtension({ node.__outputType = displayType; node.outputs[0].name = node.properties.showOutputText ? displayType : ""; node.size = node.computeSize(); - node.applyOrientation(); for (const l of node.outputs[0].links || []) { const link = app2.graph.links[l]; if (link) { @@ -53261,7 +53614,6 @@ app.registerExtension({ this.outputs[0].name = ""; } this.size = this.computeSize(); - this.applyOrientation(); app2.graph.setDirtyCanvas(true, true); }, "callback") }, @@ -53272,30 +53624,10 @@ app.registerExtension({ !RerouteNode.defaultVisibility ); }, "callback") - }, - { - // naming is inverted with respect to LiteGraphNode.horizontal - // LiteGraphNode.horizontal == true means that - // each slot in the inputs and outputs are laid out horizontally, - // which is the opposite of the visual orientation of the inputs and outputs as a node - content: "Set " + (this.properties.horizontal ? "Horizontal" : "Vertical"), - callback: /* @__PURE__ */ __name(() => { - this.properties.horizontal = !this.properties.horizontal; - this.applyOrientation(); - }, "callback") } ); return []; } - applyOrientation() { - this.horizontal = this.properties.horizontal; - if (this.horizontal) { - this.inputs[0].pos = [this.size[0] / 2, 0]; - } else { - delete this.inputs[0].pos; - } - app2.graph.setDirtyCanvas(true, true); - } computeSize() { return [ this.properties.showOutputText && this.outputs && this.outputs.length ? Math.max( @@ -53725,8 +54057,11 @@ app.registerExtension({ app.registerExtension({ name: "Comfy.UploadImage", beforeRegisterNodeDef(nodeType, nodeData) { - if (nodeData?.input?.required?.image?.[1]?.image_upload === true) { - nodeData.input.required.upload = ["IMAGEUPLOAD"]; + const imageInputSpec = nodeData?.input?.required?.image; + const config = imageInputSpec?.[1] ?? {}; + const { image_upload = false, image_folder = "input" } = config; + if (image_upload && nodeData?.input?.required) { + nodeData.input.required.upload = ["IMAGEUPLOAD", { image_folder }]; } } }); @@ -53844,4 +54179,4 @@ app.registerExtension({ }); } }); -//# sourceMappingURL=index-BYzwFNH3.js.map +//# sourceMappingURL=index-D9D9jjLT.js.map diff --git a/web/assets/index-DKIv7atk.js b/web/assets/index-DSWvxALN.js similarity index 85% rename from web/assets/index-DKIv7atk.js rename to web/assets/index-DSWvxALN.js index 16d4a527b..d7da709c2 100644 --- a/web/assets/index-DKIv7atk.js +++ b/web/assets/index-DSWvxALN.js @@ -1,12 +1,12 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { bA as BaseStyle, bB as script$f, cQ as getWidth, d4 as getHeight, c3 as getOuterWidth, d5 as getOuterHeight, c_ as isRTL, cU as getVNodeProp, d6 as isArray, o as openBlock, f as createElementBlock, as as mergeProps, F as Fragment, D as renderList, y as createBlock, C as resolveDynamicComponent, m as createBaseVNode, B as createCommentVNode, A as renderSlot, bP as getAttribute, bO as findSingle, bE as focus, ce as equals, bS as Ripple, r as resolveDirective, i as withDirectives, z as withCtx, ai as normalizeClass, cR as getOffset, cb as script$g, bU as script$h, cd as isNotEmpty, b_ as script$i, bT as UniqueComponentId, bC as ZIndex, cc as resolveFieldData, c8 as OverlayEventBus, ci as isEmpty, b$ as addStyle, c2 as relativePosition, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, cj as findLastIndex, bg as script$j, cH as script$k, bI as script$l, bR as script$m, ck as script$n, a8 as script$o, bK as resolveComponent, n as normalizeStyle, k as createVNode, E as toDisplayString, bL as Transition, co as createSlots, a7 as createTextVNode, cu as script$p, bZ as script$q, cA as script$r, cB as script$s, bJ as script$t, cv as normalizeProps, d7 as ToastEventBus, c9 as setAttribute, d8 as TransitionGroup, cq as resolve, d9 as nestedPosition, cf as script$u, ch as isPrintableCharacter, l as script$v, cD as script$w, cx as guardReactiveProps } from "./index-DqqhYDnY.js"; -import { s as script$x } from "./index-DXE47DZl.js"; -var theme$7 = /* @__PURE__ */ __name(function theme(_ref) { +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-DqXp9vW4.js"; +import { s as script$q } from "./index-BTHx8UHZ.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"); }, "theme"); -var classes$a = { +var classes$9 = { root: /* @__PURE__ */ __name(function root(_ref2) { var props = _ref2.props; return ["p-splitter p-component", "p-splitter-" + props.layout]; @@ -14,7 +14,7 @@ var classes$a = { gutter: "p-splitter-gutter", gutterHandle: "p-splitter-gutter-handle" }; -var inlineStyles$4 = { +var inlineStyles$3 = { root: /* @__PURE__ */ __name(function root2(_ref3) { var props = _ref3.props; return [{ @@ -27,13 +27,13 @@ var inlineStyles$4 = { }; var SplitterStyle = BaseStyle.extend({ name: "splitter", - theme: theme$7, - classes: classes$a, - inlineStyles: inlineStyles$4 + theme: theme$6, + classes: classes$9, + inlineStyles: inlineStyles$3 }); -var script$1$a = { +var script$1$9 = { name: "BaseSplitter", - "extends": script$f, + "extends": script$c, props: { layout: { type: String, @@ -64,39 +64,39 @@ var script$1$a = { }; }, "provide") }; -function _toConsumableArray$2(r) { - return _arrayWithoutHoles$2(r) || _iterableToArray$2(r) || _unsupportedIterableToArray$2(r) || _nonIterableSpread$2(); +function _toConsumableArray$1(r) { + return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread$1(); } -__name(_toConsumableArray$2, "_toConsumableArray$2"); -function _nonIterableSpread$2() { +__name(_toConsumableArray$1, "_toConsumableArray$1"); +function _nonIterableSpread$1() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -__name(_nonIterableSpread$2, "_nonIterableSpread$2"); -function _unsupportedIterableToArray$2(r, a) { +__name(_nonIterableSpread$1, "_nonIterableSpread$1"); +function _unsupportedIterableToArray$1(r, a) { if (r) { - if ("string" == typeof r) return _arrayLikeToArray$2(r, a); + if ("string" == typeof r) return _arrayLikeToArray$1(r, a); var t = {}.toString.call(r).slice(8, -1); - return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0; + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0; } } -__name(_unsupportedIterableToArray$2, "_unsupportedIterableToArray$2"); -function _iterableToArray$2(r) { +__name(_unsupportedIterableToArray$1, "_unsupportedIterableToArray$1"); +function _iterableToArray$1(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } -__name(_iterableToArray$2, "_iterableToArray$2"); -function _arrayWithoutHoles$2(r) { - if (Array.isArray(r)) return _arrayLikeToArray$2(r); +__name(_iterableToArray$1, "_iterableToArray$1"); +function _arrayWithoutHoles$1(r) { + if (Array.isArray(r)) return _arrayLikeToArray$1(r); } -__name(_arrayWithoutHoles$2, "_arrayWithoutHoles$2"); -function _arrayLikeToArray$2(r, a) { +__name(_arrayWithoutHoles$1, "_arrayWithoutHoles$1"); +function _arrayLikeToArray$1(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } -__name(_arrayLikeToArray$2, "_arrayLikeToArray$2"); -var script$e = { +__name(_arrayLikeToArray$1, "_arrayLikeToArray$1"); +var script$b = { name: "Splitter", - "extends": script$1$a, + "extends": script$1$9, inheritAttrs: false, emits: ["resizestart", "resizeend", "resize"], dragging: false, @@ -138,7 +138,7 @@ var script$e = { initialized = this.restoreState(); } if (!initialized) { - var children = _toConsumableArray$2(this.$el.children).filter(function(child) { + var children = _toConsumableArray$1(this.$el.children).filter(function(child) { return child.getAttribute("data-pc-name") === "splitterpanel"; }); var _panelSizes = []; @@ -398,7 +398,7 @@ var script$e = { var stateString = storage.getItem(this.stateKey); if (stateString) { this.panelSizes = JSON.parse(stateString); - var children = _toConsumableArray$2(this.$el.children).filter(function(child) { + var children = _toConsumableArray$1(this.$el.children).filter(function(child) { return child.getAttribute("data-pc-name") === "splitterpanel"; }); children.forEach(function(child, i) { @@ -450,9 +450,9 @@ var script$e = { }, "getPTOptions") } }; -var _hoisted_1$7 = ["onMousedown", "onTouchstart", "onTouchmove", "onTouchend"]; +var _hoisted_1$6 = ["onMousedown", "onTouchstart", "onTouchmove", "onTouchend"]; var _hoisted_2$4 = ["aria-orientation", "aria-valuenow", "onKeydown"]; -function render$d(_ctx, _cache, $props, $setup, $data, $options) { +function render$a(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", mergeProps({ "class": _ctx.cx("root"), style: _ctx.sx("root"), @@ -495,12 +495,12 @@ function render$d(_ctx, _cache, $props, $setup, $data, $options) { return $options.onGutterKeyDown($event, i); }, "onKeydown"), ref_for: true - }, _ctx.ptm("gutterHandle")), null, 16, _hoisted_2$4)], 16, _hoisted_1$7)) : createCommentVNode("", true)], 64); + }, _ctx.ptm("gutterHandle")), null, 16, _hoisted_2$4)], 16, _hoisted_1$6)) : createCommentVNode("", true)], 64); }), 128))], 16); } -__name(render$d, "render$d"); -script$e.render = render$d; -var classes$9 = { +__name(render$a, "render$a"); +script$b.render = render$a; +var classes$8 = { root: /* @__PURE__ */ __name(function root3(_ref) { var instance = _ref.instance; return ["p-splitterpanel", { @@ -510,11 +510,11 @@ var classes$9 = { }; var SplitterPanelStyle = BaseStyle.extend({ name: "splitterpanel", - classes: classes$9 + classes: classes$8 }); -var script$1$9 = { +var script$1$8 = { name: "BaseSplitterPanel", - "extends": script$f, + "extends": script$c, props: { size: { type: Number, @@ -533,9 +533,9 @@ var script$1$9 = { }; }, "provide") }; -var script$d = { +var script$a = { name: "SplitterPanel", - "extends": script$1$9, + "extends": script$1$8, inheritAttrs: false, data: /* @__PURE__ */ __name(function data2() { return { @@ -559,15 +559,15 @@ var script$d = { }, "getPTOptions") } }; -function render$c(_ctx, _cache, $props, $setup, $data, $options) { +function render$9(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", mergeProps({ ref: "container", "class": _ctx.cx("root") }, _ctx.ptmi("root", $options.getPTOptions)), [renderSlot(_ctx.$slots, "default")], 16); } -__name(render$c, "render$c"); -script$d.render = render$c; -var classes$8 = { +__name(render$9, "render$9"); +script$a.render = render$9; +var classes$7 = { root: /* @__PURE__ */ __name(function root4(_ref) { var instance = _ref.instance, props = _ref.props; return ["p-tab", { @@ -578,11 +578,11 @@ var classes$8 = { }; var TabStyle = BaseStyle.extend({ name: "tab", - classes: classes$8 + classes: classes$7 }); -var script$1$8 = { +var script$1$7 = { name: "BaseTab", - "extends": script$f, + "extends": script$c, props: { value: { type: [String, Number], @@ -609,9 +609,9 @@ var script$1$8 = { }; }, "provide") }; -var script$c = { +var script$9 = { name: "Tab", - "extends": script$1$8, + "extends": script$1$7, inheritAttrs: false, inject: ["$pcTabs", "$pcTabList"], methods: { @@ -758,7 +758,7 @@ var script$c = { ripple: Ripple } }; -function render$b(_ctx, _cache, $props, $setup, $data, $options) { +function render$8(_ctx, _cache, $props, $setup, $data, $options) { var _directive_ripple = resolveDirective("ripple"); return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ key: 0, @@ -777,9 +777,9 @@ function render$b(_ctx, _cache, $props, $setup, $data, $options) { onClick: $options.onClick }); } -__name(render$b, "render$b"); -script$c.render = render$b; -var classes$7 = { +__name(render$8, "render$8"); +script$9.render = render$8; +var classes$6 = { root: "p-tablist", content: /* @__PURE__ */ __name(function content(_ref) { var instance = _ref.instance; @@ -794,11 +794,11 @@ var classes$7 = { }; var TabListStyle = BaseStyle.extend({ name: "tablist", - classes: classes$7 + classes: classes$6 }); -var script$1$7 = { +var script$1$6 = { name: "BaseTabList", - "extends": script$f, + "extends": script$c, props: {}, style: TabListStyle, provide: /* @__PURE__ */ __name(function provide4() { @@ -808,9 +808,9 @@ var script$1$7 = { }; }, "provide") }; -var script$b = { +var script$8 = { name: "TabList", - "extends": script$1$7, + "extends": script$1$6, inheritAttrs: false, inject: ["$pcTabs"], data: /* @__PURE__ */ __name(function data3() { @@ -936,17 +936,17 @@ var script$b = { }, "nextButtonAriaLabel") }, components: { - ChevronLeftIcon: script$g, - ChevronRightIcon: script$h + ChevronLeftIcon: script$d, + ChevronRightIcon: script$e }, directives: { ripple: Ripple } }; -var _hoisted_1$6 = ["aria-label", "tabindex"]; +var _hoisted_1$5 = ["aria-label", "tabindex"]; var _hoisted_2$3 = ["aria-orientation"]; var _hoisted_3$3 = ["aria-label", "tabindex"]; -function render$a(_ctx, _cache, $props, $setup, $data, $options) { +function render$7(_ctx, _cache, $props, $setup, $data, $options) { var _directive_ripple = resolveDirective("ripple"); return openBlock(), createElementBlock("div", mergeProps({ ref: "list", @@ -964,7 +964,7 @@ function render$a(_ctx, _cache, $props, $setup, $data, $options) { "data-pc-group-section": "navigator" }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.previcon || "ChevronLeftIcon"), mergeProps({ "aria-hidden": "true" - }, _ctx.ptm("prevIcon")), null, 16))], 16, _hoisted_1$6)), [[_directive_ripple]]) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + }, _ctx.ptm("prevIcon")), null, 16))], 16, _hoisted_1$5)), [[_directive_ripple]]) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ ref: "content", "class": _ctx.cx("content"), onScroll: _cache[1] || (_cache[1] = function() { @@ -995,23 +995,23 @@ function render$a(_ctx, _cache, $props, $setup, $data, $options) { "aria-hidden": "true" }, _ctx.ptm("nextIcon")), null, 16))], 16, _hoisted_3$3)), [[_directive_ripple]]) : createCommentVNode("", true)], 16); } -__name(render$a, "render$a"); -script$b.render = render$a; -var theme$6 = /* @__PURE__ */ __name(function theme2(_ref) { +__name(render$7, "render$7"); +script$8.render = render$7; +var theme$5 = /* @__PURE__ */ __name(function theme2(_ref) { _ref.dt; return "\n.p-buttongroup {\n display: inline-flex;\n}\n\n.p-buttongroup .p-button {\n margin: 0;\n}\n\n.p-buttongroup .p-button:not(:last-child),\n.p-buttongroup .p-button:not(:last-child):hover {\n border-inline-end: 0 none;\n}\n\n.p-buttongroup .p-button:not(:first-of-type):not(:last-of-type) {\n border-radius: 0;\n}\n\n.p-buttongroup .p-button:first-of-type:not(:only-of-type) {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n}\n\n.p-buttongroup .p-button:last-of-type:not(:only-of-type) {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n\n.p-buttongroup .p-button:focus {\n position: relative;\n z-index: 1;\n}\n"; }, "theme"); -var classes$6 = { +var classes$5 = { root: "p-buttongroup p-component" }; var ButtonGroupStyle = BaseStyle.extend({ name: "buttongroup", - theme: theme$6, - classes: classes$6 + theme: theme$5, + classes: classes$5 }); -var script$1$6 = { +var script$1$5 = { name: "BaseButtonGroup", - "extends": script$f, + "extends": script$c, style: ButtonGroupStyle, provide: /* @__PURE__ */ __name(function provide5() { return { @@ -1020,29 +1020,29 @@ var script$1$6 = { }; }, "provide") }; -var script$a = { +var script$7 = { name: "ButtonGroup", - "extends": script$1$6, + "extends": script$1$5, inheritAttrs: false }; -function render$9(_ctx, _cache, $props, $setup, $data, $options) { +function render$6(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("span", mergeProps({ "class": _ctx.cx("root"), role: "group" }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); } -__name(render$9, "render$9"); -script$a.render = render$9; -var theme$5 = /* @__PURE__ */ __name(function theme3(_ref) { +__name(render$6, "render$6"); +script$7.render = render$6; +var theme$4 = /* @__PURE__ */ __name(function theme3(_ref) { var dt = _ref.dt; return "\n.p-autocomplete {\n display: inline-flex;\n}\n\n.p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n inset-inline-end: ".concat(dt("autocomplete.padding.x"), ";\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-loader {\n inset-inline-end: calc(").concat(dt("autocomplete.dropdown.width"), " + ").concat(dt("autocomplete.padding.x"), ");\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input,\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input-multiple {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n}\n\n.p-autocomplete-dropdown {\n cursor: pointer;\n display: inline-flex;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("autocomplete.dropdown.width"), ";\n border-start-end-radius: ").concat(dt("autocomplete.dropdown.border.radius"), ";\n border-end-end-radius: ").concat(dt("autocomplete.dropdown.border.radius"), ";\n background: ").concat(dt("autocomplete.dropdown.background"), ";\n border: 1px solid ").concat(dt("autocomplete.dropdown.border.color"), ";\n border-inline-start: 0 none;\n color: ").concat(dt("autocomplete.dropdown.color"), ";\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ", outline-color ").concat(dt("autocomplete.transition.duration"), ", box-shadow ").concat(dt("autocomplete.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-autocomplete-dropdown:not(:disabled):hover {\n background: ").concat(dt("autocomplete.dropdown.hover.background"), ";\n border-color: ").concat(dt("autocomplete.dropdown.hover.border.color"), ";\n color: ").concat(dt("autocomplete.dropdown.hover.color"), ";\n}\n\n.p-autocomplete-dropdown:not(:disabled):active {\n background: ").concat(dt("autocomplete.dropdown.active.background"), ";\n border-color: ").concat(dt("autocomplete.dropdown.active.border.color"), ";\n color: ").concat(dt("autocomplete.dropdown.active.color"), ";\n}\n\n.p-autocomplete-dropdown:focus-visible {\n box-shadow: ").concat(dt("autocomplete.dropdown.focus.ring.shadow"), ";\n outline: ").concat(dt("autocomplete.dropdown.focus.ring.width"), " ").concat(dt("autocomplete.dropdown.focus.ring.style"), " ").concat(dt("autocomplete.dropdown.focus.ring.color"), ";\n outline-offset: ").concat(dt("autocomplete.dropdown.focus.ring.offset"), ";\n}\n\n.p-autocomplete .p-autocomplete-overlay {\n min-width: 100%;\n}\n\n.p-autocomplete-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ").concat(dt("autocomplete.overlay.background"), ";\n color: ").concat(dt("autocomplete.overlay.color"), ";\n border: 1px solid ").concat(dt("autocomplete.overlay.border.color"), ";\n border-radius: ").concat(dt("autocomplete.overlay.border.radius"), ";\n box-shadow: ").concat(dt("autocomplete.overlay.shadow"), ";\n}\n\n.p-autocomplete-list-container {\n overflow: auto;\n}\n\n.p-autocomplete-list {\n margin: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("autocomplete.list.gap"), ";\n padding: ").concat(dt("autocomplete.list.padding"), ";\n}\n\n.p-autocomplete-option {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: ").concat(dt("autocomplete.option.padding"), ";\n border: 0 none;\n color: ").concat(dt("autocomplete.option.color"), ";\n background: transparent;\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ";\n border-radius: ").concat(dt("autocomplete.option.border.radius"), ";\n}\n\n.p-autocomplete-option:not(.p-autocomplete-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt("autocomplete.option.focus.background"), ";\n color: ").concat(dt("autocomplete.option.focus.color"), ";\n}\n\n.p-autocomplete-option-selected {\n background: ").concat(dt("autocomplete.option.selected.background"), ";\n color: ").concat(dt("autocomplete.option.selected.color"), ";\n}\n\n.p-autocomplete-option-selected.p-focus {\n background: ").concat(dt("autocomplete.option.selected.focus.background"), ";\n color: ").concat(dt("autocomplete.option.selected.focus.color"), ";\n}\n\n.p-autocomplete-option-group {\n margin: 0;\n padding: ").concat(dt("autocomplete.option.group.padding"), ";\n color: ").concat(dt("autocomplete.option.group.color"), ";\n background: ").concat(dt("autocomplete.option.group.background"), ";\n font-weight: ").concat(dt("autocomplete.option.group.font.weight"), ";\n}\n\n.p-autocomplete-input-multiple {\n margin: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n padding: calc(").concat(dt("autocomplete.padding.y"), " / 2) ").concat(dt("autocomplete.padding.x"), ";\n gap: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n color: ").concat(dt("autocomplete.color"), ";\n background: ").concat(dt("autocomplete.background"), ";\n border: 1px solid ").concat(dt("autocomplete.border.color"), ";\n border-radius: ").concat(dt("autocomplete.border.radius"), ";\n width: 100%;\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ", outline-color ").concat(dt("autocomplete.transition.duration"), ", box-shadow ").concat(dt("autocomplete.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("autocomplete.shadow"), ";\n}\n\n.p-autocomplete:not(.p-disabled):hover .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.hover.border.color"), ";\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.focus.border.color"), ";\n box-shadow: ").concat(dt("autocomplete.focus.ring.shadow"), ";\n outline: ").concat(dt("autocomplete.focus.ring.width"), " ").concat(dt("autocomplete.focus.ring.style"), " ").concat(dt("autocomplete.focus.ring.color"), ";\n outline-offset: ").concat(dt("autocomplete.focus.ring.offset"), ";\n}\n\n.p-autocomplete.p-invalid .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.invalid.border.color"), ";\n}\n\n.p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.background"), ";\n}\n\n.p-autocomplete:not(.p-disabled):hover .p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.hover.background"), ";\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.focus.background"), ";\n}\n\n.p-autocomplete.p-disabled .p-autocomplete-input-multiple {\n opacity: 1;\n background: ").concat(dt("autocomplete.disabled.background"), ";\n color: ").concat(dt("autocomplete.disabled.color"), ";\n}\n\n.p-autocomplete-chip.p-chip {\n padding-block-start: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-block-end: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n border-radius: ").concat(dt("autocomplete.chip.border.radius"), ";\n}\n\n.p-autocomplete-input-multiple:has(.p-autocomplete-chip) {\n padding-inline-start: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-inline-end: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n}\n\n.p-autocomplete-chip-item.p-focus .p-autocomplete-chip {\n background: ").concat(dt("autocomplete.chip.focus.background"), ";\n color: ").concat(dt("autocomplete.chip.focus.color"), ";\n}\n\n.p-autocomplete-input-chip {\n flex: 1 1 auto;\n display: inline-flex;\n padding-block-start: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-block-end: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n}\n\n.p-autocomplete-input-chip input {\n border: 0 none;\n outline: 0 none;\n background: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: inherit;\n}\n\n.p-autocomplete-input-chip input::placeholder {\n color: ").concat(dt("autocomplete.placeholder.color"), ";\n}\n\n.p-autocomplete.p-invalid .p-autocomplete-input-chip input::placeholder {\n color: ").concat(dt("autocomplete.invalid.placeholder.color"), ";\n}\n\n.p-autocomplete-empty-message {\n padding: ").concat(dt("autocomplete.empty.message.padding"), ";\n}\n\n.p-autocomplete-fluid {\n display: flex;\n}\n\n.p-autocomplete-fluid:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n width: 1%;\n}\n\n.p-autocomplete:has(.p-inputtext-sm) .p-autocomplete-dropdown {\n width: ").concat(dt("autocomplete.dropdown.sm.width"), ";\n}\n\n.p-autocomplete:has(.p-inputtext-sm) .p-autocomplete-dropdown .p-icon {\n font-size: ").concat(dt("form.field.sm.font.size"), ";\n width: ").concat(dt("form.field.sm.font.size"), ";\n height: ").concat(dt("form.field.sm.font.size"), ";\n}\n\n.p-autocomplete:has(.p-inputtext-lg) .p-autocomplete-dropdown {\n width: ").concat(dt("autocomplete.dropdown.lg.width"), ";\n}\n\n.p-autocomplete:has(.p-inputtext-lg) .p-autocomplete-dropdown .p-icon {\n font-size: ").concat(dt("form.field.lg.font.size"), ";\n width: ").concat(dt("form.field.lg.font.size"), ";\n height: ").concat(dt("form.field.lg.font.size"), ";\n}\n"); }, "theme"); -var inlineStyles$3 = { +var inlineStyles$2 = { root: { position: "relative" } }; -var classes$5 = { +var classes$4 = { root: /* @__PURE__ */ __name(function root5(_ref2) { var instance = _ref2.instance, props = _ref2.props; return ["p-autocomplete p-component p-inputwrapper", { @@ -1090,13 +1090,13 @@ var classes$5 = { }; var AutoCompleteStyle = BaseStyle.extend({ name: "autocomplete", - theme: theme$5, - classes: classes$5, - inlineStyles: inlineStyles$3 + theme: theme$4, + classes: classes$4, + inlineStyles: inlineStyles$2 }); -var script$1$5 = { +var script$1$4 = { name: "BaseAutoComplete", - "extends": script$i, + "extends": script$f, props: { suggestions: { type: Array, @@ -1271,48 +1271,48 @@ var script$1$5 = { }; }, "provide") }; -function _typeof$1$1(o) { +function _typeof$1(o) { "@babel/helpers - typeof"; - return _typeof$1$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { return typeof o2; } : function(o2) { return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; - }, _typeof$1$1(o); + }, _typeof$1(o); } -__name(_typeof$1$1, "_typeof$1$1"); -function _toConsumableArray$1(r) { - return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread$1(); +__name(_typeof$1, "_typeof$1"); +function _toConsumableArray(r) { + return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } -__name(_toConsumableArray$1, "_toConsumableArray$1"); -function _nonIterableSpread$1() { +__name(_toConsumableArray, "_toConsumableArray"); +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -__name(_nonIterableSpread$1, "_nonIterableSpread$1"); -function _unsupportedIterableToArray$1(r, a) { +__name(_nonIterableSpread, "_nonIterableSpread"); +function _unsupportedIterableToArray(r, a) { if (r) { - if ("string" == typeof r) return _arrayLikeToArray$1(r, a); + if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); - return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0; + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } -__name(_unsupportedIterableToArray$1, "_unsupportedIterableToArray$1"); -function _iterableToArray$1(r) { +__name(_unsupportedIterableToArray, "_unsupportedIterableToArray"); +function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } -__name(_iterableToArray$1, "_iterableToArray$1"); -function _arrayWithoutHoles$1(r) { - if (Array.isArray(r)) return _arrayLikeToArray$1(r); +__name(_iterableToArray, "_iterableToArray"); +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return _arrayLikeToArray(r); } -__name(_arrayWithoutHoles$1, "_arrayWithoutHoles$1"); -function _arrayLikeToArray$1(r, a) { +__name(_arrayWithoutHoles, "_arrayWithoutHoles"); +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } -__name(_arrayLikeToArray$1, "_arrayLikeToArray$1"); -var script$9 = { +__name(_arrayLikeToArray, "_arrayLikeToArray"); +var script$6 = { name: "AutoComplete", - "extends": script$1$5, + "extends": script$1$4, inheritAttrs: false, emits: ["change", "focus", "blur", "item-select", "item-unselect", "option-select", "option-unselect", "dropdown-click", "clear", "complete", "before-show", "before-hide", "show", "hide"], inject: { @@ -1609,7 +1609,7 @@ var script$9 = { if (this.multiple) { this.$refs.focusInput.value = ""; if (!this.isSelected(option2)) { - this.updateModel(event, [].concat(_toConsumableArray$1(this.d_value || []), [value])); + this.updateModel(event, [].concat(_toConsumableArray(this.d_value || []), [value])); } } else { this.updateModel(event, value); @@ -1707,7 +1707,7 @@ var script$9 = { onEnterKey: /* @__PURE__ */ __name(function onEnterKey2(event) { if (!this.typeahead) { if (this.multiple) { - this.updateModel(event, [].concat(_toConsumableArray$1(this.d_value || []), [event.target.value])); + this.updateModel(event, [].concat(_toConsumableArray(this.d_value || []), [event.target.value])); this.$refs.focusInput.value = ""; } } else { @@ -2023,7 +2023,7 @@ var script$9 = { }, "visibleOptions"), inputValue: /* @__PURE__ */ __name(function inputValue() { if (this.$filled) { - if (_typeof$1$1(this.d_value) === "object") { + if (_typeof$1(this.d_value) === "object") { var label = this.getOptionLabel(this.d_value); return label != null ? label : this.d_value; } else { @@ -2081,27 +2081,27 @@ var script$9 = { }, "panelId") }, components: { - InputText: script$j, - VirtualScroller: script$k, - Portal: script$l, - ChevronDownIcon: script$m, - SpinnerIcon: script$n, - Chip: script$o + InputText: script$g, + VirtualScroller: script$h, + Portal: script$i, + ChevronDownIcon: script$j, + SpinnerIcon: script$k, + Chip: script$l }, directives: { ripple: Ripple } }; -function _typeof$4(o) { +function _typeof$2(o) { "@babel/helpers - typeof"; - return _typeof$4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { return typeof o2; } : function(o2) { return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; - }, _typeof$4(o); + }, _typeof$2(o); } -__name(_typeof$4, "_typeof$4"); -function ownKeys$3(e, r) { +__name(_typeof$2, "_typeof$2"); +function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); @@ -2111,40 +2111,40 @@ function ownKeys$3(e, r) { } return t; } -__name(ownKeys$3, "ownKeys$3"); -function _objectSpread$3(e) { +__name(ownKeys$1, "ownKeys$1"); +function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$3(Object(t), true).forEach(function(r2) { - _defineProperty$4(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function(r2) { + r % 2 ? ownKeys$1(Object(t), true).forEach(function(r2) { + _defineProperty$1(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r2) { Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); }); } return e; } -__name(_objectSpread$3, "_objectSpread$3"); -function _defineProperty$4(e, r, t) { - return (r = _toPropertyKey$4(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +__name(_objectSpread$1, "_objectSpread$1"); +function _defineProperty$1(e, r, t) { + return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; } -__name(_defineProperty$4, "_defineProperty$4"); -function _toPropertyKey$4(t) { - var i = _toPrimitive$4(t, "string"); - return "symbol" == _typeof$4(i) ? i : i + ""; +__name(_defineProperty$1, "_defineProperty$1"); +function _toPropertyKey$1(t) { + var i = _toPrimitive$1(t, "string"); + return "symbol" == _typeof$2(i) ? i : i + ""; } -__name(_toPropertyKey$4, "_toPropertyKey$4"); -function _toPrimitive$4(t, r) { - if ("object" != _typeof$4(t) || !t) return t; +__name(_toPropertyKey$1, "_toPropertyKey$1"); +function _toPrimitive$1(t, r) { + if ("object" != _typeof$2(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); - if ("object" != _typeof$4(i)) return i; + if ("object" != _typeof$2(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } -__name(_toPrimitive$4, "_toPrimitive$4"); -var _hoisted_1$5 = ["aria-activedescendant"]; +__name(_toPrimitive$1, "_toPrimitive$1"); +var _hoisted_1$4 = ["aria-activedescendant"]; var _hoisted_2$2 = ["id", "aria-label", "aria-setsize", "aria-posinset"]; var _hoisted_3$2 = ["id", "placeholder", "tabindex", "disabled", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-invalid"]; var _hoisted_4$2 = ["disabled", "aria-expanded", "aria-controls"]; @@ -2152,7 +2152,7 @@ var _hoisted_5$2 = ["id"]; var _hoisted_6$1 = ["id", "aria-label"]; var _hoisted_7 = ["id"]; var _hoisted_8 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousemove", "data-p-selected", "data-p-focus", "data-p-disabled"]; -function render$8(_ctx, _cache, $props, $setup, $data, $options) { +function render$5(_ctx, _cache, $props, $setup, $data, $options) { var _component_InputText = resolveComponent("InputText"); var _component_Chip = resolveComponent("Chip"); var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); @@ -2243,7 +2243,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) { removeIcon: _ctx.chipIcon || _ctx.removeTokenIcon, removable: "", unstyled: _ctx.unstyled, - onRemove: /* @__PURE__ */ __name(function onRemove2($event) { + onRemove: /* @__PURE__ */ __name(function onRemove($event) { return $options.removeOption($event, i); }, "onRemove"), pt: _ctx.ptm("pcChip") @@ -2297,7 +2297,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) { onChange: _cache[4] || (_cache[4] = function() { return $options.onChange && $options.onChange.apply($options, arguments); }) - }, _ctx.ptm("input")), null, 16, _hoisted_3$2)], 16)], 16, _hoisted_1$5)) : createCommentVNode("", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? "loader" : "loadingicon", { + }, _ctx.ptm("input")), null, 16, _hoisted_3$2)], 16)], 16, _hoisted_1$4)) : createCommentVNode("", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? "loader" : "loadingicon", { key: 2, "class": normalizeClass(_ctx.cx("loader")) }, function() { @@ -2358,7 +2358,7 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) { ref: $options.overlayRef, id: $options.panelId, "class": [_ctx.cx("overlay"), _ctx.panelClass, _ctx.overlayClass], - style: _objectSpread$3(_objectSpread$3({}, _ctx.panelStyle), _ctx.overlayStyle), + style: _objectSpread$1(_objectSpread$1({}, _ctx.panelStyle), _ctx.overlayStyle), onClick: _cache[9] || (_cache[9] = function() { return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); }), @@ -2480,23 +2480,23 @@ function render$8(_ctx, _cache, $props, $setup, $data, $options) { _: 3 }, 8, ["appendTo"])], 16); } -__name(render$8, "render$8"); -script$9.render = render$8; -var theme$4 = /* @__PURE__ */ __name(function theme4(_ref) { +__name(render$5, "render$5"); +script$6.render = render$5; +var theme$3 = /* @__PURE__ */ __name(function theme4(_ref) { var dt = _ref.dt; return "\n.p-overlaybadge {\n position: relative;\n}\n\n.p-overlaybadge .p-badge {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n transform: translate(50%, -50%);\n transform-origin: 100% 0;\n margin: 0;\n outline-width: ".concat(dt("overlaybadge.outline.width"), ";\n outline-style: solid;\n outline-color: ").concat(dt("overlaybadge.outline.color"), ";\n}\n\n.p-overlaybadge .p-badge:dir(rtl) {\n transform: translate(-50%, -50%);\n}\n"); }, "theme"); -var classes$4 = { +var classes$3 = { root: "p-overlaybadge" }; var OverlayBadgeStyle = BaseStyle.extend({ name: "overlaybadge", - theme: theme$4, - classes: classes$4 + theme: theme$3, + classes: classes$3 }); -var script$1$4 = { +var script$1$3 = { name: "OverlayBadge", - "extends": script$p, + "extends": script$m, style: OverlayBadgeStyle, provide: /* @__PURE__ */ __name(function provide7() { return { @@ -2505,15 +2505,15 @@ var script$1$4 = { }; }, "provide") }; -var script$8 = { +var script$5 = { name: "OverlayBadge", - "extends": script$1$4, + "extends": script$1$3, inheritAttrs: false, components: { - Badge: script$p + Badge: script$m } }; -function render$7(_ctx, _cache, $props, $setup, $data, $options) { +function render$4(_ctx, _cache, $props, $setup, $data, $options) { var _component_Badge = resolveComponent("Badge"); return openBlock(), createElementBlock("div", mergeProps({ "class": _ctx.cx("root") @@ -2521,618 +2521,9 @@ function render$7(_ctx, _cache, $props, $setup, $data, $options) { pt: _ctx.ptm("pcBadge") }), null, 16, ["pt"])], 16); } -__name(render$7, "render$7"); -script$8.render = render$7; -function _typeof$3(o) { - "@babel/helpers - typeof"; - return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { - return typeof o2; - } : function(o2) { - return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; - }, _typeof$3(o); -} -__name(_typeof$3, "_typeof$3"); -function _defineProperty$3(e, r, t) { - return (r = _toPropertyKey$3(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$3, "_defineProperty$3"); -function _toPropertyKey$3(t) { - var i = _toPrimitive$3(t, "string"); - return "symbol" == _typeof$3(i) ? i : i + ""; -} -__name(_toPropertyKey$3, "_toPropertyKey$3"); -function _toPrimitive$3(t, r) { - if ("object" != _typeof$3(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i = e.call(t, r || "default"); - if ("object" != _typeof$3(i)) return i; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$3, "_toPrimitive$3"); -var theme$3 = /* @__PURE__ */ __name(function theme5(_ref) { - var dt = _ref.dt; - return "\n.p-toast {\n width: ".concat(dt("toast.width"), ";\n white-space: pre-line;\n word-break: break-word;\n}\n\n.p-toast-message {\n margin: 0 0 1rem 0;\n}\n\n.p-toast-message-icon {\n flex-shrink: 0;\n font-size: ").concat(dt("toast.icon.size"), ";\n width: ").concat(dt("toast.icon.size"), ";\n height: ").concat(dt("toast.icon.size"), ";\n}\n\n.p-toast-message-content {\n display: flex;\n align-items: flex-start;\n padding: ").concat(dt("toast.content.padding"), ";\n gap: ").concat(dt("toast.content.gap"), ";\n}\n\n.p-toast-message-text {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("toast.text.gap"), ";\n}\n\n.p-toast-summary {\n font-weight: ").concat(dt("toast.summary.font.weight"), ";\n font-size: ").concat(dt("toast.summary.font.size"), ";\n}\n\n.p-toast-detail {\n font-weight: ").concat(dt("toast.detail.font.weight"), ";\n font-size: ").concat(dt("toast.detail.font.size"), ";\n}\n\n.p-toast-close-button {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n cursor: pointer;\n background: transparent;\n transition: background ").concat(dt("toast.transition.duration"), ", color ").concat(dt("toast.transition.duration"), ", outline-color ").concat(dt("toast.transition.duration"), ", box-shadow ").concat(dt("toast.transition.duration"), ";\n outline-color: transparent;\n color: inherit;\n width: ").concat(dt("toast.close.button.width"), ";\n height: ").concat(dt("toast.close.button.height"), ";\n border-radius: ").concat(dt("toast.close.button.border.radius"), ";\n margin: -25% 0 0 0;\n right: -25%;\n padding: 0;\n border: none;\n user-select: none;\n}\n\n.p-toast-close-button:dir(rtl) {\n margin: -25% 0 0 auto;\n left: -25%;\n right: auto;\n}\n\n.p-toast-message-info,\n.p-toast-message-success,\n.p-toast-message-warn,\n.p-toast-message-error,\n.p-toast-message-secondary,\n.p-toast-message-contrast {\n border-width: ").concat(dt("toast.border.width"), ";\n border-style: solid;\n backdrop-filter: blur(").concat(dt("toast.blur"), ");\n border-radius: ").concat(dt("toast.border.radius"), ";\n}\n\n.p-toast-close-icon {\n font-size: ").concat(dt("toast.close.icon.size"), ";\n width: ").concat(dt("toast.close.icon.size"), ";\n height: ").concat(dt("toast.close.icon.size"), ";\n}\n\n.p-toast-close-button:focus-visible {\n outline-width: ").concat(dt("focus.ring.width"), ";\n outline-style: ").concat(dt("focus.ring.style"), ";\n outline-offset: ").concat(dt("focus.ring.offset"), ";\n}\n\n.p-toast-message-info {\n background: ").concat(dt("toast.info.background"), ";\n border-color: ").concat(dt("toast.info.border.color"), ";\n color: ").concat(dt("toast.info.color"), ";\n box-shadow: ").concat(dt("toast.info.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-detail {\n color: ").concat(dt("toast.info.detail.color"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.info.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.info.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:hover {\n background: ").concat(dt("toast.info.close.button.hover.background"), ";\n}\n\n.p-toast-message-success {\n background: ").concat(dt("toast.success.background"), ";\n border-color: ").concat(dt("toast.success.border.color"), ";\n color: ").concat(dt("toast.success.color"), ";\n box-shadow: ").concat(dt("toast.success.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-detail {\n color: ").concat(dt("toast.success.detail.color"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.success.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.success.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:hover {\n background: ").concat(dt("toast.success.close.button.hover.background"), ";\n}\n\n.p-toast-message-warn {\n background: ").concat(dt("toast.warn.background"), ";\n border-color: ").concat(dt("toast.warn.border.color"), ";\n color: ").concat(dt("toast.warn.color"), ";\n box-shadow: ").concat(dt("toast.warn.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-detail {\n color: ").concat(dt("toast.warn.detail.color"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.warn.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.warn.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:hover {\n background: ").concat(dt("toast.warn.close.button.hover.background"), ";\n}\n\n.p-toast-message-error {\n background: ").concat(dt("toast.error.background"), ";\n border-color: ").concat(dt("toast.error.border.color"), ";\n color: ").concat(dt("toast.error.color"), ";\n box-shadow: ").concat(dt("toast.error.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-detail {\n color: ").concat(dt("toast.error.detail.color"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.error.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.error.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:hover {\n background: ").concat(dt("toast.error.close.button.hover.background"), ";\n}\n\n.p-toast-message-secondary {\n background: ").concat(dt("toast.secondary.background"), ";\n border-color: ").concat(dt("toast.secondary.border.color"), ";\n color: ").concat(dt("toast.secondary.color"), ";\n box-shadow: ").concat(dt("toast.secondary.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-detail {\n color: ").concat(dt("toast.secondary.detail.color"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.secondary.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.secondary.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:hover {\n background: ").concat(dt("toast.secondary.close.button.hover.background"), ";\n}\n\n.p-toast-message-contrast {\n background: ").concat(dt("toast.contrast.background"), ";\n border-color: ").concat(dt("toast.contrast.border.color"), ";\n color: ").concat(dt("toast.contrast.color"), ";\n box-shadow: ").concat(dt("toast.contrast.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-detail {\n color: ").concat(dt("toast.contrast.detail.color"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.contrast.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.contrast.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:hover {\n background: ").concat(dt("toast.contrast.close.button.hover.background"), ";\n}\n\n.p-toast-top-center {\n transform: translateX(-50%);\n}\n\n.p-toast-bottom-center {\n transform: translateX(-50%);\n}\n\n.p-toast-center {\n min-width: 20vw;\n transform: translate(-50%, -50%);\n}\n\n.p-toast-message-enter-from {\n opacity: 0;\n transform: translateY(50%);\n}\n\n.p-toast-message-leave-from {\n max-height: 1000px;\n}\n\n.p-toast .p-toast-message.p-toast-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin-bottom: 0;\n overflow: hidden;\n}\n\n.p-toast-message-enter-active {\n transition: transform 0.3s, opacity 0.3s;\n}\n\n.p-toast-message-leave-active {\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s;\n}\n"); -}, "theme"); -var inlineStyles$2 = { - root: /* @__PURE__ */ __name(function root6(_ref2) { - var position = _ref2.position; - return { - position: "fixed", - top: position === "top-right" || position === "top-left" || position === "top-center" ? "20px" : position === "center" ? "50%" : null, - right: (position === "top-right" || position === "bottom-right") && "20px", - bottom: (position === "bottom-left" || position === "bottom-right" || position === "bottom-center") && "20px", - left: position === "top-left" || position === "bottom-left" ? "20px" : position === "center" || position === "top-center" || position === "bottom-center" ? "50%" : null - }; - }, "root") -}; -var classes$3 = { - root: /* @__PURE__ */ __name(function root7(_ref3) { - var props = _ref3.props; - return ["p-toast p-component p-toast-" + props.position]; - }, "root"), - message: /* @__PURE__ */ __name(function message(_ref4) { - var props = _ref4.props; - return ["p-toast-message", { - "p-toast-message-info": props.message.severity === "info" || props.message.severity === void 0, - "p-toast-message-warn": props.message.severity === "warn", - "p-toast-message-error": props.message.severity === "error", - "p-toast-message-success": props.message.severity === "success", - "p-toast-message-secondary": props.message.severity === "secondary", - "p-toast-message-contrast": props.message.severity === "contrast" - }]; - }, "message"), - messageContent: "p-toast-message-content", - messageIcon: /* @__PURE__ */ __name(function messageIcon(_ref5) { - var props = _ref5.props; - return ["p-toast-message-icon", _defineProperty$3(_defineProperty$3(_defineProperty$3(_defineProperty$3({}, props.infoIcon, props.message.severity === "info"), props.warnIcon, props.message.severity === "warn"), props.errorIcon, props.message.severity === "error"), props.successIcon, props.message.severity === "success")]; - }, "messageIcon"), - messageText: "p-toast-message-text", - summary: "p-toast-summary", - detail: "p-toast-detail", - closeButton: "p-toast-close-button", - closeIcon: "p-toast-close-icon" -}; -var ToastStyle = BaseStyle.extend({ - name: "toast", - theme: theme$3, - classes: classes$3, - inlineStyles: inlineStyles$2 -}); -var script$7 = { - name: "ExclamationTriangleIcon", - "extends": script$q -}; -function render$6(_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", { - d: "M13.4018 13.1893H0.598161C0.49329 13.189 0.390283 13.1615 0.299143 13.1097C0.208003 13.0578 0.131826 12.9832 0.0780112 12.8932C0.0268539 12.8015 0 12.6982 0 12.5931C0 12.4881 0.0268539 12.3848 0.0780112 12.293L6.47985 1.08982C6.53679 1.00399 6.61408 0.933574 6.70484 0.884867C6.7956 0.836159 6.897 0.810669 7 0.810669C7.103 0.810669 7.2044 0.836159 7.29516 0.884867C7.38592 0.933574 7.46321 1.00399 7.52015 1.08982L13.922 12.293C13.9731 12.3848 14 12.4881 14 12.5931C14 12.6982 13.9731 12.8015 13.922 12.8932C13.8682 12.9832 13.792 13.0578 13.7009 13.1097C13.6097 13.1615 13.5067 13.189 13.4018 13.1893ZM1.63046 11.989H12.3695L7 2.59425L1.63046 11.989Z", - fill: "currentColor" - }, null, -1), createBaseVNode("path", { - d: "M6.99996 8.78801C6.84143 8.78594 6.68997 8.72204 6.57787 8.60993C6.46576 8.49782 6.40186 8.34637 6.39979 8.18784V5.38703C6.39979 5.22786 6.46302 5.0752 6.57557 4.96265C6.68813 4.85009 6.84078 4.78686 6.99996 4.78686C7.15914 4.78686 7.31179 4.85009 7.42435 4.96265C7.5369 5.0752 7.60013 5.22786 7.60013 5.38703V8.18784C7.59806 8.34637 7.53416 8.49782 7.42205 8.60993C7.30995 8.72204 7.15849 8.78594 6.99996 8.78801Z", - fill: "currentColor" - }, null, -1), createBaseVNode("path", { - d: "M6.99996 11.1887C6.84143 11.1866 6.68997 11.1227 6.57787 11.0106C6.46576 10.8985 6.40186 10.7471 6.39979 10.5885V10.1884C6.39979 10.0292 6.46302 9.87658 6.57557 9.76403C6.68813 9.65147 6.84078 9.58824 6.99996 9.58824C7.15914 9.58824 7.31179 9.65147 7.42435 9.76403C7.5369 9.87658 7.60013 10.0292 7.60013 10.1884V10.5885C7.59806 10.7471 7.53416 10.8985 7.42205 11.0106C7.30995 11.1227 7.15849 11.1866 6.99996 11.1887Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$6, "render$6"); -script$7.render = render$6; -var script$6 = { - name: "InfoCircleIcon", - "extends": script$q -}; -function render$5(_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: "M3.11101 12.8203C4.26215 13.5895 5.61553 14 7 14C8.85652 14 10.637 13.2625 11.9497 11.9497C13.2625 10.637 14 8.85652 14 7C14 5.61553 13.5895 4.26215 12.8203 3.11101C12.0511 1.95987 10.9579 1.06266 9.67879 0.532846C8.3997 0.00303296 6.99224 -0.13559 5.63437 0.134506C4.2765 0.404603 3.02922 1.07129 2.05026 2.05026C1.07129 3.02922 0.404603 4.2765 0.134506 5.63437C-0.13559 6.99224 0.00303296 8.3997 0.532846 9.67879C1.06266 10.9579 1.95987 12.0511 3.11101 12.8203ZM3.75918 2.14976C4.71846 1.50879 5.84628 1.16667 7 1.16667C8.5471 1.16667 10.0308 1.78125 11.1248 2.87521C12.2188 3.96918 12.8333 5.45291 12.8333 7C12.8333 8.15373 12.4912 9.28154 11.8502 10.2408C11.2093 11.2001 10.2982 11.9478 9.23232 12.3893C8.16642 12.8308 6.99353 12.9463 5.86198 12.7212C4.73042 12.4962 3.69102 11.9406 2.87521 11.1248C2.05941 10.309 1.50384 9.26958 1.27876 8.13803C1.05367 7.00647 1.16919 5.83358 1.61071 4.76768C2.05222 3.70178 2.79989 2.79074 3.75918 2.14976ZM7.00002 4.8611C6.84594 4.85908 6.69873 4.79698 6.58977 4.68801C6.48081 4.57905 6.4187 4.43185 6.41669 4.27776V3.88888C6.41669 3.73417 6.47815 3.58579 6.58754 3.4764C6.69694 3.367 6.84531 3.30554 7.00002 3.30554C7.15473 3.30554 7.3031 3.367 7.4125 3.4764C7.52189 3.58579 7.58335 3.73417 7.58335 3.88888V4.27776C7.58134 4.43185 7.51923 4.57905 7.41027 4.68801C7.30131 4.79698 7.1541 4.85908 7.00002 4.8611ZM7.00002 10.6945C6.84594 10.6925 6.69873 10.6304 6.58977 10.5214C6.48081 10.4124 6.4187 10.2652 6.41669 10.1111V6.22225C6.41669 6.06754 6.47815 5.91917 6.58754 5.80977C6.69694 5.70037 6.84531 5.63892 7.00002 5.63892C7.15473 5.63892 7.3031 5.70037 7.4125 5.80977C7.52189 5.91917 7.58335 6.06754 7.58335 6.22225V10.1111C7.58134 10.2652 7.51923 10.4124 7.41027 10.5214C7.30131 10.6304 7.1541 10.6925 7.00002 10.6945Z", - fill: "currentColor" - }, null, -1)]), 16); -} -__name(render$5, "render$5"); -script$6.render = render$5; -var script$2$2 = { - name: "BaseToast", - "extends": script$f, - props: { - group: { - type: String, - "default": null - }, - position: { - type: String, - "default": "top-right" - }, - autoZIndex: { - type: Boolean, - "default": true - }, - baseZIndex: { - type: Number, - "default": 0 - }, - breakpoints: { - type: Object, - "default": null - }, - closeIcon: { - type: String, - "default": void 0 - }, - infoIcon: { - type: String, - "default": void 0 - }, - warnIcon: { - type: String, - "default": void 0 - }, - errorIcon: { - type: String, - "default": void 0 - }, - successIcon: { - type: String, - "default": void 0 - }, - closeButtonProps: { - type: null, - "default": null - } - }, - style: ToastStyle, - provide: /* @__PURE__ */ __name(function provide8() { - return { - $pcToast: this, - $parentInstance: this - }; - }, "provide") -}; -var script$1$3 = { - name: "ToastMessage", - hostName: "Toast", - "extends": script$f, - emits: ["close"], - closeTimeout: null, - props: { - message: { - type: null, - "default": null - }, - templates: { - type: Object, - "default": null - }, - closeIcon: { - type: String, - "default": null - }, - infoIcon: { - type: String, - "default": null - }, - warnIcon: { - type: String, - "default": null - }, - errorIcon: { - type: String, - "default": null - }, - successIcon: { - type: String, - "default": null - }, - closeButtonProps: { - type: null, - "default": null - } - }, - mounted: /* @__PURE__ */ __name(function mounted4() { - var _this = this; - if (this.message.life) { - this.closeTimeout = setTimeout(function() { - _this.close({ - message: _this.message, - type: "life-end" - }); - }, this.message.life); - } - }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { - this.clearCloseTimeout(); - }, "beforeUnmount"), - methods: { - close: /* @__PURE__ */ __name(function close(params) { - this.$emit("close", params); - }, "close"), - onCloseClick: /* @__PURE__ */ __name(function onCloseClick() { - this.clearCloseTimeout(); - this.close({ - message: this.message, - type: "close" - }); - }, "onCloseClick"), - clearCloseTimeout: /* @__PURE__ */ __name(function clearCloseTimeout() { - if (this.closeTimeout) { - clearTimeout(this.closeTimeout); - this.closeTimeout = null; - } - }, "clearCloseTimeout") - }, - computed: { - iconComponent: /* @__PURE__ */ __name(function iconComponent() { - return { - info: !this.infoIcon && script$6, - success: !this.successIcon && script$r, - warn: !this.warnIcon && script$7, - error: !this.errorIcon && script$s - }[this.message.severity]; - }, "iconComponent"), - closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel() { - return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0; - }, "closeAriaLabel") - }, - components: { - TimesIcon: script$t, - InfoCircleIcon: script$6, - CheckIcon: script$r, - ExclamationTriangleIcon: script$7, - TimesCircleIcon: script$s - }, - directives: { - ripple: Ripple - } -}; -function _typeof$1(o) { - "@babel/helpers - typeof"; - return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { - return typeof o2; - } : function(o2) { - return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; - }, _typeof$1(o); -} -__name(_typeof$1, "_typeof$1"); -function ownKeys$1(e, r) { - var t = Object.keys(e); - if (Object.getOwnPropertySymbols) { - var o = Object.getOwnPropertySymbols(e); - r && (o = o.filter(function(r2) { - return Object.getOwnPropertyDescriptor(e, r2).enumerable; - })), t.push.apply(t, o); - } - return t; -} -__name(ownKeys$1, "ownKeys$1"); -function _objectSpread$1(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$1(Object(t), true).forEach(function(r2) { - _defineProperty$1(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$1, "_objectSpread$1"); -function _defineProperty$1(e, r, t) { - return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$1, "_defineProperty$1"); -function _toPropertyKey$1(t) { - var i = _toPrimitive$1(t, "string"); - return "symbol" == _typeof$1(i) ? i : i + ""; -} -__name(_toPropertyKey$1, "_toPropertyKey$1"); -function _toPrimitive$1(t, r) { - if ("object" != _typeof$1(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i = e.call(t, r || "default"); - if ("object" != _typeof$1(i)) return i; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$1, "_toPrimitive$1"); -var _hoisted_1$4 = ["aria-label"]; -function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { - var _directive_ripple = resolveDirective("ripple"); - return openBlock(), createElementBlock("div", mergeProps({ - "class": [_ctx.cx("message"), $props.message.styleClass], - role: "alert", - "aria-live": "assertive", - "aria-atomic": "true" - }, _ctx.ptm("message")), [$props.templates.container ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.container), { - key: 0, - message: $props.message, - closeCallback: $options.onCloseClick - }, null, 8, ["message", "closeCallback"])) : (openBlock(), createElementBlock("div", mergeProps({ - key: 1, - "class": [_ctx.cx("messageContent"), $props.message.contentStyleClass] - }, _ctx.ptm("messageContent")), [!$props.templates.message ? (openBlock(), createElementBlock(Fragment, { - key: 0 - }, [(openBlock(), createBlock(resolveDynamicComponent($props.templates.messageicon ? $props.templates.messageicon : $props.templates.icon ? $props.templates.icon : $options.iconComponent && $options.iconComponent.name ? $options.iconComponent : "span"), mergeProps({ - "class": _ctx.cx("messageIcon") - }, _ctx.ptm("messageIcon")), null, 16, ["class"])), createBaseVNode("div", mergeProps({ - "class": _ctx.cx("messageText") - }, _ctx.ptm("messageText")), [createBaseVNode("span", mergeProps({ - "class": _ctx.cx("summary") - }, _ctx.ptm("summary")), toDisplayString($props.message.summary), 17), createBaseVNode("div", mergeProps({ - "class": _ctx.cx("detail") - }, _ctx.ptm("detail")), toDisplayString($props.message.detail), 17)], 16)], 64)) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.message), { - key: 1, - message: $props.message - }, null, 8, ["message"])), $props.message.closable !== false ? (openBlock(), createElementBlock("div", normalizeProps(mergeProps({ - key: 2 - }, _ctx.ptm("buttonContainer"))), [withDirectives((openBlock(), createElementBlock("button", mergeProps({ - "class": _ctx.cx("closeButton"), - type: "button", - "aria-label": $options.closeAriaLabel, - onClick: _cache[0] || (_cache[0] = function() { - return $options.onCloseClick && $options.onCloseClick.apply($options, arguments); - }), - autofocus: "" - }, _objectSpread$1(_objectSpread$1({}, $props.closeButtonProps), _ctx.ptm("closeButton"))), [(openBlock(), createBlock(resolveDynamicComponent($props.templates.closeicon || "TimesIcon"), mergeProps({ - "class": [_ctx.cx("closeIcon"), $props.closeIcon] - }, _ctx.ptm("closeIcon")), null, 16, ["class"]))], 16, _hoisted_1$4)), [[_directive_ripple]])], 16)) : createCommentVNode("", true)], 16))], 16); -} -__name(render$1$2, "render$1$2"); -script$1$3.render = render$1$2; -function _toConsumableArray(r) { - return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); -} -__name(_toConsumableArray, "_toConsumableArray"); -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} -__name(_nonIterableSpread, "_nonIterableSpread"); -function _unsupportedIterableToArray(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray(r, a); - var t = {}.toString.call(r).slice(8, -1); - return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; - } -} -__name(_unsupportedIterableToArray, "_unsupportedIterableToArray"); -function _iterableToArray(r) { - if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); -} -__name(_iterableToArray, "_iterableToArray"); -function _arrayWithoutHoles(r) { - if (Array.isArray(r)) return _arrayLikeToArray(r); -} -__name(_arrayWithoutHoles, "_arrayWithoutHoles"); -function _arrayLikeToArray(r, a) { - (null == a || a > r.length) && (a = r.length); - for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; - return n; -} -__name(_arrayLikeToArray, "_arrayLikeToArray"); -var messageIdx = 0; -var script$5 = { - name: "Toast", - "extends": script$2$2, - inheritAttrs: false, - emits: ["close", "life-end"], - data: /* @__PURE__ */ __name(function data5() { - return { - messages: [] - }; - }, "data"), - styleElement: null, - mounted: /* @__PURE__ */ __name(function mounted5() { - ToastEventBus.on("add", this.onAdd); - ToastEventBus.on("remove", this.onRemove); - ToastEventBus.on("remove-group", this.onRemoveGroup); - ToastEventBus.on("remove-all-groups", this.onRemoveAllGroups); - if (this.breakpoints) { - this.createStyle(); - } - }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount5() { - this.destroyStyle(); - if (this.$refs.container && this.autoZIndex) { - ZIndex.clear(this.$refs.container); - } - ToastEventBus.off("add", this.onAdd); - ToastEventBus.off("remove", this.onRemove); - ToastEventBus.off("remove-group", this.onRemoveGroup); - ToastEventBus.off("remove-all-groups", this.onRemoveAllGroups); - }, "beforeUnmount"), - methods: { - add: /* @__PURE__ */ __name(function add(message2) { - if (message2.id == null) { - message2.id = messageIdx++; - } - this.messages = [].concat(_toConsumableArray(this.messages), [message2]); - }, "add"), - remove: /* @__PURE__ */ __name(function remove(params) { - var index = this.messages.findIndex(function(m) { - return m.id === params.message.id; - }); - if (index !== -1) { - this.messages.splice(index, 1); - this.$emit(params.type, { - message: params.message - }); - } - }, "remove"), - onAdd: /* @__PURE__ */ __name(function onAdd(message2) { - if (this.group == message2.group) { - this.add(message2); - } - }, "onAdd"), - onRemove: /* @__PURE__ */ __name(function onRemove(message2) { - this.remove({ - message: message2, - type: "close" - }); - }, "onRemove"), - onRemoveGroup: /* @__PURE__ */ __name(function onRemoveGroup(group) { - if (this.group === group) { - this.messages = []; - } - }, "onRemoveGroup"), - onRemoveAllGroups: /* @__PURE__ */ __name(function onRemoveAllGroups() { - this.messages = []; - }, "onRemoveAllGroups"), - onEnter: /* @__PURE__ */ __name(function onEnter() { - if (this.autoZIndex) { - ZIndex.set("modal", this.$refs.container, this.baseZIndex || this.$primevue.config.zIndex.modal); - } - }, "onEnter"), - onLeave: /* @__PURE__ */ __name(function onLeave() { - var _this = this; - if (this.$refs.container && this.autoZIndex && isEmpty(this.messages)) { - setTimeout(function() { - ZIndex.clear(_this.$refs.container); - }, 200); - } - }, "onLeave"), - createStyle: /* @__PURE__ */ __name(function createStyle() { - if (!this.styleElement && !this.isUnstyled) { - var _this$$primevue; - this.styleElement = document.createElement("style"); - this.styleElement.type = "text/css"; - setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); - document.head.appendChild(this.styleElement); - var innerHTML = ""; - for (var breakpoint in this.breakpoints) { - var breakpointStyle = ""; - for (var styleProp in this.breakpoints[breakpoint]) { - breakpointStyle += styleProp + ":" + this.breakpoints[breakpoint][styleProp] + "!important;"; - } - innerHTML += "\n @media screen and (max-width: ".concat(breakpoint, ") {\n .p-toast[").concat(this.$attrSelector, "] {\n ").concat(breakpointStyle, "\n }\n }\n "); - } - this.styleElement.innerHTML = innerHTML; - } - }, "createStyle"), - destroyStyle: /* @__PURE__ */ __name(function destroyStyle() { - if (this.styleElement) { - document.head.removeChild(this.styleElement); - this.styleElement = null; - } - }, "destroyStyle") - }, - components: { - ToastMessage: script$1$3, - Portal: script$l - } -}; -function _typeof$2(o) { - "@babel/helpers - typeof"; - return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { - return typeof o2; - } : function(o2) { - return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; - }, _typeof$2(o); -} -__name(_typeof$2, "_typeof$2"); -function ownKeys$2(e, r) { - var t = Object.keys(e); - if (Object.getOwnPropertySymbols) { - var o = Object.getOwnPropertySymbols(e); - r && (o = o.filter(function(r2) { - return Object.getOwnPropertyDescriptor(e, r2).enumerable; - })), t.push.apply(t, o); - } - return t; -} -__name(ownKeys$2, "ownKeys$2"); -function _objectSpread$2(e) { - for (var r = 1; r < arguments.length; r++) { - var t = null != arguments[r] ? arguments[r] : {}; - r % 2 ? ownKeys$2(Object(t), true).forEach(function(r2) { - _defineProperty$2(e, r2, t[r2]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function(r2) { - Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); - }); - } - return e; -} -__name(_objectSpread$2, "_objectSpread$2"); -function _defineProperty$2(e, r, t) { - return (r = _toPropertyKey$2(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; -} -__name(_defineProperty$2, "_defineProperty$2"); -function _toPropertyKey$2(t) { - var i = _toPrimitive$2(t, "string"); - return "symbol" == _typeof$2(i) ? i : i + ""; -} -__name(_toPropertyKey$2, "_toPropertyKey$2"); -function _toPrimitive$2(t, r) { - if ("object" != _typeof$2(t) || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i = e.call(t, r || "default"); - if ("object" != _typeof$2(i)) return i; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); -} -__name(_toPrimitive$2, "_toPrimitive$2"); -function render$4(_ctx, _cache, $props, $setup, $data, $options) { - var _component_ToastMessage = resolveComponent("ToastMessage"); - var _component_Portal = resolveComponent("Portal"); - return openBlock(), createBlock(_component_Portal, null, { - "default": withCtx(function() { - return [createBaseVNode("div", mergeProps({ - ref: "container", - "class": _ctx.cx("root"), - style: _ctx.sx("root", true, { - position: _ctx.position - }) - }, _ctx.ptmi("root")), [createVNode(TransitionGroup, mergeProps({ - name: "p-toast-message", - tag: "div", - onEnter: $options.onEnter, - onLeave: $options.onLeave - }, _objectSpread$2({}, _ctx.ptm("transition"))), { - "default": withCtx(function() { - return [(openBlock(true), createElementBlock(Fragment, null, renderList($data.messages, function(msg) { - return openBlock(), createBlock(_component_ToastMessage, { - key: msg.id, - message: msg, - templates: _ctx.$slots, - closeIcon: _ctx.closeIcon, - infoIcon: _ctx.infoIcon, - warnIcon: _ctx.warnIcon, - errorIcon: _ctx.errorIcon, - successIcon: _ctx.successIcon, - closeButtonProps: _ctx.closeButtonProps, - unstyled: _ctx.unstyled, - onClose: _cache[0] || (_cache[0] = function($event) { - return $options.remove($event); - }), - pt: _ctx.pt - }, null, 8, ["message", "templates", "closeIcon", "infoIcon", "warnIcon", "errorIcon", "successIcon", "closeButtonProps", "unstyled", "pt"]); - }), 128))]; - }), - _: 1 - }, 16, ["onEnter", "onLeave"])], 16)]; - }), - _: 1 - }); -} __name(render$4, "render$4"); script$5.render = render$4; -var theme$2 = /* @__PURE__ */ __name(function theme6(_ref) { +var theme$2 = /* @__PURE__ */ __name(function theme5(_ref) { var dt = _ref.dt; return "\n.p-tieredmenu {\n background: ".concat(dt("tieredmenu.background"), ";\n color: ").concat(dt("tieredmenu.color"), ";\n border: 1px solid ").concat(dt("tieredmenu.border.color"), ";\n border-radius: ").concat(dt("tieredmenu.border.radius"), ";\n min-width: 12.5rem;\n}\n\n.p-tieredmenu-root-list,\n.p-tieredmenu-submenu {\n margin: 0;\n padding: ").concat(dt("tieredmenu.list.padding"), ";\n list-style: none;\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("tieredmenu.list.gap"), ";\n}\n\n.p-tieredmenu-submenu {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n background: ").concat(dt("tieredmenu.background"), ";\n color: ").concat(dt("tieredmenu.color"), ";\n border: 1px solid ").concat(dt("tieredmenu.border.color"), ";\n border-radius: ").concat(dt("tieredmenu.border.radius"), ";\n box-shadow: ").concat(dt("tieredmenu.shadow"), ";\n}\n\n.p-tieredmenu-item {\n position: relative;\n}\n\n.p-tieredmenu-item-content {\n transition: background ").concat(dt("tieredmenu.transition.duration"), ", color ").concat(dt("tieredmenu.transition.duration"), ";\n border-radius: ").concat(dt("tieredmenu.item.border.radius"), ";\n color: ").concat(dt("tieredmenu.item.color"), ";\n}\n\n.p-tieredmenu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("tieredmenu.item.padding"), ";\n gap: ").concat(dt("tieredmenu.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-tieredmenu-item-label {\n line-height: 1;\n}\n\n.p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.color"), ";\n}\n\n.p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.color"), ";\n margin-left: auto;\n font-size: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n width: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n height: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n}\n\n.p-tieredmenu-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content {\n color: ").concat(dt("tieredmenu.item.focus.color"), ";\n background: ").concat(dt("tieredmenu.item.focus.background"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover {\n color: ").concat(dt("tieredmenu.item.focus.color"), ";\n background: ").concat(dt("tieredmenu.item.focus.background"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content {\n color: ").concat(dt("tieredmenu.item.active.color"), ";\n background: ").concat(dt("tieredmenu.item.active.background"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.active.color"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.active.color"), ";\n}\n\n.p-tieredmenu-separator {\n border-block-start: 1px solid ").concat(dt("tieredmenu.separator.border.color"), ";\n}\n\n.p-tieredmenu-overlay {\n box-shadow: ").concat(dt("tieredmenu.shadow"), ";\n}\n\n.p-tieredmenu-enter-from,\n.p-tieredmenu-leave-active {\n opacity: 0;\n}\n\n.p-tieredmenu-enter-active {\n transition: opacity 250ms;\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-submenu {\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-inline-start: ").concat(dt("tieredmenu.submenu.mobile.indent"), ";\n padding-inline-end: 0;\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-submenu:dir(rtl) {\n padding-inline-start: 0;\n padding-inline-end: ").concat(dt("tieredmenu.submenu.mobile.indent"), ";\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-submenu-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-tieredmenu-mobile .p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n transform: rotate(-90deg);\n}\n"); }, "theme"); @@ -3145,7 +2536,7 @@ var inlineStyles$1 = { }, "submenu") }; var classes$2 = { - root: /* @__PURE__ */ __name(function root8(_ref3) { + root: /* @__PURE__ */ __name(function root6(_ref3) { var props = _ref3.props, instance = _ref3.instance; return ["p-tieredmenu p-component", { "p-tieredmenu-overlay": props.popup, @@ -3179,7 +2570,7 @@ var TieredMenuStyle = BaseStyle.extend({ }); var script$2$1 = { name: "BaseTieredMenu", - "extends": script$f, + "extends": script$c, props: { popup: { type: Boolean, @@ -3223,7 +2614,7 @@ var script$2$1 = { } }, style: TieredMenuStyle, - provide: /* @__PURE__ */ __name(function provide9() { + provide: /* @__PURE__ */ __name(function provide8() { return { $pcTieredMenu: this, $parentInstance: this @@ -3233,7 +2624,7 @@ var script$2$1 = { var script$1$2 = { name: "TieredMenuSub", hostName: "TieredMenu", - "extends": script$f, + "extends": script$c, emits: ["item-click", "item-mouseenter", "item-mousemove"], container: null, props: { @@ -3314,7 +2705,7 @@ var script$1$2 = { isItemGroup: /* @__PURE__ */ __name(function isItemGroup(processedItem) { return isNotEmpty(processedItem.items); }, "isItemGroup"), - onEnter: /* @__PURE__ */ __name(function onEnter2() { + onEnter: /* @__PURE__ */ __name(function onEnter() { nestedPosition(this.container, this.level); }, "onEnter"), onItemClick: /* @__PURE__ */ __name(function onItemClick(event, processedItem) { @@ -3374,7 +2765,7 @@ var script$1$2 = { }, "containerRef") }, components: { - AngleRightIcon: script$u + AngleRightIcon: script$n }, directives: { ripple: Ripple @@ -3527,7 +2918,7 @@ var script$4 = { menubar: null, searchTimeout: null, searchValue: null, - data: /* @__PURE__ */ __name(function data6() { + data: /* @__PURE__ */ __name(function data5() { return { id: this.$attrs.id, focused: false, @@ -3560,11 +2951,11 @@ var script$4 = { } }, "activeItemPath") }, - mounted: /* @__PURE__ */ __name(function mounted6() { + mounted: /* @__PURE__ */ __name(function mounted4() { this.id = this.id || UniqueComponentId(); this.bindMatchMediaListener(); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount6() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { this.unbindOutsideClickListener(); this.unbindResizeListener(); this.unbindMatchMediaListener(); @@ -3735,7 +3126,7 @@ var script$4 = { onItemClick: /* @__PURE__ */ __name(function onItemClick2(event) { var originalEvent = event.originalEvent, processedItem = event.processedItem; var grouped = this.isProccessedItemGroup(processedItem); - var root11 = isEmpty(processedItem.parent); + var root9 = isEmpty(processedItem.parent); var selected = this.isSelected(processedItem); if (selected) { var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey; @@ -3747,13 +3138,13 @@ var script$4 = { level, parentKey }; - this.dirty = !root11; + this.dirty = !root9; focus(this.menubar); } else { if (grouped) { this.onItemChange(event); } else { - var rootProcessedItem = root11 ? processedItem : this.activeItemPath.find(function(p) { + var rootProcessedItem = root9 ? processedItem : this.activeItemPath.find(function(p) { return p.parentKey === ""; }); this.hide(originalEvent); @@ -3801,8 +3192,8 @@ var script$4 = { var parentItem = this.activeItemPath.find(function(p) { return p.key === processedItem.parentKey; }); - var root11 = isEmpty(processedItem.parent); - if (!root11) { + var root9 = isEmpty(processedItem.parent); + if (!root9) { this.focusedItemInfo = { index: -1, parentKey: parentItem ? parentItem.parentKey : "" @@ -3880,7 +3271,7 @@ var script$4 = { } this.hide(); }, "onTabKey"), - onEnter: /* @__PURE__ */ __name(function onEnter3(el) { + onEnter: /* @__PURE__ */ __name(function onEnter2(el) { if (this.autoZIndex) { ZIndex.set("menu", el, this.baseZIndex + this.$primevue.config.zIndex.menu); } @@ -3899,7 +3290,7 @@ var script$4 = { this.bindResizeListener(); this.$emit("show"); }, "onAfterEnter"), - onLeave: /* @__PURE__ */ __name(function onLeave2() { + onLeave: /* @__PURE__ */ __name(function onLeave() { this.unbindOutsideClickListener(); this.unbindScrollListener(); this.unbindResizeListener(); @@ -4139,7 +3530,7 @@ var script$4 = { }, components: { TieredMenuSub: script$1$2, - Portal: script$l + Portal: script$i } }; var _hoisted_1$3 = ["id"]; @@ -4209,12 +3600,12 @@ function render$3(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$3, "render$3"); script$4.render = render$3; -var theme$1 = /* @__PURE__ */ __name(function theme7(_ref) { +var theme$1 = /* @__PURE__ */ __name(function theme6(_ref) { var dt = _ref.dt; return "\n.p-splitbutton {\n display: inline-flex;\n position: relative;\n border-radius: ".concat(dt("splitbutton.border.radius"), ";\n}\n\n.p-splitbutton-button {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n border-inline-end: 0 none;\n}\n\n.p-splitbutton-button:focus-visible,\n.p-splitbutton-dropdown:focus-visible {\n z-index: 1;\n}\n\n.p-splitbutton-button:not(:disabled):hover,\n.p-splitbutton-button:not(:disabled):active {\n border-inline-end: 0 none;\n}\n\n.p-splitbutton-dropdown {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n\n.p-splitbutton .p-menu {\n min-width: 100%;\n}\n\n.p-splitbutton-fluid {\n display: flex;\n}\n\n.p-splitbutton-rounded .p-splitbutton-dropdown {\n border-start-end-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n border-end-end-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n}\n\n.p-splitbutton-rounded .p-splitbutton-button {\n border-start-start-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n border-end-start-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n}\n\n.p-splitbutton-raised {\n box-shadow: ").concat(dt("splitbutton.raised.shadow"), ";\n}\n"); }, "theme"); var classes$1 = { - root: /* @__PURE__ */ __name(function root9(_ref2) { + root: /* @__PURE__ */ __name(function root7(_ref2) { var instance = _ref2.instance, props = _ref2.props; return ["p-splitbutton p-component", { "p-splitbutton-raised": props.raised, @@ -4232,7 +3623,7 @@ var SplitButtonStyle = BaseStyle.extend({ }); var script$1$1 = { name: "BaseSplitButton", - "extends": script$f, + "extends": script$c, props: { label: { type: String, @@ -4320,7 +3711,7 @@ var script$1$1 = { } }, style: SplitButtonStyle, - provide: /* @__PURE__ */ __name(function provide10() { + provide: /* @__PURE__ */ __name(function provide9() { return { $pcSplitButton: this, $parentInstance: this @@ -4337,7 +3728,7 @@ var script$3 = { "default": null } }, - data: /* @__PURE__ */ __name(function data7() { + data: /* @__PURE__ */ __name(function data6() { return { id: this.$attrs.id, isExpanded: false @@ -4348,7 +3739,7 @@ var script$3 = { this.id = newValue || UniqueComponentId(); }, "$attrsId") }, - mounted: /* @__PURE__ */ __name(function mounted7() { + mounted: /* @__PURE__ */ __name(function mounted5() { var _this = this; this.id = this.id || UniqueComponentId(); this.$watch("$refs.menu.visible", function(newValue) { @@ -4388,9 +3779,9 @@ var script$3 = { }, "hasFluid") }, components: { - PVSButton: script$v, + PVSButton: script$o, PVSMenu: script$4, - ChevronDownIcon: script$m + ChevronDownIcon: script$j } }; var _hoisted_1$2 = ["data-p-severity"]; @@ -4503,7 +3894,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) { } __name(render$2, "render$2"); script$3.render = render$2; -var theme8 = /* @__PURE__ */ __name(function theme9(_ref) { +var theme7 = /* @__PURE__ */ __name(function theme8(_ref) { var dt = _ref.dt; return "\n.p-menubar {\n display: flex;\n align-items: center;\n background: ".concat(dt("menubar.background"), ";\n border: 1px solid ").concat(dt("menubar.border.color"), ";\n border-radius: ").concat(dt("menubar.border.radius"), ";\n color: ").concat(dt("menubar.color"), ";\n padding: ").concat(dt("menubar.padding"), ";\n gap: ").concat(dt("menubar.gap"), ";\n}\n\n.p-menubar-start,\n.p-megamenu-end {\n display: flex;\n align-items: center;\n}\n\n.p-menubar-root-list,\n.p-menubar-submenu {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n outline: 0 none;\n}\n\n.p-menubar-root-list {\n align-items: center;\n flex-wrap: wrap;\n gap: ").concat(dt("menubar.gap"), ";\n}\n\n.p-menubar-root-list > .p-menubar-item > .p-menubar-item-content {\n border-radius: ").concat(dt("menubar.base.item.border.radius"), ";\n}\n\n.p-menubar-root-list > .p-menubar-item > .p-menubar-item-content > .p-menubar-item-link {\n padding: ").concat(dt("menubar.base.item.padding"), ";\n}\n\n.p-menubar-item-content {\n transition: background ").concat(dt("menubar.transition.duration"), ", color ").concat(dt("menubar.transition.duration"), ";\n border-radius: ").concat(dt("menubar.item.border.radius"), ";\n color: ").concat(dt("menubar.item.color"), ";\n}\n\n.p-menubar-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("menubar.item.padding"), ";\n gap: ").concat(dt("menubar.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-menubar-item-label {\n line-height: 1;\n}\n\n.p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.color"), ";\n}\n\n.p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.color"), ";\n margin-left: auto;\n font-size: ").concat(dt("menubar.submenu.icon.size"), ";\n width: ").concat(dt("menubar.submenu.icon.size"), ";\n height: ").concat(dt("menubar.submenu.icon.size"), ";\n}\n\n.p-menubar-submenu .p-menubar-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content {\n color: ").concat(dt("menubar.item.focus.color"), ";\n background: ").concat(dt("menubar.item.focus.background"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.focus.color"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.focus.color"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover {\n color: ").concat(dt("menubar.item.focus.color"), ";\n background: ").concat(dt("menubar.item.focus.background"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.focus.color"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.focus.color"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content {\n color: ").concat(dt("menubar.item.active.color"), ";\n background: ").concat(dt("menubar.item.active.background"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.active.color"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.active.color"), ";\n}\n\n.p-menubar-submenu {\n display: none;\n position: absolute;\n min-width: 12.5rem;\n z-index: 1;\n background: ").concat(dt("menubar.submenu.background"), ";\n border: 1px solid ").concat(dt("menubar.submenu.border.color"), ";\n border-radius: ").concat(dt("menubar.submenu.border.radius"), ";\n box-shadow: ").concat(dt("menubar.submenu.shadow"), ";\n color: ").concat(dt("menubar.submenu.color"), ";\n flex-direction: column;\n padding: ").concat(dt("menubar.submenu.padding"), ";\n gap: ").concat(dt("menubar.submenu.gap"), ";\n}\n\n.p-menubar-submenu .p-menubar-separator {\n border-block-start: 1px solid ").concat(dt("menubar.separator.border.color"), ";\n}\n\n.p-menubar-submenu .p-menubar-item {\n position: relative;\n}\n\n.p-menubar-submenu > .p-menubar-item-active > .p-menubar-submenu {\n display: block;\n left: 100%;\n top: 0;\n}\n\n.p-menubar-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-menubar-end:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-menubar-button {\n display: none;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n width: ").concat(dt("menubar.mobile.button.size"), ";\n height: ").concat(dt("menubar.mobile.button.size"), ";\n position: relative;\n color: ").concat(dt("menubar.mobile.button.color"), ";\n border: 0 none;\n background: transparent;\n border-radius: ").concat(dt("menubar.mobile.button.border.radius"), ";\n transition: background ").concat(dt("menubar.transition.duration"), ", color ").concat(dt("menubar.transition.duration"), ", outline-color ").concat(dt("menubar.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-menubar-button:hover {\n color: ").concat(dt("menubar.mobile.button.hover.color"), ";\n background: ").concat(dt("menubar.mobile.button.hover.background"), ";\n}\n\n.p-menubar-button:focus-visible {\n box-shadow: ").concat(dt("menubar.mobile.button.focus.ring.shadow"), ";\n outline: ").concat(dt("menubar.mobile.button.focus.ring.width"), " ").concat(dt("menubar.mobile.button.focus.ring.style"), " ").concat(dt("menubar.mobile.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("menubar.mobile.button.focus.ring.offset"), ";\n}\n\n.p-menubar-mobile {\n position: relative;\n}\n\n.p-menubar-mobile .p-menubar-button {\n display: flex;\n}\n\n.p-menubar-mobile .p-menubar-root-list {\n position: absolute;\n display: none;\n width: 100%;\n flex-direction: column;\n top: 100%;\n left: 0;\n z-index: 1;\n padding: ").concat(dt("menubar.submenu.padding"), ";\n background: ").concat(dt("menubar.submenu.background"), ";\n border: 1px solid ").concat(dt("menubar.submenu.border.color"), ";\n box-shadow: ").concat(dt("menubar.submenu.shadow"), ";\n border-radius: ").concat(dt("menubar.submenu.border.radius"), ";\n gap: ").concat(dt("menubar.submenu.gap"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list:dir(rtl) {\n left: auto;\n right: 0;\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content > .p-menubar-item-link {\n padding: ").concat(dt("menubar.item.padding"), ";\n}\n\n.p-menubar-mobile-active .p-menubar-root-list {\n display: flex;\n}\n\n.p-menubar-mobile .p-menubar-root-list .p-menubar-item {\n width: 100%;\n position: static;\n}\n\n.p-menubar-mobile .p-menubar-root-list .p-menubar-separator {\n border-block-start: 1px solid ").concat(dt("menubar.separator.border.color"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content .p-menubar-submenu-icon {\n margin-left: auto;\n transition: transform 0.2s;\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content .p-menubar-submenu-icon:dir(rtl),\n.p-menubar-mobile .p-menubar-submenu-icon:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n transform: rotate(-180deg);\n}\n\n.p-menubar-mobile .p-menubar-submenu .p-menubar-submenu-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-menubar-mobile .p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n transform: rotate(-90deg);\n}\n\n.p-menubar-mobile .p-menubar-submenu {\n width: 100%;\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-inline-start: ").concat(dt("menubar.submenu.mobile.indent"), ";\n padding-inline-end: 0;\n}\n"); }, "theme"); @@ -4516,7 +3907,7 @@ var inlineStyles = { }, "submenu") }; var classes = { - root: /* @__PURE__ */ __name(function root10(_ref3) { + root: /* @__PURE__ */ __name(function root8(_ref3) { var instance = _ref3.instance; return ["p-menubar p-component", { "p-menubar-mobile": instance.queryMatches, @@ -4545,13 +3936,13 @@ var classes = { }; var MenubarStyle = BaseStyle.extend({ name: "menubar", - theme: theme8, + theme: theme7, classes, inlineStyles }); var script$2 = { name: "BaseMenubar", - "extends": script$f, + "extends": script$c, props: { model: { type: Array, @@ -4575,7 +3966,7 @@ var script$2 = { } }, style: MenubarStyle, - provide: /* @__PURE__ */ __name(function provide11() { + provide: /* @__PURE__ */ __name(function provide10() { return { $pcMenubar: this, $parentInstance: this @@ -4585,7 +3976,7 @@ var script$2 = { var script$1 = { name: "MenubarSub", hostName: "Menubar", - "extends": script$f, + "extends": script$c, emits: ["item-mouseenter", "item-click", "item-mousemove"], props: { items: { @@ -4730,8 +4121,8 @@ var script$1 = { }, "getAriaSetSize") }, components: { - AngleRightIcon: script$u, - AngleDownIcon: script$w + AngleRightIcon: script$n, + AngleDownIcon: script$p }, directives: { ripple: Ripple @@ -4863,7 +4254,7 @@ var script = { inheritAttrs: false, emits: ["focus", "blur"], matchMediaListener: null, - data: /* @__PURE__ */ __name(function data8() { + data: /* @__PURE__ */ __name(function data7() { return { id: this.$attrs.id, mobileActive: false, @@ -4896,11 +4287,11 @@ var script = { outsideClickListener: null, container: null, menubar: null, - mounted: /* @__PURE__ */ __name(function mounted8() { + mounted: /* @__PURE__ */ __name(function mounted6() { this.id = this.id || UniqueComponentId(); this.bindMatchMediaListener(); }, "mounted"), - beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount7() { + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount5() { this.mobileActive = false; this.unbindOutsideClickListener(); this.unbindResizeListener(); @@ -5062,7 +4453,7 @@ var script = { onItemClick: /* @__PURE__ */ __name(function onItemClick4(event) { var originalEvent = event.originalEvent, processedItem = event.processedItem; var grouped = this.isProccessedItemGroup(processedItem); - var root11 = isEmpty(processedItem.parent); + var root9 = isEmpty(processedItem.parent); var selected = this.isSelected(processedItem); if (selected) { var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey; @@ -5074,13 +4465,13 @@ var script = { level, parentKey }; - this.dirty = !root11; + this.dirty = !root9; focus(this.menubar); } else { if (grouped) { this.onItemChange(event); } else { - var rootProcessedItem = root11 ? processedItem : this.activeItemPath.find(function(p) { + var rootProcessedItem = root9 ? processedItem : this.activeItemPath.find(function(p) { return p.parentKey === ""; }); this.hide(originalEvent); @@ -5108,8 +4499,8 @@ var script = { }, "menuButtonKeydown"), onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey3(event) { var processedItem = this.visibleItems[this.focusedItemInfo.index]; - var root11 = processedItem ? isEmpty(processedItem.parent) : null; - if (root11) { + var root9 = processedItem ? isEmpty(processedItem.parent) : null; + if (root9) { var grouped = this.isProccessedItemGroup(processedItem); if (grouped) { this.onItemChange({ @@ -5131,8 +4522,8 @@ var script = { onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey3(event) { var _this3 = this; var processedItem = this.visibleItems[this.focusedItemInfo.index]; - var root11 = isEmpty(processedItem.parent); - if (root11) { + var root9 = isEmpty(processedItem.parent); + if (root9) { var grouped = this.isProccessedItemGroup(processedItem); if (grouped) { this.onItemChange({ @@ -5465,7 +4856,7 @@ var script = { }, components: { MenubarSub: script$1, - BarsIcon: script$x + BarsIcon: script$q } }; function _typeof(o) { @@ -5589,17 +4980,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { __name(render, "render"); script.render = render; export { - script$e as a, - script$b as b, - script$c as c, - script$a as d, - script$9 as e, - script$8 as f, - script$5 as g, - script$3 as h, - script as i, - script$6 as j, - script$7 as k, - script$d as s + script$b as a, + script$8 as b, + script$9 as c, + script$7 as d, + script$6 as e, + script$5 as f, + script$3 as g, + script as h, + script$a as s }; -//# sourceMappingURL=index-DKIv7atk.js.map +//# sourceMappingURL=index-DSWvxALN.js.map diff --git a/web/assets/index-DqqhYDnY.js b/web/assets/index-DqXp9vW4.js similarity index 97% rename from web/assets/index-DqqhYDnY.js rename to web/assets/index-DqXp9vW4.js index 07ca6f829..46d800e22 100644 --- a/web/assets/index-DqqhYDnY.js +++ b/web/assets/index-DqXp9vW4.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-D9ZzDQZV.js","./index-DKIv7atk.js","./index-DXE47DZl.js","./keybindingService-DEgCutrm.js","./serverConfigStore-Kb5DJVFt.js","./GraphView-CVCdiww1.css","./UserSelectView-wxa07xPk.js","./BaseViewTemplate-Cz111_1A.js","./ServerStartView-BpH4TXPO.js","./ServerStartView-CJiwVDQY.css","./InstallView-CVZcZZXJ.js","./index-BNlqgrYT.js","./uvMirrors-B-HKMf6X.js","./InstallView-DbJ2cGfL.css","./WelcomeView-BrXELNIm.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-BUpntA4x.js","./NotSupportedView-RFx6eCkN.css","./DownloadGitView-DVXUne-M.js","./ManualConfigurationView-Cz0_f_T-.js","./ManualConfigurationView-CsirlNfV.css","./MetricsConsentView-B5NlgqrS.js","./DesktopStartView-FKlxS2Lt.js","./MaintenanceView-Df7CHNWW.js","./index-BapOFhAR.js","./MaintenanceView-Bj5_Vr6o.css","./KeybindingPanel-CeHhC2F4.js","./KeybindingPanel-DvrUYZ4S.css","./ExtensionPanel-iPOrhDVM.js","./ServerConfigPanel-B1lI5M9c.js","./index-BYzwFNH3.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-CLFBgoGf.js","./index-DSWvxALN.js","./index-BTHx8UHZ.js","./index-B0BQ8jlU.js","./keybindingService-DgS0S2M6.js","./serverConfigStore-C8uoM7Sm.js","./GraphView-Bo28XDd0.css","./UserSelectView-CRPNAEVJ.js","./BaseViewTemplate-DlGljfEG.js","./ServerStartView-BENqs5bD.js","./ServerStartView-BZ7uhZHv.css","./InstallView-x9XCq0hC.js","./index-A-dAhghd.js","./uvMirrors-B-HKMf6X.js","./InstallView-DbJ2cGfL.css","./WelcomeView-Cvtvw05C.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-BzM0uuqA.js","./NotSupportedView-RFx6eCkN.css","./DownloadGitView-SPK8AXQU.js","./ManualConfigurationView-D3on5kXY.js","./ManualConfigurationView-CsirlNfV.css","./MetricsConsentView-DK20ednB.js","./DesktopStartView-B2BMUZxW.js","./MaintenanceView-BUmTZX1d.js","./index-KUUE4Ew8.js","./TerminalOutputDrawer-BgTEspHP.js","./MaintenanceView-DEJCj8SR.css","./DesktopUpdateView-DWsew03S.js","./DesktopUpdateView-CxchaIvw.css","./KeybindingPanel-BIrxefrS.js","./KeybindingPanel-CDYVPYDp.css","./ExtensionPanel-1HZtMFvH.js","./ServerConfigPanel-D0jTW_iX.js","./index-D9D9jjLT.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); var __defProp2 = Object.defineProperty; var __name = (target2, value4) => __defProp2(target2, "name", { value: value4, configurable: true }); (/* @__PURE__ */ __name(function polyfill2() { @@ -10941,10 +10941,10 @@ async function close$1(timeout) { return Promise.resolve(false); } __name(close$1, "close$1"); -function isInitialized() { +function isInitialized$1() { return !!getClient(); } -__name(isInitialized, "isInitialized"); +__name(isInitialized$1, "isInitialized$1"); function isEnabled() { const client = getClient(); return !!client && client.getOptions().enabled !== false && !!client.getTransport(); @@ -19319,16 +19319,16 @@ function toUpperCase(str) { } __name(toUpperCase, "toUpperCase"); const ORIGINAL_ATTRIBUTE_NAME = "__rrweb_original__"; -function is2DCanvasBlank(canvas) { - const ctx = canvas.getContext("2d"); +function is2DCanvasBlank(canvas2) { + const ctx = canvas2.getContext("2d"); if (!ctx) return true; const chunkSize = 50; - for (let x2 = 0; x2 < canvas.width; x2 += chunkSize) { - for (let y2 = 0; y2 < canvas.height; y2 += chunkSize) { + for (let x2 = 0; x2 < canvas2.width; x2 += chunkSize) { + for (let y2 = 0; y2 < canvas2.height; y2 += chunkSize) { const getImageData = ctx.getImageData; const originalGetImageData = ORIGINAL_ATTRIBUTE_NAME in getImageData ? getImageData[ORIGINAL_ATTRIBUTE_NAME] : getImageData; - const pixelBuffer = new Uint32Array(originalGetImageData.call(ctx, x2, y2, Math.min(chunkSize, canvas.width - x2), Math.min(chunkSize, canvas.height - y2)).data.buffer); + const pixelBuffer = new Uint32Array(originalGetImageData.call(ctx, x2, y2, Math.min(chunkSize, canvas2.width - x2), Math.min(chunkSize, canvas2.height - y2)).data.buffer); if (pixelBuffer.some((pixel) => pixel !== 0)) return false; } @@ -19472,13 +19472,13 @@ function getAbsoluteSrcsetString(doc2, attributeValue) { if (attributeValue.trim() === "") { return attributeValue; } - let pos2 = 0; + let pos = 0; function collectCharacters(regEx) { let chars2; - const match2 = regEx.exec(attributeValue.substring(pos2)); + const match2 = regEx.exec(attributeValue.substring(pos)); if (match2) { chars2 = match2[0]; - pos2 += chars2.length; + pos += chars2.length; return chars2; } return ""; @@ -19487,7 +19487,7 @@ function getAbsoluteSrcsetString(doc2, attributeValue) { const output = []; while (true) { collectCharacters(SRCSET_COMMAS_OR_SPACES); - if (pos2 >= attributeValue.length) { + if (pos >= attributeValue.length) { break; } let url = collectCharacters(SRCSET_NOT_SPACES); @@ -19499,13 +19499,13 @@ function getAbsoluteSrcsetString(doc2, attributeValue) { url = absoluteToDoc(doc2, url); let inParens = false; while (true) { - const c2 = attributeValue.charAt(pos2); + const c2 = attributeValue.charAt(pos); if (c2 === "") { output.push((url + descriptorsStr).trim()); break; } else if (!inParens) { if (c2 === ",") { - pos2 += 1; + pos += 1; output.push((url + descriptorsStr).trim()); break; } else if (c2 === "(") { @@ -19517,7 +19517,7 @@ function getAbsoluteSrcsetString(doc2, attributeValue) { } } descriptorsStr += c2; - pos2 += 1; + pos += 1; } } } @@ -21686,17 +21686,17 @@ function initInputObserver({ inputCb, doc: doc2, mirror: mirror2, blockClass, bl __name(initInputObserver, "initInputObserver"); function getNestedCSSRulePositions(rule) { const positions = []; - function recurse(childRule, pos2) { + function recurse(childRule, pos) { if (hasNestedCSSRule("CSSGroupingRule") && childRule.parentRule instanceof CSSGroupingRule || hasNestedCSSRule("CSSMediaRule") && childRule.parentRule instanceof CSSMediaRule || hasNestedCSSRule("CSSSupportsRule") && childRule.parentRule instanceof CSSSupportsRule || hasNestedCSSRule("CSSConditionRule") && childRule.parentRule instanceof CSSConditionRule) { const rules = Array.from(childRule.parentRule.cssRules); const index2 = rules.indexOf(childRule); - pos2.unshift(index2); + pos.unshift(index2); } else if (childRule.parentStyleSheet) { const rules = Array.from(childRule.parentStyleSheet.cssRules); const index2 = rules.indexOf(childRule); - pos2.unshift(index2); + pos.unshift(index2); } - return pos2; + return pos; } __name(recurse, "recurse"); return recurse(rule, positions); @@ -23199,9 +23199,9 @@ function onWindowOpen(cb) { } handlers$2.push(cb); return () => { - const pos2 = handlers$2 ? handlers$2.indexOf(cb) : -1; - if (pos2 > -1) { - handlers$2.splice(pos2, 1); + const pos = handlers$2 ? handlers$2.indexOf(cb) : -1; + if (pos > -1) { + handlers$2.splice(pos, 1); } }; } @@ -23329,10 +23329,10 @@ class ClickDetector { } }); for (const click2 of timedOutClicks) { - const pos2 = this._clicks.indexOf(click2); - if (pos2 > -1) { + const pos = this._clicks.indexOf(click2); + if (pos > -1) { this._generateBreadcrumbs(click2); - this._clicks.splice(pos2, 1); + this._clicks.splice(pos, 1); } } if (this._clicks.length) { @@ -27708,9 +27708,9 @@ class CanvasManager { } const matchedCanvas = []; const searchCanvas = /* @__PURE__ */ __name((root29) => { - root29.querySelectorAll("canvas").forEach((canvas) => { - if (!isBlocked(canvas, blockClass, blockSelector, unblockSelector)) { - matchedCanvas.push(canvas); + root29.querySelectorAll("canvas").forEach((canvas2) => { + if (!isBlocked(canvas2, blockClass, blockSelector, unblockSelector)) { + matchedCanvas.push(canvas2); } }); }, "searchCanvas"); @@ -27737,28 +27737,28 @@ class CanvasManager { return; } lastSnapshotTime = timestamp2; - getCanvas(canvasElement).forEach((canvas) => { - if (!this.mirror.hasNode(canvas)) { + getCanvas(canvasElement).forEach((canvas2) => { + if (!this.mirror.hasNode(canvas2)) { return; } - const id3 = this.mirror.getId(canvas); + const id3 = this.mirror.getId(canvas2); if (this.snapshotInProgressMap.get(id3)) return; - if (!canvas.width || !canvas.height) + if (!canvas2.width || !canvas2.height) return; this.snapshotInProgressMap.set(id3, true); - if (!isManualSnapshot && ["webgl", "webgl2"].includes(canvas.__context)) { - const context = canvas.getContext(canvas.__context); + if (!isManualSnapshot && ["webgl", "webgl2"].includes(canvas2.__context)) { + const context = canvas2.getContext(canvas2.__context); if (_optionalChain([context, "optionalAccess", (_4) => _4.getContextAttributes, "call", (_5) => _5(), "optionalAccess", (_6) => _6.preserveDrawingBuffer]) === false) { context.clear(context.COLOR_BUFFER_BIT); } } - createImageBitmap(canvas).then((bitmap) => { + createImageBitmap(canvas2).then((bitmap) => { _optionalChain([this, "access", (_7) => _7.worker, "optionalAccess", (_8) => _8.postMessage, "call", (_9) => _9({ id: id3, bitmap, - width: canvas.width, - height: canvas.height, + width: canvas2.width, + height: canvas2.height, dataURLOptions, maxCanvasSize }, [bitmap])]); @@ -27786,17 +27786,17 @@ class CanvasManager { onRequestAnimationFrame(setLatestRAFTimestamp); } flushPendingCanvasMutations() { - this.pendingCanvasMutations.forEach((values, canvas) => { - const id3 = this.mirror.getId(canvas); - this.flushPendingCanvasMutationFor(canvas, id3); + this.pendingCanvasMutations.forEach((values, canvas2) => { + const id3 = this.mirror.getId(canvas2); + this.flushPendingCanvasMutationFor(canvas2, id3); }); onRequestAnimationFrame(() => this.flushPendingCanvasMutations()); } - flushPendingCanvasMutationFor(canvas, id3) { + flushPendingCanvasMutationFor(canvas2, id3) { if (this.frozen || this.locked) { return; } - const valuesWithType = this.pendingCanvasMutations.get(canvas); + const valuesWithType = this.pendingCanvasMutations.get(canvas2); if (!valuesWithType || id3 === -1) return; const values = valuesWithType.map((value4) => { @@ -27805,7 +27805,7 @@ class CanvasManager { }); const { type } = valuesWithType[0]; this.mutationCb({ id: id3, type, commands: values }); - this.pendingCanvasMutations.delete(canvas); + this.pendingCanvasMutations.delete(canvas2); } } const CANVAS_QUALITY = { @@ -32008,7 +32008,7 @@ const toHandlerKey = cacheStringFunction$1( return s2; } ); -const hasChanged = /* @__PURE__ */ __name((value4, oldValue2) => !Object.is(value4, oldValue2), "hasChanged"); +const hasChanged = /* @__PURE__ */ __name((value4, oldValue) => !Object.is(value4, oldValue), "hasChanged"); const invokeArrayFns = /* @__PURE__ */ __name((fns, ...arg) => { for (let i2 = 0; i2 < fns.length; i2++) { fns[i2](...arg); @@ -33096,7 +33096,7 @@ function track(target2, type, key) { } } __name(track, "track"); -function trigger(target2, type, key, newValue2, oldValue2, oldTarget) { +function trigger(target2, type, key, newValue2, oldValue, oldTarget) { const depsMap = targetMap.get(target2); if (!depsMap) { globalVersion++; @@ -33110,7 +33110,7 @@ function trigger(target2, type, key, newValue2, oldValue2, oldTarget) { type, key, newValue: newValue2, - oldValue: oldValue2, + oldValue, oldTarget }); } else { @@ -33435,18 +33435,18 @@ class MutableReactiveHandler extends BaseReactiveHandler { super(false, isShallow2); } set(target2, key, value4, receiver) { - let oldValue2 = target2[key]; + let oldValue = target2[key]; if (!this._isShallow) { - const isOldValueReadonly = isReadonly(oldValue2); + const isOldValueReadonly = isReadonly(oldValue); if (!isShallow(value4) && !isReadonly(value4)) { - oldValue2 = toRaw(oldValue2); + oldValue = toRaw(oldValue); value4 = toRaw(value4); } - if (!isArray$b(target2) && isRef(oldValue2) && !isRef(value4)) { + if (!isArray$b(target2) && isRef(oldValue) && !isRef(value4)) { if (isOldValueReadonly) { return false; } else { - oldValue2.value = value4; + oldValue.value = value4; return true; } } @@ -33461,18 +33461,18 @@ class MutableReactiveHandler extends BaseReactiveHandler { if (target2 === toRaw(receiver)) { if (!hadKey) { trigger(target2, "add", key, value4); - } else if (hasChanged(value4, oldValue2)) { - trigger(target2, "set", key, value4, oldValue2); + } else if (hasChanged(value4, oldValue)) { + trigger(target2, "set", key, value4, oldValue); } } return result; } deleteProperty(target2, key) { const hadKey = hasOwn$3(target2, key); - const oldValue2 = target2[key]; + const oldValue = target2[key]; const result = Reflect.deleteProperty(target2, key); if (result && hadKey) { - trigger(target2, "delete", key, void 0, oldValue2); + trigger(target2, "delete", key, void 0, oldValue); } return result; } @@ -33652,12 +33652,12 @@ function createInstrumentations(readonly2, shallow) { } else if (false) { checkIdentityKeys(target2, has2, key); } - const oldValue2 = get3.call(target2, key); + const oldValue = get3.call(target2, key); target2.set(key, value4); if (!hadKey) { trigger(target2, "add", key, value4); - } else if (hasChanged(value4, oldValue2)) { - trigger(target2, "set", key, value4, oldValue2); + } else if (hasChanged(value4, oldValue)) { + trigger(target2, "set", key, value4, oldValue); } return this; }, @@ -33671,10 +33671,10 @@ function createInstrumentations(readonly2, shallow) { } else if (false) { checkIdentityKeys(target2, has2, key); } - const oldValue2 = get3 ? get3.call(target2, key) : void 0; + const oldValue = get3 ? get3.call(target2, key) : void 0; const result = target2.delete(key); if (hadKey) { - trigger(target2, "delete", key, void 0, oldValue2); + trigger(target2, "delete", key, void 0, oldValue); } return result; }, @@ -33921,10 +33921,10 @@ class RefImpl { return this._value; } set value(newValue2) { - const oldValue2 = this._rawValue; + const oldValue = this._rawValue; const useDirectValue = this["__v_isShallow"] || isShallow(newValue2) || isReadonly(newValue2); newValue2 = useDirectValue ? newValue2 : toRaw(newValue2); - if (hasChanged(newValue2, oldValue2)) { + if (hasChanged(newValue2, oldValue)) { this._rawValue = newValue2; this._value = useDirectValue ? newValue2 : toReactive$1(newValue2); if (false) { @@ -33933,7 +33933,7 @@ class RefImpl { type: "set", key: "value", newValue: newValue2, - oldValue: oldValue2 + oldValue }); } else { this.dep.trigger(); @@ -33967,9 +33967,9 @@ __name(toValue$4, "toValue$4"); const shallowUnwrapHandlers = { get: /* @__PURE__ */ __name((target2, key, receiver) => key === "__v_raw" ? target2 : unref(Reflect.get(target2, key, receiver)), "get"), set: /* @__PURE__ */ __name((target2, key, value4, receiver) => { - const oldValue2 = target2[key]; - if (isRef(oldValue2) && !isRef(value4)) { - oldValue2.value = value4; + const oldValue = target2[key]; + if (isRef(oldValue) && !isRef(value4)) { + oldValue.value = value4; return true; } else { return Reflect.set(target2, key, value4, receiver); @@ -34264,14 +34264,14 @@ function watch$1(source, cb, options4 = EMPTY_OBJ) { watchHandle(); }, "cb"); } - let oldValue2 = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; const job = /* @__PURE__ */ __name((immediateFirstRun) => { if (!(effect2.flags & 1) || !effect2.dirty && !immediateFirstRun) { return; } if (cb) { const newValue2 = effect2.run(); - if (deep || forceTrigger || (isMultiSource ? newValue2.some((v2, i2) => hasChanged(v2, oldValue2[i2])) : hasChanged(newValue2, oldValue2))) { + if (deep || forceTrigger || (isMultiSource ? newValue2.some((v2, i2) => hasChanged(v2, oldValue[i2])) : hasChanged(newValue2, oldValue))) { if (cleanup) { cleanup(); } @@ -34281,14 +34281,14 @@ function watch$1(source, cb, options4 = EMPTY_OBJ) { const args = [ newValue2, // pass undefined as the old value when it's changed for the first time - oldValue2 === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue2[0] === INITIAL_WATCHER_VALUE ? [] : oldValue2, + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, boundCleanup ]; call ? call(cb, 3, args) : ( // @ts-expect-error cb(...args) ); - oldValue2 = newValue2; + oldValue = newValue2; } finally { activeWatcher = currentWatcher; } @@ -34322,7 +34322,7 @@ function watch$1(source, cb, options4 = EMPTY_OBJ) { if (immediate) { job(true); } else { - oldValue2 = effect2.run(); + oldValue = effect2.run(); } } else if (scheduler) { scheduler(job.bind(null, true), true); @@ -43375,8 +43375,8 @@ const vShow = { transition.enter(el); } }, - updated(el, { value: value4, oldValue: oldValue2 }, { transition }) { - if (!value4 === !oldValue2) return; + updated(el, { value: value4, oldValue }, { transition }) { + if (!value4 === !oldValue) return; if (transition) { if (value4) { transition.beforeEnter(el); @@ -43616,13 +43616,13 @@ function patchDOMProp(el, key, value4, parentComponent, attrName) { const tag = el.tagName; if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally !tag.includes("-")) { - const oldValue2 = tag === "OPTION" ? el.getAttribute("value") || "" : el.value; + const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value; const newValue2 = value4 == null ? ( // #11647: value should be set as empty string for null and undefined, // but should be set as 'on'. el.type === "checkbox" ? "on" : "" ) : String(value4); - if (oldValue2 !== newValue2 || !("_value" in el)) { + if (oldValue !== newValue2 || !("_value" in el)) { el.value = newValue2; } if (value4 == null) { @@ -44433,7 +44433,7 @@ const vModelText = { mounted(el, { value: value4 }) { el.value = value4 == null ? "" : value4; }, - beforeUpdate(el, { value: value4, oldValue: oldValue2, modifiers: { lazy, trim: trim2, number: number2 } }, vnode) { + beforeUpdate(el, { value: value4, oldValue, modifiers: { lazy, trim: trim2, number: number2 } }, vnode) { el[assignKey] = getModelAssigner(vnode); if (el.composing) return; const elValue = (number2 || el.type === "number") && !/^0\d/.test(el.value) ? looseToNumber(el.value) : el.value; @@ -44442,7 +44442,7 @@ const vModelText = { return; } if (document.activeElement === el && el.type !== "range") { - if (lazy && value4 === oldValue2) { + if (lazy && value4 === oldValue) { return; } if (trim2 && el.value.trim() === newValue2) { @@ -44492,7 +44492,7 @@ const vModelCheckbox = { setChecked(el, binding, vnode); } }; -function setChecked(el, { value: value4, oldValue: oldValue2 }, vnode) { +function setChecked(el, { value: value4, oldValue }, vnode) { el._modelValue = value4; let checked4; if (isArray$b(value4)) { @@ -44500,7 +44500,7 @@ function setChecked(el, { value: value4, oldValue: oldValue2 }, vnode) { } else if (isSet$3(value4)) { checked4 = value4.has(vnode.props.value); } else { - if (value4 === oldValue2) return; + if (value4 === oldValue) return; checked4 = looseEqual(value4, getCheckboxValue(el, true)); } if (el.checked !== checked4) { @@ -44516,9 +44516,9 @@ const vModelRadio = { el[assignKey](getValue$3(el)); }); }, - beforeUpdate(el, { value: value4, oldValue: oldValue2 }, vnode) { + beforeUpdate(el, { value: value4, oldValue }, vnode) { el[assignKey] = getModelAssigner(vnode); - if (value4 !== oldValue2) { + if (value4 !== oldValue) { el.checked = looseEqual(value4, vnode.props.value); } } @@ -45887,7 +45887,7 @@ function addStoreToDevtools(app2, store) { }); }, true); store._customProperties.forEach((name2) => { - watch(() => unref(store[name2]), (newValue2, oldValue2) => { + watch(() => unref(store[name2]), (newValue2, oldValue) => { api2.notifyComponentUpdate(); api2.sendInspectorState(INSPECTOR_ID); if (isTimelineActive) { @@ -45899,7 +45899,7 @@ function addStoreToDevtools(app2, store) { subtitle: name2, data: { newValue: newValue2, - oldValue: oldValue2 + oldValue }, groupId: activeAction } @@ -48906,10 +48906,10 @@ function setupConfig(app2, PrimeVue2) { isThemeChanged.value = true; } }); - var stopConfigWatcher = watch(PrimeVue2.config, function(newValue2, oldValue2) { + var stopConfigWatcher = watch(PrimeVue2.config, function(newValue2, oldValue) { PrimeVueService.emit("config:change", { newValue: newValue2, - oldValue: oldValue2 + oldValue }); }, { immediate: true, @@ -48917,10 +48917,10 @@ function setupConfig(app2, PrimeVue2) { }); var stopRippleWatcher = watch(function() { return PrimeVue2.config.ripple; - }, function(newValue2, oldValue2) { + }, function(newValue2, oldValue) { PrimeVueService.emit("config:ripple:change", { newValue: newValue2, - oldValue: oldValue2 + oldValue }); }, { immediate: true, @@ -48928,7 +48928,7 @@ function setupConfig(app2, PrimeVue2) { }); var stopThemeWatcher = watch(function() { return PrimeVue2.config.theme; - }, function(newValue2, oldValue2) { + }, function(newValue2, oldValue) { if (!isThemeChanged.value) { config_default$1.setTheme(newValue2); } @@ -48938,7 +48938,7 @@ function setupConfig(app2, PrimeVue2) { isThemeChanged.value = false; PrimeVueService.emit("config:theme:change", { newValue: newValue2, - oldValue: oldValue2 + oldValue }); }, { immediate: true, @@ -48946,13 +48946,13 @@ function setupConfig(app2, PrimeVue2) { }); var stopUnstyledWatcher = watch(function() { return PrimeVue2.config.unstyled; - }, function(newValue2, oldValue2) { + }, function(newValue2, oldValue) { if (!newValue2 && PrimeVue2.config.theme) { loadCommonTheme(); } PrimeVueService.emit("config:unstyled:change", { newValue: newValue2, - oldValue: oldValue2 + oldValue }); }, { immediate: true, @@ -49659,14 +49659,14 @@ var BaseDirective = { watchers === null || watchers === void 0 || (_watchers$config = watchers["config"]) === null || _watchers$config === void 0 || _watchers$config.call(el.$instance, (_el$$instance11 = el.$instance) === null || _el$$instance11 === void 0 ? void 0 : _el$$instance11.$primevueConfig); PrimeVueService.on("config:change", function(_ref8) { var _watchers$config2; - var newValue2 = _ref8.newValue, oldValue2 = _ref8.oldValue; - return watchers === null || watchers === void 0 || (_watchers$config2 = watchers["config"]) === null || _watchers$config2 === void 0 ? void 0 : _watchers$config2.call(el.$instance, newValue2, oldValue2); + var newValue2 = _ref8.newValue, oldValue = _ref8.oldValue; + return watchers === null || watchers === void 0 || (_watchers$config2 = watchers["config"]) === null || _watchers$config2 === void 0 ? void 0 : _watchers$config2.call(el.$instance, newValue2, oldValue); }); watchers === null || watchers === void 0 || (_watchers$configRipp = watchers["config.ripple"]) === null || _watchers$configRipp === void 0 || _watchers$configRipp.call(el.$instance, (_el$$instance12 = el.$instance) === null || _el$$instance12 === void 0 || (_el$$instance12 = _el$$instance12.$primevueConfig) === null || _el$$instance12 === void 0 ? void 0 : _el$$instance12.ripple); PrimeVueService.on("config:ripple:change", function(_ref9) { var _watchers$configRipp2; - var newValue2 = _ref9.newValue, oldValue2 = _ref9.oldValue; - return watchers === null || watchers === void 0 || (_watchers$configRipp2 = watchers["config.ripple"]) === null || _watchers$configRipp2 === void 0 ? void 0 : _watchers$configRipp2.call(el.$instance, newValue2, oldValue2); + var newValue2 = _ref9.newValue, oldValue = _ref9.oldValue; + return watchers === null || watchers === void 0 || (_watchers$configRipp2 = watchers["config.ripple"]) === null || _watchers$configRipp2 === void 0 ? void 0 : _watchers$configRipp2.call(el.$instance, newValue2, oldValue); }); }, "handleWatch"); return { @@ -54831,12 +54831,12 @@ const streamChunk = /* @__PURE__ */ __name(function* (chunk, chunkSize) { yield chunk; return; } - let pos2 = 0; + let pos = 0; let end; - while (pos2 < len) { - end = pos2 + chunkSize; - yield chunk.slice(pos2, end); - pos2 = end; + while (pos < len) { + end = pos + chunkSize; + yield chunk.slice(pos, end); + pos = end; } }, "streamChunk"); const readBytes = /* @__PURE__ */ __name(async function* (iterable, chunkSize, encode2) { @@ -55879,10 +55879,10 @@ function createBounds(objects, padding = 10) { ]; } __name(createBounds, "createBounds"); -function snapPoint(pos2, snapTo) { +function snapPoint(pos, snapTo) { if (!snapTo) return false; - pos2[0] = snapTo * Math.round(pos2[0] / snapTo); - pos2[1] = snapTo * Math.round(pos2[1] / snapTo); + pos[0] = snapTo * Math.round(pos[0] / snapTo); + pos[1] = snapTo * Math.round(pos[1] / snapTo); return true; } __name(snapPoint, "snapPoint"); @@ -55897,10 +55897,10 @@ class Reroute { * @param pos Position in graph coordinates * @param linkIds Link IDs ({@link LLink.id}) of all links that use this reroute */ - constructor(id3, network, pos2, parentId, linkIds) { + constructor(id3, network, pos, parentId, linkIds) { this.id = id3; this.#network = new WeakRef(network); - this.update(parentId, pos2, linkIds); + this.update(parentId, pos, linkIds); this.linkIds ??= /* @__PURE__ */ new Set(); } static radius = 10; @@ -55976,9 +55976,9 @@ class Reroute { * @param pos The position of this reroute * @param linkIds All link IDs that pass through this reroute */ - update(parentId, pos2, linkIds) { + update(parentId, pos, linkIds) { this.parentId = parentId; - if (pos2) this.pos = pos2; + if (pos) this.pos = pos; if (linkIds) this.linkIds = new Set(linkIds); } /** @@ -56034,9 +56034,9 @@ class Reroute { /** @inheritdoc */ snapToGrid(snapTo) { if (!snapTo) return false; - const { pos: pos2 } = this; - pos2[0] = snapTo * Math.round(pos2[0] / snapTo); - pos2[1] = snapTo * Math.round(pos2[1] / snapTo); + const { pos } = this; + pos[0] = snapTo * Math.round(pos[0] / snapTo); + pos[1] = snapTo * Math.round(pos[1] / snapTo); return true; } calculateAngle(lastRenderTime, network, linkStart) { @@ -56049,9 +56049,9 @@ class Reroute { for (const linkId of linkIds) { const link2 = links.get(linkId); if (!link2) continue; - const pos2 = LLink.findNextReroute(network, link2, id3)?.pos ?? network.getNodeById(link2.target_id)?.getConnectionPos(true, link2.target_slot, this.#buffer); - if (!pos2) continue; - const angle = Math.atan2(pos2[1] - this.#pos[1], pos2[0] - this.#pos[0]); + const pos = LLink.findNextReroute(network, link2, id3)?.pos ?? network.getNodeById(link2.target_id)?.getConnectionPos(true, link2.target_slot, this.#buffer); + if (!pos) continue; + const angle = Math.atan2(pos[1] - this.#pos[1], pos[0] - this.#pos[0]); angles.push(angle); sum += angle; } @@ -56080,10 +56080,10 @@ class Reroute { * @remarks Leaves {@link ctx}.fillStyle, strokeStyle, and lineWidth dirty (perf.). */ draw(ctx) { - const { pos: pos2 } = this; + const { pos } = this; ctx.fillStyle = this._colour; ctx.beginPath(); - ctx.arc(pos2[0], pos2[1], Reroute.radius, 0, 2 * Math.PI); + ctx.arc(pos[0], pos[1], Reroute.radius, 0, 2 * Math.PI); ctx.fill(); ctx.lineWidth = Reroute.radius * 0.1; ctx.strokeStyle = "rgb(0,0,0,0.5)"; @@ -56091,13 +56091,13 @@ class Reroute { ctx.fillStyle = "#ffffff55"; ctx.strokeStyle = "rgb(0,0,0,0.3)"; ctx.beginPath(); - ctx.arc(pos2[0], pos2[1], Reroute.radius * 0.8, 0, 2 * Math.PI); + ctx.arc(pos[0], pos[1], Reroute.radius * 0.8, 0, 2 * Math.PI); ctx.fill(); ctx.stroke(); if (this.selected) { ctx.strokeStyle = "#fff"; ctx.beginPath(); - ctx.arc(pos2[0], pos2[1], Reroute.radius * 1.2, 0, 2 * Math.PI); + ctx.arc(pos[0], pos[1], Reroute.radius * 1.2, 0, 2 * Math.PI); ctx.stroke(); } } @@ -56178,6 +56178,900 @@ class LGraphBadge { ctx.fillStyle = fillStyle; } } +var SlotType = /* @__PURE__ */ ((SlotType2) => { + SlotType2["Array"] = "array"; + SlotType2[SlotType2["Event"] = -1] = "Event"; + return SlotType2; +})(SlotType || {}); +var SlotShape = ((SlotShape2) => { + SlotShape2[SlotShape2["Box"] = RenderShape.BOX] = "Box"; + SlotShape2[SlotShape2["Arrow"] = RenderShape.ARROW] = "Arrow"; + SlotShape2[SlotShape2["Grid"] = RenderShape.GRID] = "Grid"; + SlotShape2[SlotShape2["Circle"] = RenderShape.CIRCLE] = "Circle"; + SlotShape2[SlotShape2["HollowCircle"] = RenderShape.HollowCircle] = "HollowCircle"; + return SlotShape2; +})(SlotShape || {}); +var SlotDirection = ((SlotDirection2) => { + SlotDirection2[SlotDirection2["Up"] = LinkDirection.UP] = "Up"; + SlotDirection2[SlotDirection2["Right"] = LinkDirection.RIGHT] = "Right"; + SlotDirection2[SlotDirection2["Down"] = LinkDirection.DOWN] = "Down"; + SlotDirection2[SlotDirection2["Left"] = LinkDirection.LEFT] = "Left"; + return SlotDirection2; +})(SlotDirection || {}); +var LabelPosition = /* @__PURE__ */ ((LabelPosition2) => { + LabelPosition2["Left"] = "left"; + LabelPosition2["Right"] = "right"; + return LabelPosition2; +})(LabelPosition || {}); +function strokeShape(ctx, area, options22 = {}) { + const { + shape = RenderShape.BOX, + round_radius = LiteGraph.ROUND_RADIUS, + title_height = LiteGraph.NODE_TITLE_HEIGHT, + title_mode = TitleMode.NORMAL_TITLE, + colour = LiteGraph.NODE_BOX_OUTLINE_COLOR, + padding = 6, + collapsed: collapsed2 = false, + thickness = 1 + } = options22; + if (title_mode === TitleMode.TRANSPARENT_TITLE) { + area[1] -= title_height; + area[3] += title_height; + } + const { lineWidth, strokeStyle } = ctx; + ctx.lineWidth = thickness; + ctx.globalAlpha = 0.8; + ctx.strokeStyle = colour; + ctx.beginPath(); + const [x2, y2, width2, height] = area; + switch (shape) { + case RenderShape.BOX: { + ctx.rect( + x2 - padding, + y2 - padding, + width2 + 2 * padding, + height + 2 * padding + ); + break; + } + case RenderShape.ROUND: + case RenderShape.CARD: { + const radius = round_radius + padding; + const isCollapsed = shape === RenderShape.CARD && collapsed2; + const cornerRadii = isCollapsed || shape === RenderShape.ROUND ? [radius] : [radius, 2, radius, 2]; + ctx.roundRect( + x2 - padding, + y2 - padding, + width2 + 2 * padding, + height + 2 * padding, + cornerRadii + ); + break; + } + case RenderShape.CIRCLE: { + const centerX = x2 + width2 / 2; + const centerY = y2 + height / 2; + const radius = Math.max(width2, height) / 2 + padding; + ctx.arc(centerX, centerY, radius, 0, Math.PI * 2); + break; + } + } + ctx.stroke(); + ctx.lineWidth = lineWidth; + ctx.strokeStyle = strokeStyle; + ctx.globalAlpha = 1; +} +__name(strokeShape, "strokeShape"); +class NodeSlot { + static { + __name(this, "NodeSlot"); + } + name; + localized_name; + label; + type; + dir; + removable; + shape; + color_off; + color_on; + locked; + nameLocked; + pos; + widget; + constructor(slot) { + Object.assign(this, slot); + this.name = slot.name; + this.type = slot.type; + } + /** + * The label to display in the UI. + */ + get renderingLabel() { + return this.label || this.localized_name || this.name || ""; + } + connectedColor(context) { + return this.color_on || context.default_connection_color_byType[this.type] || context.default_connection_color.output_on; + } + disconnectedColor(context) { + return this.color_off || context.default_connection_color_byTypeOff[this.type] || context.default_connection_color_byType[this.type] || context.default_connection_color.output_off; + } + renderingColor(context) { + return this.isConnected() ? this.connectedColor(context) : this.disconnectedColor(context); + } + draw(ctx, options22) { + const { + pos, + colorContext, + labelColor = "#AAA", + labelPosition = LabelPosition.Right, + lowQuality = false, + renderText = true, + highlight = false, + doStroke: _doStroke = false + } = options22; + const originalFillStyle = ctx.fillStyle; + const originalStrokeStyle = ctx.strokeStyle; + const originalLineWidth = ctx.lineWidth; + const slot_type = this.type; + const slot_shape = slot_type === SlotType.Array ? SlotShape.Grid : this.shape; + ctx.beginPath(); + let doStroke = _doStroke; + let doFill = true; + ctx.fillStyle = this.renderingColor(colorContext); + ctx.lineWidth = 1; + if (slot_type === SlotType.Event || slot_shape === SlotShape.Box) { + ctx.rect(pos[0] - 6 + 0.5, pos[1] - 5 + 0.5, 14, 10); + } else if (slot_shape === SlotShape.Arrow) { + ctx.moveTo(pos[0] + 8, pos[1] + 0.5); + ctx.lineTo(pos[0] - 4, pos[1] + 6 + 0.5); + ctx.lineTo(pos[0] - 4, pos[1] - 6 + 0.5); + ctx.closePath(); + } else if (slot_shape === SlotShape.Grid) { + const gridSize = 3; + const cellSize = 2; + const spacing = 3; + for (let x2 = 0; x2 < gridSize; x2++) { + for (let y2 = 0; y2 < gridSize; y2++) { + ctx.rect( + pos[0] - 4 + x2 * spacing, + pos[1] - 4 + y2 * spacing, + cellSize, + cellSize + ); + } + } + doStroke = false; + } else { + if (lowQuality) { + ctx.rect(pos[0] - 4, pos[1] - 4, 8, 8); + } else { + let radius; + if (slot_shape === SlotShape.HollowCircle) { + doFill = false; + doStroke = true; + ctx.lineWidth = 3; + ctx.strokeStyle = ctx.fillStyle; + radius = highlight ? 4 : 3; + } else { + radius = highlight ? 5 : 4; + } + ctx.arc(pos[0], pos[1], radius, 0, Math.PI * 2); + } + } + if (doFill) ctx.fill(); + if (!lowQuality && doStroke) ctx.stroke(); + if (renderText) { + const text2 = this.renderingLabel; + if (text2) { + ctx.fillStyle = labelColor; + if (labelPosition === LabelPosition.Right) { + if (this.dir == LinkDirection.UP) { + ctx.fillText(text2, pos[0], pos[1] - 10); + } else { + ctx.fillText(text2, pos[0] + 10, pos[1] + 5); + } + } else { + if (this.dir == LinkDirection.DOWN) { + ctx.fillText(text2, pos[0], pos[1] - 8); + } else { + ctx.fillText(text2, pos[0] - 10, pos[1] + 5); + } + } + } + } + ctx.fillStyle = originalFillStyle; + ctx.strokeStyle = originalStrokeStyle; + ctx.lineWidth = originalLineWidth; + } + drawCollapsed(ctx, options22) { + const [x2, y2] = options22.pos; + const originalFillStyle = ctx.fillStyle; + ctx.fillStyle = "#686"; + ctx.beginPath(); + if (this.type === SlotType.Event || this.shape === RenderShape.BOX) { + ctx.rect(x2 - 7 + 0.5, y2 - 4, 14, 8); + } else if (this.shape === RenderShape.ARROW) { + const isInput = this instanceof NodeInputSlot; + if (isInput) { + ctx.moveTo(x2 + 8, y2); + ctx.lineTo(x2 - 4, y2 - 4); + ctx.lineTo(x2 - 4, y2 + 4); + } else { + ctx.moveTo(x2 + 6, y2); + ctx.lineTo(x2 - 6, y2 - 4); + ctx.lineTo(x2 - 6, y2 + 4); + } + ctx.closePath(); + } else { + ctx.arc(x2, y2, 4, 0, Math.PI * 2); + } + ctx.fill(); + ctx.fillStyle = originalFillStyle; + } +} +class NodeInputSlot extends NodeSlot { + static { + __name(this, "NodeInputSlot"); + } + link; + constructor(slot) { + super(slot); + this.link = slot.link; + } + isConnected() { + return this.link != null; + } + isValidTarget(link2) { + if (!link2) return true; + return !!link2.output && LiteGraph.isValidConnection(this.type, link2.output.type); + } + draw(ctx, options22) { + const originalTextAlign = ctx.textAlign; + ctx.textAlign = "left"; + super.draw(ctx, { + ...options22, + labelPosition: LabelPosition.Right, + doStroke: false + }); + ctx.textAlign = originalTextAlign; + } +} +class NodeOutputSlot extends NodeSlot { + static { + __name(this, "NodeOutputSlot"); + } + links; + _data; + slot_index; + constructor(slot) { + super(slot); + this.links = slot.links; + this._data = slot._data; + this.slot_index = slot.slot_index; + } + isValidTarget(link2) { + if (!link2) return true; + return !!link2.input && LiteGraph.isValidConnection(this.type, link2.input.type); + } + isConnected() { + return this.links != null && this.links.length > 0; + } + draw(ctx, options22) { + const originalTextAlign = ctx.textAlign; + const originalStrokeStyle = ctx.strokeStyle; + ctx.textAlign = "right"; + ctx.strokeStyle = "black"; + super.draw(ctx, { + ...options22, + labelPosition: LabelPosition.Left, + doStroke: true + }); + ctx.textAlign = originalTextAlign; + ctx.strokeStyle = originalStrokeStyle; + } +} +class BaseWidget { + static { + __name(this, "BaseWidget"); + } + linkedWidgets; + options; + marker; + label; + clicked; + name; + type; + value; + y; + last_y; + width; + disabled; + hidden; + advanced; + tooltip; + element; + constructor(widget) { + Object.assign(this, widget); + this.options = widget.options; + } + get outline_color() { + return this.advanced ? LiteGraph.WIDGET_ADVANCED_OUTLINE_COLOR : LiteGraph.WIDGET_OUTLINE_COLOR; + } + get background_color() { + return LiteGraph.WIDGET_BGCOLOR; + } + get height() { + return LiteGraph.NODE_WIDGET_HEIGHT; + } + get text_color() { + return LiteGraph.WIDGET_TEXT_COLOR; + } + get secondary_text_color() { + return LiteGraph.WIDGET_SECONDARY_TEXT_COLOR; + } + /** + * Handles the click event for the widget + * @param options - The options for handling the click event + */ + onClick(options22) { + } + /** + * Handles the drag event for the widget + * @param options - The options for handling the drag event + */ + onDrag(options22) { + } + /** + * Sets the value of the widget + * @param value - The value to set + * @param options - The options for setting the value + */ + setValue(value4, options22) { + const { node: node22, canvas: canvas2, e: e2 } = options22; + const oldValue = this.value; + const v2 = this.type === "number" ? Number(value4) : value4; + this.value = v2; + if (this.options?.property && node22.properties[this.options.property] !== void 0) { + node22.setProperty(this.options.property, v2); + } + const pos = canvas2.graph_mouse; + this.callback?.(this.value, canvas2, node22, pos, e2); + node22.onWidgetChanged?.(this.name ?? "", v2, oldValue, this); + if (node22.graph) node22.graph._version++; + } +} +class BooleanWidget extends BaseWidget { + static { + __name(this, "BooleanWidget"); + } + constructor(widget) { + super(widget); + this.type = "toggle"; + this.value = widget.value; + } + drawWidget(ctx, options22) { + const { y: y2, width: width2, show_text = true, margin = 15 } = options22; + const widget_width = width2; + const H = this.height; + ctx.textAlign = "left"; + ctx.strokeStyle = this.outline_color; + ctx.fillStyle = this.background_color; + ctx.beginPath(); + if (show_text) + ctx.roundRect(margin, y2, widget_width - margin * 2, H, [H * 0.5]); + else ctx.rect(margin, y2, widget_width - margin * 2, H); + ctx.fill(); + if (show_text && !this.disabled) ctx.stroke(); + ctx.fillStyle = this.value ? "#89A" : "#333"; + ctx.beginPath(); + ctx.arc( + widget_width - margin * 2, + y2 + H * 0.5, + H * 0.36, + 0, + Math.PI * 2 + ); + ctx.fill(); + if (show_text) { + ctx.fillStyle = this.secondary_text_color; + const label5 = this.label || this.name; + if (label5 != null) { + ctx.fillText(label5, margin * 2, y2 + H * 0.7); + } + ctx.fillStyle = this.value ? this.text_color : this.secondary_text_color; + ctx.textAlign = "right"; + ctx.fillText( + this.value ? this.options.on || "true" : this.options.off || "false", + widget_width - 40, + y2 + H * 0.7 + ); + } + } + onClick(options22) { + this.setValue(!this.value, options22); + } +} +class ButtonWidget extends BaseWidget { + static { + __name(this, "ButtonWidget"); + } + constructor(widget) { + super(widget); + this.type = "button"; + this.value = widget.value ?? ""; + } + /** + * Draws the widget + * @param ctx - The canvas context + * @param options - The options for drawing the widget + */ + drawWidget(ctx, options22) { + const originalTextAlign = ctx.textAlign; + const originalStrokeStyle = ctx.strokeStyle; + const originalFillStyle = ctx.fillStyle; + const { y: y2, width: width2, show_text = true, margin = 15 } = options22; + const widget_width = width2; + const H = this.height; + ctx.fillStyle = this.background_color; + if (this.clicked) { + ctx.fillStyle = "#AAA"; + this.clicked = false; + } + ctx.fillRect(margin, y2, widget_width - margin * 2, H); + if (show_text && !this.disabled) { + ctx.strokeStyle = this.outline_color; + ctx.strokeRect(margin, y2, widget_width - margin * 2, H); + } + if (show_text) { + ctx.textAlign = "center"; + ctx.fillStyle = this.text_color; + ctx.fillText( + this.label || this.name || "", + widget_width * 0.5, + y2 + H * 0.7 + ); + } + ctx.textAlign = originalTextAlign; + ctx.strokeStyle = originalStrokeStyle; + ctx.fillStyle = originalFillStyle; + } + onClick(options22) { + const { e: e2, node: node22, canvas: canvas2 } = options22; + const pos = canvas2.graph_mouse; + this.clicked = true; + canvas2.setDirty(true); + this.callback?.(this, canvas2, node22, pos, e2); + } +} +class ComboWidget extends BaseWidget { + static { + __name(this, "ComboWidget"); + } + constructor(widget) { + super(widget); + this.type = "combo"; + this.value = widget.value; + } + /** + * Draws the widget + * @param ctx - The canvas context + * @param options - The options for drawing the widget + */ + drawWidget(ctx, options22) { + const originalTextAlign = ctx.textAlign; + const originalStrokeStyle = ctx.strokeStyle; + const originalFillStyle = ctx.fillStyle; + const { y: y2, width: width2, show_text = true, margin = 15 } = options22; + const widget_width = width2; + const H = this.height; + ctx.textAlign = "left"; + ctx.strokeStyle = this.outline_color; + ctx.fillStyle = this.background_color; + ctx.beginPath(); + if (show_text) + ctx.roundRect(margin, y2, widget_width - margin * 2, H, [H * 0.5]); + else + ctx.rect(margin, y2, widget_width - margin * 2, H); + ctx.fill(); + if (show_text) { + if (!this.disabled) { + ctx.stroke(); + ctx.fillStyle = this.text_color; + ctx.beginPath(); + ctx.moveTo(margin + 16, y2 + 5); + ctx.lineTo(margin + 6, y2 + H * 0.5); + ctx.lineTo(margin + 16, y2 + H - 5); + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(widget_width - margin - 16, y2 + 5); + ctx.lineTo(widget_width - margin - 6, y2 + H * 0.5); + ctx.lineTo(widget_width - margin - 16, y2 + H - 5); + ctx.fill(); + } + ctx.fillStyle = this.secondary_text_color; + const label5 = this.label || this.name; + if (label5 != null) { + ctx.fillText(label5, margin * 2 + 5, y2 + H * 0.7); + } + ctx.fillStyle = this.text_color; + ctx.textAlign = "right"; + let displayValue = typeof this.value === "number" ? String(this.value) : this.value; + if (this.options.values) { + let values = this.options.values; + if (typeof values === "function") { + values = values(); + } + if (values && !Array.isArray(values)) { + displayValue = values[this.value]; + } + } + const labelWidth = ctx.measureText(label5 || "").width + margin * 2; + const inputWidth = widget_width - margin * 4; + const availableWidth = inputWidth - labelWidth; + const textWidth = ctx.measureText(displayValue).width; + if (textWidth > availableWidth) { + const ELLIPSIS = "…"; + const ellipsisWidth = ctx.measureText(ELLIPSIS).width; + const charWidthAvg = ctx.measureText("a").width; + if (availableWidth <= ellipsisWidth) { + displayValue = "․"; + } else { + displayValue = `${displayValue}`; + const overflowWidth = textWidth + ellipsisWidth - availableWidth; + if (overflowWidth + charWidthAvg * 3 > availableWidth) { + const preciseRange = availableWidth + charWidthAvg * 3; + const preTruncateCt = Math.floor((preciseRange - ellipsisWidth) / charWidthAvg); + displayValue = displayValue.substr(0, preTruncateCt); + } + while (ctx.measureText(displayValue).width + ellipsisWidth > availableWidth) { + displayValue = displayValue.substr(0, displayValue.length - 1); + } + displayValue += ELLIPSIS; + } + } + ctx.fillText( + displayValue, + widget_width - margin * 2 - 20, + y2 + H * 0.7 + ); + } + ctx.textAlign = originalTextAlign; + ctx.strokeStyle = originalStrokeStyle; + ctx.fillStyle = originalFillStyle; + } + onClick(options22) { + const { e: e2, node: node22, canvas: canvas2 } = options22; + const x2 = e2.canvasX - node22.pos[0]; + const width2 = this.width || node22.size[0]; + const delta2 = x2 < 40 ? -1 : x2 > width2 - 40 ? 1 : 0; + let values = this.options.values; + if (typeof values === "function") { + values = values(this, node22); + } + const values_list = Array.isArray(values) ? values : Object.keys(values); + if (delta2) { + let index2 = -1; + canvas2.last_mouseclick = 0; + index2 = typeof values === "object" ? values_list.indexOf(String(this.value)) + delta2 : values_list.indexOf(this.value) + delta2; + if (index2 >= values_list.length) index2 = values_list.length - 1; + if (index2 < 0) index2 = 0; + this.setValue( + Array.isArray(values) ? values[index2] : index2, + { + e: e2, + node: node22, + canvas: canvas2 + } + ); + return; + } + const text_values = values != values_list ? Object.values(values) : values; + new LiteGraph.ContextMenu(text_values, { + scale: Math.max(1, canvas2.ds.scale), + event: e2, + className: "dark", + callback: /* @__PURE__ */ __name((value4) => { + this.setValue( + values != values_list ? text_values.indexOf(value4) : value4, + { + e: e2, + node: node22, + canvas: canvas2 + } + ); + }, "callback") + }); + } +} +class NumberWidget extends BaseWidget { + static { + __name(this, "NumberWidget"); + } + constructor(widget) { + super(widget); + this.type = "number"; + this.value = widget.value; + } + /** + * Draws the widget + * @param ctx - The canvas context + * @param options - The options for drawing the widget + */ + drawWidget(ctx, options22) { + const originalTextAlign = ctx.textAlign; + const originalStrokeStyle = ctx.strokeStyle; + const originalFillStyle = ctx.fillStyle; + const { y: y2, width: width2, show_text = true, margin = 15 } = options22; + const widget_width = width2; + const H = this.height; + ctx.textAlign = "left"; + ctx.strokeStyle = this.outline_color; + ctx.fillStyle = this.background_color; + ctx.beginPath(); + if (show_text) + ctx.roundRect(margin, y2, widget_width - margin * 2, H, [H * 0.5]); + else + ctx.rect(margin, y2, widget_width - margin * 2, H); + ctx.fill(); + if (show_text) { + if (!this.disabled) { + ctx.stroke(); + ctx.fillStyle = this.text_color; + ctx.beginPath(); + ctx.moveTo(margin + 16, y2 + 5); + ctx.lineTo(margin + 6, y2 + H * 0.5); + ctx.lineTo(margin + 16, y2 + H - 5); + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(widget_width - margin - 16, y2 + 5); + ctx.lineTo(widget_width - margin - 6, y2 + H * 0.5); + ctx.lineTo(widget_width - margin - 16, y2 + H - 5); + ctx.fill(); + } + ctx.fillStyle = this.secondary_text_color; + const label5 = this.label || this.name; + if (label5 != null) { + ctx.fillText(label5, margin * 2 + 5, y2 + H * 0.7); + } + ctx.fillStyle = this.text_color; + ctx.textAlign = "right"; + ctx.fillText( + Number(this.value).toFixed( + this.options.precision !== void 0 ? this.options.precision : 3 + ), + widget_width - margin * 2 - 20, + y2 + H * 0.7 + ); + } + ctx.textAlign = originalTextAlign; + ctx.strokeStyle = originalStrokeStyle; + ctx.fillStyle = originalFillStyle; + } + onClick(options) { + const { e, node, canvas } = options; + const x = e.canvasX - node.pos[0]; + const width = this.width || node.size[0]; + const delta = x < 40 ? -1 : x > width - 40 ? 1 : 0; + if (delta) { + let newValue2 = this.value + delta * 0.1 * (this.options.step || 1); + if (this.options.min != null && newValue2 < this.options.min) { + newValue2 = this.options.min; + } + if (this.options.max != null && newValue2 > this.options.max) { + newValue2 = this.options.max; + } + if (newValue2 !== this.value) { + this.setValue(newValue2, { e, node, canvas }); + } + return; + } + canvas.prompt("Value", this.value, (v) => { + if (/^[0-9+\-*/()\s]+|\d+\.\d+$/.test(v)) { + try { + v = eval(v); + } catch { + } + } + const newValue = Number(v); + if (!isNaN(newValue)) { + this.setValue(newValue, { e, node, canvas }); + } + }, e); + } + /** + * Handles drag events for the number widget + * @param options - The options for handling the drag event + */ + onDrag(options22) { + const { e: e2, node: node22, canvas: canvas2 } = options22; + const width2 = this.width || node22.width; + const x2 = e2.canvasX - node22.pos[0]; + const delta2 = x2 < 40 ? -1 : x2 > width2 - 40 ? 1 : 0; + if (delta2 && (x2 > -3 && x2 < width2 + 3)) return; + let newValue2 = this.value; + if (e2.deltaX) newValue2 += e2.deltaX * 0.1 * (this.options.step || 1); + if (this.options.min != null && newValue2 < this.options.min) { + newValue2 = this.options.min; + } + if (this.options.max != null && newValue2 > this.options.max) { + newValue2 = this.options.max; + } + if (newValue2 !== this.value) { + this.setValue(newValue2, { e: e2, node: node22, canvas: canvas2 }); + } + } +} +class SliderWidget extends BaseWidget { + static { + __name(this, "SliderWidget"); + } + constructor(widget) { + super(widget); + this.type = "slider"; + this.value = widget.value; + this.options = widget.options; + } + /** + * Draws the widget + * @param ctx - The canvas context + * @param options - The options for drawing the widget + */ + drawWidget(ctx, options22) { + const originalTextAlign = ctx.textAlign; + const originalStrokeStyle = ctx.strokeStyle; + const originalFillStyle = ctx.fillStyle; + const { y: y2, width: widget_width, show_text = true, margin = 15 } = options22; + const H = this.height; + ctx.fillStyle = this.background_color; + ctx.fillRect(margin, y2, widget_width - margin * 2, H); + const range2 = this.options.max - this.options.min; + let nvalue = (this.value - this.options.min) / range2; + nvalue = clamp$1(nvalue, 0, 1); + ctx.fillStyle = this.options.slider_color ?? "#678"; + ctx.fillRect(margin, y2, nvalue * (widget_width - margin * 2), H); + if (show_text && !this.disabled) { + ctx.strokeStyle = this.outline_color; + ctx.strokeRect(margin, y2, widget_width - margin * 2, H); + } + if (this.marker != null) { + let marker_nvalue = (this.marker - this.options.min) / range2; + marker_nvalue = clamp$1(marker_nvalue, 0, 1); + ctx.fillStyle = this.options.marker_color ?? "#AA9"; + ctx.fillRect( + margin + marker_nvalue * (widget_width - margin * 2), + y2, + 2, + H + ); + } + if (show_text) { + ctx.textAlign = "center"; + ctx.fillStyle = this.text_color; + ctx.fillText( + (this.label || this.name) + " " + Number(this.value).toFixed( + this.options.precision != null ? this.options.precision : 3 + ), + widget_width * 0.5, + y2 + H * 0.7 + ); + } + ctx.textAlign = originalTextAlign; + ctx.strokeStyle = originalStrokeStyle; + ctx.fillStyle = originalFillStyle; + } + /** + * Handles click events for the slider widget + */ + onClick(options22) { + if (this.options.read_only) return; + const { e: e2, node: node22 } = options22; + const width2 = this.width || node22.size[0]; + const x2 = e2.canvasX - node22.pos[0]; + const slideFactor = clamp$1((x2 - 15) / (width2 - 30), 0, 1); + const newValue2 = this.options.min + (this.options.max - this.options.min) * slideFactor; + if (newValue2 !== this.value) { + this.setValue(newValue2, options22); + } + } + /** + * Handles drag events for the slider widget + */ + onDrag(options22) { + if (this.options.read_only) return false; + const { e: e2, node: node22 } = options22; + const width2 = this.width || node22.size[0]; + const x2 = e2.canvasX - node22.pos[0]; + const slideFactor = clamp$1((x2 - 15) / (width2 - 30), 0, 1); + const newValue2 = this.options.min + (this.options.max - this.options.min) * slideFactor; + if (newValue2 !== this.value) { + this.setValue(newValue2, options22); + } + } +} +class TextWidget extends BaseWidget { + static { + __name(this, "TextWidget"); + } + constructor(widget) { + super(widget); + this.type = widget.type; + this.value = widget.value?.toString() ?? ""; + } + /** + * Draws the widget + * @param ctx - The canvas context + * @param options - The options for drawing the widget + */ + drawWidget(ctx, options22) { + const originalTextAlign = ctx.textAlign; + const originalStrokeStyle = ctx.strokeStyle; + const originalFillStyle = ctx.fillStyle; + const { y: y2, width: width2, show_text = true, margin = 15 } = options22; + const widget_width = width2; + const H = this.height; + ctx.textAlign = "left"; + ctx.strokeStyle = this.outline_color; + ctx.fillStyle = this.background_color; + ctx.beginPath(); + if (show_text) + ctx.roundRect(margin, y2, widget_width - margin * 2, H, [H * 0.5]); + else + ctx.rect(margin, y2, widget_width - margin * 2, H); + ctx.fill(); + if (show_text) { + if (!this.disabled) ctx.stroke(); + ctx.save(); + ctx.beginPath(); + ctx.rect(margin, y2, widget_width - margin * 2, H); + ctx.clip(); + ctx.fillStyle = this.secondary_text_color; + const label5 = this.label || this.name; + if (label5 != null) { + ctx.fillText(label5, margin * 2, y2 + H * 0.7); + } + ctx.fillStyle = this.text_color; + ctx.textAlign = "right"; + ctx.fillText( + String(this.value).substr(0, 30), + // 30 chars max + widget_width - margin * 2, + y2 + H * 0.7 + ); + ctx.restore(); + } + ctx.textAlign = originalTextAlign; + ctx.strokeStyle = originalStrokeStyle; + ctx.fillStyle = originalFillStyle; + } + onClick(options22) { + const { e: e2, node: node22, canvas: canvas2 } = options22; + canvas2.prompt( + "Value", + this.value, + (v2) => { + if (v2 !== null) { + this.setValue(v2, { e: e2, node: node22, canvas: canvas2 }); + } + }, + e2, + this.options?.multiline ?? false + ); + } +} +const WIDGET_TYPE_MAP = { + button: ButtonWidget, + toggle: BooleanWidget, + slider: SliderWidget, + combo: ComboWidget, + number: NumberWidget, + string: TextWidget, + text: TextWidget +}; +function toClass(cls, obj) { + return obj instanceof cls ? obj : new cls(obj); +} +__name(toClass, "toClass"); class LGraphNode { static { __name(this, "LGraphNode"); @@ -56187,12 +57081,18 @@ class LGraphNode { static MAX_CONSOLE; static type; static category; - static supported_extensions; static filter; static skip_list; /** Default setting for {@link LGraphNode.connectInputToOutput}. @see {@link INodeFlags.keepAllLinksOnBypass} */ static keepAllLinksOnBypass = false; + /** The title text of the node. */ title; + /** + * The font style used to render the node's title text. + */ + get titleFontStyle() { + return `${LiteGraph.NODE_TEXT_SIZE}px Arial`; + } graph = null; id; type = null; @@ -56210,9 +57110,37 @@ class LGraphNode { mode; last_serialization; serialize_widgets; + /** + * The overridden fg color used to render the node. + * @see {@link renderingColor} + */ color; + /** + * The overridden bg color used to render the node. + * @see {@link renderingBgColor} + */ bgcolor; + /** + * The overridden box color used to render the node. + * @see {@link renderingBoxColor} + */ boxcolor; + /** The fg color used to render the node. */ + get renderingColor() { + return this.color || this.constructor.color || LiteGraph.NODE_DEFAULT_COLOR; + } + /** The bg color used to render the node. */ + get renderingBgColor() { + return this.bgcolor || this.constructor.bgcolor || LiteGraph.NODE_DEFAULT_BGCOLOR; + } + /** The box color used to render the node. */ + get renderingBoxColor() { + let colState = LiteGraph.node_box_coloured_by_mode && LiteGraph.NODE_MODES_COLORS[this.mode] ? LiteGraph.NODE_MODES_COLORS[this.mode] : void 0; + if (LiteGraph.node_box_coloured_when_on) { + colState = this.action_triggered ? "#FFF" : this.execute_triggered ? "#AAA" : colState; + } + return this.boxcolor || colState || LiteGraph.NODE_DEFAULT_BOXCOLOR; + } exec_version; action_call; execute_triggered; @@ -56223,13 +57151,14 @@ class LGraphNode { gotFocusAt; badges = []; badgePosition = BadgePosition.TopLeft; + /** + * The width of the node when collapsed. + * Updated by {@link LGraphCanvas.drawNode} + */ _collapsed_width; - horizontal; console; _level; _shape; - subgraph; - skip_subgraph_button; mouseOver; redraw_on_mouse; // Appears unused @@ -56285,6 +57214,12 @@ class LGraphNode { this._size[0] = value4[0]; this._size[1] = value4[1]; } + /** + * The size of the node used for rendering. + */ + get renderingSize() { + return this.flags.collapsed ? [this._collapsed_width, 0] : this._size; + } get shape() { return this._shape; } @@ -56309,12 +57244,21 @@ class LGraphNode { this._shape = v2; } } + /** + * The shape of the node used for rendering. @see {@link RenderShape} + */ + get renderingShape() { + return this._shape || this.constructor.shape || LiteGraph.NODE_DEFAULT_SHAPE; + } get is_selected() { return this.selected; } set is_selected(value4) { this.selected = value4; } + get title_mode() { + return this.constructor.title_mode ?? TitleMode.NORMAL_TITLE; + } constructor(title) { this.id = LiteGraph.use_uuids ? LiteGraph.uuidv4() : -1; this.title = title || "Unnamed"; @@ -56351,30 +57295,27 @@ class LGraphNode { if (!info.title) { this.title = this.constructor.title; } - if (this.inputs) { - for (let i2 = 0; i2 < this.inputs.length; ++i2) { - const input = this.inputs[i2]; - const link2 = this.graph ? this.graph._links.get(input.link) : null; - this.onConnectionsChange?.(NodeSlotType.INPUT, i2, true, link2, input); - this.onInputAdded?.(input); - } + this.inputs ??= []; + this.inputs = this.inputs.map((input) => toClass(NodeInputSlot, input)); + for (const [i2, input] of this.inputs.entries()) { + const link2 = this.graph ? this.graph._links.get(input.link) : null; + this.onConnectionsChange?.(NodeSlotType.INPUT, i2, true, link2, input); + this.onInputAdded?.(input); } - if (this.outputs) { - for (let i2 = 0; i2 < this.outputs.length; ++i2) { - const output = this.outputs[i2]; - if (!output.links) { - continue; - } - for (let j2 = 0; j2 < output.links.length; ++j2) { - const link2 = this.graph ? this.graph._links.get(output.links[j2]) : null; - this.onConnectionsChange?.(NodeSlotType.OUTPUT, i2, true, link2, output); - } - this.onOutputAdded?.(output); + this.outputs ??= []; + this.outputs = this.outputs.map((output) => toClass(NodeOutputSlot, output)); + for (const [i2, output] of this.outputs.entries()) { + if (!output.links) { + continue; } + for (const linkId of output.links) { + const link2 = this.graph ? this.graph._links.get(linkId) : null; + this.onConnectionsChange?.(NodeSlotType.OUTPUT, i2, true, link2, output); + } + this.onOutputAdded?.(output); } if (this.widgets) { - for (let i2 = 0; i2 < this.widgets.length; ++i2) { - const w2 = this.widgets[i2]; + for (const w2 of this.widgets) { if (!w2) continue; if (w2.options?.property && this.properties[w2.options.property] != void 0) w2.value = JSON.parse(JSON.stringify(this.properties[w2.options.property])); @@ -56709,10 +57650,10 @@ class LGraphNode { } return trigS; } - onAfterExecuteNode(param, options4) { + onAfterExecuteNode(param, options22) { const trigS = this.findOutputSlot("onExecuted"); if (trigS != -1) { - this.triggerSlot(trigS, param, null, options4); + this.triggerSlot(trigS, param, null, options22); } } changeMode(modeTo) { @@ -56738,46 +57679,46 @@ class LGraphNode { /** * Triggers the node code execution, place a boolean/counter to mark the node as being executed */ - doExecute(param, options4) { - options4 = options4 || {}; + doExecute(param, options22) { + options22 = options22 || {}; if (this.onExecute) { - options4.action_call ||= this.id + "_exec_" + Math.floor(Math.random() * 9999); + options22.action_call ||= this.id + "_exec_" + Math.floor(Math.random() * 9999); this.graph.nodes_executing[this.id] = true; - this.onExecute(param, options4); + this.onExecute(param, options22); this.graph.nodes_executing[this.id] = false; this.exec_version = this.graph.iteration; - if (options4?.action_call) { - this.action_call = options4.action_call; - this.graph.nodes_executedAction[this.id] = options4.action_call; + if (options22?.action_call) { + this.action_call = options22.action_call; + this.graph.nodes_executedAction[this.id] = options22.action_call; } } this.execute_triggered = 2; - this.onAfterExecuteNode?.(param, options4); + this.onAfterExecuteNode?.(param, options22); } /** * Triggers an action, wrapped by logics to control execution flow * @param action name */ - actionDo(action, param, options4) { - options4 = options4 || {}; + actionDo(action, param, options22) { + options22 = options22 || {}; if (this.onAction) { - options4.action_call ||= this.id + "_" + (action ? action : "action") + "_" + Math.floor(Math.random() * 9999); + options22.action_call ||= this.id + "_" + (action ? action : "action") + "_" + Math.floor(Math.random() * 9999); this.graph.nodes_actioning[this.id] = action ? action : "actioning"; - this.onAction(action, param, options4); + this.onAction(action, param, options22); this.graph.nodes_actioning[this.id] = false; - if (options4?.action_call) { - this.action_call = options4.action_call; - this.graph.nodes_executedAction[this.id] = options4.action_call; + if (options22?.action_call) { + this.action_call = options22.action_call; + this.graph.nodes_executedAction[this.id] = options22.action_call; } } this.action_triggered = 2; - this.onAfterExecuteNode?.(param, options4); + this.onAfterExecuteNode?.(param, options22); } /** * Triggers an event in this node, this will trigger any output with the same name * @param action name ( "on_play", ... ) if action is equivalent to false then the event is send to all */ - trigger(action, param, options4) { + trigger(action, param, options22) { if (!this.outputs || !this.outputs.length) { return; } @@ -56786,7 +57727,7 @@ class LGraphNode { const output = this.outputs[i2]; if (!output || output.type !== LiteGraph.EVENT || action && output.name != action) continue; - this.triggerSlot(i2, param, null, options4); + this.triggerSlot(i2, param, null, options22); } } /** @@ -56794,8 +57735,8 @@ class LGraphNode { * @param slot the index of the output slot * @param link_id [optional] in case you want to trigger and specific output link in a slot */ - triggerSlot(slot, param, link_id, options4) { - options4 = options4 || {}; + triggerSlot(slot, param, link_id, options22) { + options22 = options22 || {}; if (!this.outputs) return; if (slot == null) { console.error("slot must be a number"); @@ -56817,14 +57758,14 @@ class LGraphNode { const node22 = this.graph.getNodeById(link_info.target_id); if (!node22) continue; if (node22.mode === LGraphEventMode.ON_TRIGGER) { - if (!options4.action_call) - options4.action_call = this.id + "_trigg_" + Math.floor(Math.random() * 9999); - node22.doExecute?.(param, options4); + if (!options22.action_call) + options22.action_call = this.id + "_trigg_" + Math.floor(Math.random() * 9999); + node22.doExecute?.(param, options22); } else if (node22.onAction) { - if (!options4.action_call) - options4.action_call = this.id + "_act_" + Math.floor(Math.random() * 9999); + if (!options22.action_call) + options22.action_call = this.id + "_act_" + Math.floor(Math.random() * 9999); const target_connection = node22.inputs[link_info.target_slot]; - node22.actionDo(target_connection.name, param, options4); + node22.actionDo(target_connection.name, param, options22); } } } @@ -56882,7 +57823,7 @@ class LGraphNode { * @param extra_info this can be used to have special properties of an output (label, special color, position, etc) */ addOutput(name2, type, extra_info) { - const output = { name: name2, type, links: null }; + const output = new NodeOutputSlot({ name: name2, type, links: null }); if (extra_info) { for (const i2 in extra_info) { output[i2] = extra_info[i2]; @@ -56904,7 +57845,7 @@ class LGraphNode { addOutputs(array) { for (let i2 = 0; i2 < array.length; ++i2) { const info = array[i2]; - const o2 = { name: info[0], type: info[1], links: null }; + const o2 = new NodeOutputSlot({ name: info[0], type: info[1], links: null }); if (array[2]) { for (const j2 in info[2]) { o2[j2] = info[2][j2]; @@ -56945,7 +57886,7 @@ class LGraphNode { */ addInput(name2, type, extra_info) { type = type || 0; - const input = { name: name2, type, link: null }; + const input = new NodeInputSlot({ name: name2, type, link: null }); if (extra_info) { for (const i2 in extra_info) { input[i2] = extra_info[i2]; @@ -56966,7 +57907,7 @@ class LGraphNode { addInputs(array) { for (let i2 = 0; i2 < array.length; ++i2) { const info = array[i2]; - const o2 = { name: info[0], type: info[1], link: null }; + const o2 = new NodeInputSlot({ name: info[0], type: info[1], link: null }); if (array[2]) { for (const j2 in info[2]) { o2[j2] = info[2][j2]; @@ -57002,11 +57943,11 @@ class LGraphNode { * @param pos position of the connection inside the node * @param direction if is input or output */ - addConnection(name2, type, pos2, direction) { + addConnection(name2, type, pos, direction) { const o2 = { name: name2, type, - pos: pos2, + pos, direction, links: null }; @@ -57056,9 +57997,9 @@ class LGraphNode { let widgets_height = 0; if (this.widgets?.length) { for (let i2 = 0, l2 = this.widgets.length; i2 < l2; ++i2) { - const widget2 = this.widgets[i2]; - if (widget2.hidden || widget2.advanced && !this.showAdvanced) continue; - widgets_height += widget2.computeSize ? widget2.computeSize(size[0])[1] + 4 : LiteGraph.NODE_WIDGET_HEIGHT + 4; + const widget = this.widgets[i2]; + if (widget.hidden || widget.advanced && !this.showAdvanced) continue; + widgets_height += widget.computeSize ? widget.computeSize(size[0])[1] + 4 : LiteGraph.NODE_WIDGET_HEIGHT + 4; } widgets_height += 8; } @@ -57126,17 +58067,17 @@ class LGraphNode { * @param options the object that contains special properties of this widget * @returns the created widget object */ - addWidget(type, name2, value4, callback, options4) { + addWidget(type, name2, value4, callback, options22) { this.widgets ||= []; - if (!options4 && callback && typeof callback === "object") { - options4 = callback; + if (!options22 && callback && typeof callback === "object") { + options22 = callback; callback = null; } - if (options4 && typeof options4 === "string") - options4 = { property: options4 }; + if (options22 && typeof options22 === "string") + options22 = { property: options22 }; if (callback && typeof callback === "string") { - options4 ||= {}; - options4.property = callback; + options22 ||= {}; + options22.property = callback; callback = null; } if (callback && typeof callback !== "function") { @@ -57149,7 +58090,7 @@ class LGraphNode { name: name2, value: value4, callback, - options: options4 || {} + options: options22 || {} }; if (w2.options.y !== void 0) { w2.y = w2.options.y; @@ -57160,14 +58101,16 @@ class LGraphNode { if (type == "combo" && !w2.options.values) { throw "LiteGraph addWidget('combo',...) requires to pass values in options: { values:['red','blue'] }"; } - this.widgets.push(w2); + const widget = this.addCustomWidget(w2); this.setSize(this.computeSize()); - return w2; + return widget; } addCustomWidget(custom_widget) { this.widgets ||= []; - this.widgets.push(custom_widget); - return custom_widget; + const WidgetClass = WIDGET_TYPE_MAP[custom_widget.type]; + const widget = WidgetClass ? new WidgetClass(custom_widget) : custom_widget; + this.widgets.push(widget); + return widget; } move(deltaX, deltaY) { if (this.pinned) return; @@ -57183,7 +58126,7 @@ class LGraphNode { * @param pad Expands the area by this amount on each side. Default: 0 */ measure(out, pad = 0) { - const titleMode = this.constructor.title_mode; + const titleMode = this.title_mode; const renderTitle = titleMode != TitleMode.TRANSPARENT_TITLE && titleMode != TitleMode.NO_TITLE; const titleHeight = renderTitle ? LiteGraph.NODE_TITLE_HEIGHT : 0; out[0] = this.pos[0] - pad; @@ -57285,18 +58228,18 @@ class LGraphNode { * @returns The widget found, otherwise `null` */ getWidgetOnPos(canvasX, canvasY, includeDisabled = false) { - const { widgets, pos: pos2, size } = this; + const { widgets, pos, size } = this; if (!widgets?.length) return null; - const x2 = canvasX - pos2[0]; - const y2 = canvasY - pos2[1]; + const x2 = canvasX - pos[0]; + const y2 = canvasY - pos[1]; const nodeWidth = size[0]; - for (const widget2 of widgets) { - if (!widget2 || widget2.disabled && !includeDisabled || widget2.hidden || widget2.advanced && !this.showAdvanced) + for (const widget of widgets) { + if (!widget || widget.disabled && !includeDisabled || widget.hidden || widget.advanced && !this.showAdvanced) continue; - const h2 = widget2.computeSize ? widget2.computeSize(nodeWidth)[1] : LiteGraph.NODE_WIDGET_HEIGHT; - const w2 = widget2.width || nodeWidth; - if (widget2.last_y !== void 0 && isInRectangle(x2, y2, 6, widget2.last_y, w2 - 12, h2)) - return widget2; + const h2 = widget.computeSize ? widget.computeSize(nodeWidth)[1] : LiteGraph.NODE_WIDGET_HEIGHT; + const w2 = widget.width || nodeWidth; + if (widget.last_y !== void 0 && isInRectangle(x2, y2, 6, widget.last_y, w2 - 12, h2)) + return widget; } return null; } @@ -57328,12 +58271,12 @@ class LGraphNode { * Finds the next free slot * @param slots The slots to search, i.e. this.inputs or this.outputs */ - #findFreeSlot(slots, options4) { + #findFreeSlot(slots, options22) { const defaults2 = { returnObj: false, typesNotAccepted: [] }; - const opts = Object.assign(defaults2, options4 || {}); + const opts = Object.assign(defaults2, options22 || {}); const length = slots?.length; if (!(length > 0)) return -1; for (let i2 = 0; i2 < length; ++i2) { @@ -57423,18 +58366,18 @@ class LGraphNode { * @see {connectByType} * @see {connectByTypeOutput} */ - findConnectByTypeSlot(findInputs, node22, slotType, options4) { - if (options4 && typeof options4 === "object") { - if ("firstFreeIfInputGeneralInCase" in options4) options4.wildcardToTyped = !!options4.firstFreeIfInputGeneralInCase; - if ("firstFreeIfOutputGeneralInCase" in options4) options4.wildcardToTyped = !!options4.firstFreeIfOutputGeneralInCase; - if ("generalTypeInCase" in options4) options4.typedToWildcard = !!options4.generalTypeInCase; + findConnectByTypeSlot(findInputs, node22, slotType, options22) { + if (options22 && typeof options22 === "object") { + if ("firstFreeIfInputGeneralInCase" in options22) options22.wildcardToTyped = !!options22.firstFreeIfInputGeneralInCase; + if ("firstFreeIfOutputGeneralInCase" in options22) options22.wildcardToTyped = !!options22.firstFreeIfOutputGeneralInCase; + if ("generalTypeInCase" in options22) options22.typedToWildcard = !!options22.generalTypeInCase; } const optsDef = { createEventInCase: true, wildcardToTyped: true, typedToWildcard: true }; - const opts = Object.assign(optsDef, options4); + const opts = Object.assign(optsDef, options22); if (node22 && typeof node22 === "number") { node22 = this.graph.getNodeById(node22); } @@ -57789,13 +58732,8 @@ class LGraphNode { const offset = LiteGraph.NODE_SLOT_HEIGHT * 0.5; if (this.flags.collapsed) { const w2 = this._collapsed_width || LiteGraph.NODE_COLLAPSED_WIDTH; - if (this.horizontal) { - out[0] = this.pos[0] + w2 * 0.5; - out[1] = is_input ? this.pos[1] - LiteGraph.NODE_TITLE_HEIGHT : this.pos[1]; - } else { - out[0] = is_input ? this.pos[0] : this.pos[0] + w2; - out[1] = this.pos[1] - LiteGraph.NODE_TITLE_HEIGHT * 0.5; - } + out[0] = is_input ? this.pos[0] : this.pos[0] + w2; + out[1] = this.pos[1] - LiteGraph.NODE_TITLE_HEIGHT * 0.5; return out; } if (is_input && slot_number == -1) { @@ -57812,11 +58750,6 @@ class LGraphNode { out[1] = this.pos[1] + this.outputs[slot_number].pos[1]; return out; } - if (this.horizontal) { - out[0] = this.pos[0] + (slot_number + 0.5) * (this.size[0] / num_slots); - out[1] = is_input ? this.pos[1] - LiteGraph.NODE_TITLE_HEIGHT : this.pos[1] + this.size[1]; - return out; - } out[0] = is_input ? this.pos[0] + offset : this.pos[0] + this.size[0] + 1 - offset; out[1] = this.pos[1] + (slot_number + 0.7) * LiteGraph.NODE_SLOT_HEIGHT + (this.constructor.slot_start_y || 0); return out; @@ -57920,8 +58853,12 @@ class LGraphNode { get width() { return this.collapsed ? this._collapsed_width || LiteGraph.NODE_COLLAPSED_WIDTH : this.size[0]; } + /** + * Returns the height of the node, including the title bar. + */ get height() { - return this.collapsed ? LiteGraph.NODE_COLLAPSED_HEIGHT : this.size[1]; + const bodyHeight = this.collapsed ? 0 : this.size[1]; + return LiteGraph.NODE_TITLE_HEIGHT + bodyHeight; } drawBadges(ctx, { gap = 2 } = {}) { const badgeInstances = this.badges.map((badge) => badge instanceof LGraphBadge ? badge : badge()); @@ -57933,6 +58870,168 @@ class LGraphNode { currentX += badge.getWidth(ctx) + gap; } } + /** + * Renders the node's title bar background + */ + drawTitleBarBackground(ctx, options22) { + const { + scale, + title_height = LiteGraph.NODE_TITLE_HEIGHT, + low_quality = false + } = options22; + const fgcolor = this.renderingColor; + const shape = this.renderingShape; + const size = this.renderingSize; + if (this.onDrawTitleBar) { + this.onDrawTitleBar(ctx, title_height, size, scale, fgcolor); + return; + } + if (this.title_mode === TitleMode.TRANSPARENT_TITLE) { + return; + } + if (this.collapsed) { + ctx.shadowColor = LiteGraph.DEFAULT_SHADOW_COLOR; + } + ctx.fillStyle = this.constructor.title_color || fgcolor; + ctx.beginPath(); + if (shape == RenderShape.BOX || low_quality) { + ctx.rect(0, -title_height, size[0], title_height); + } else if (shape == RenderShape.ROUND || shape == RenderShape.CARD) { + ctx.roundRect( + 0, + -title_height, + size[0], + title_height, + this.collapsed ? [LiteGraph.ROUND_RADIUS] : [LiteGraph.ROUND_RADIUS, LiteGraph.ROUND_RADIUS, 0, 0] + ); + } + ctx.fill(); + ctx.shadowColor = "transparent"; + } + /** + * Renders the node's title box, i.e. the dot in front of the title text that + * when clicked toggles the node's collapsed state. The term `title box` comes + * from the original LiteGraph implementation. + */ + drawTitleBox(ctx, options22) { + const { + scale, + low_quality = false, + title_height = LiteGraph.NODE_TITLE_HEIGHT, + box_size = 10 + } = options22; + const size = this.renderingSize; + const shape = this.renderingShape; + if (this.onDrawTitleBox) { + this.onDrawTitleBox(ctx, title_height, size, scale); + return; + } + if ([RenderShape.ROUND, RenderShape.CIRCLE, RenderShape.CARD].includes(shape)) { + if (low_quality) { + ctx.fillStyle = "black"; + ctx.beginPath(); + ctx.arc( + title_height * 0.5, + title_height * -0.5, + box_size * 0.5 + 1, + 0, + Math.PI * 2 + ); + ctx.fill(); + } + ctx.fillStyle = this.renderingBoxColor; + if (low_quality) + ctx.fillRect( + title_height * 0.5 - box_size * 0.5, + title_height * -0.5 - box_size * 0.5, + box_size, + box_size + ); + else { + ctx.beginPath(); + ctx.arc( + title_height * 0.5, + title_height * -0.5, + box_size * 0.5, + 0, + Math.PI * 2 + ); + ctx.fill(); + } + } else { + if (low_quality) { + ctx.fillStyle = "black"; + ctx.fillRect( + (title_height - box_size) * 0.5 - 1, + (title_height + box_size) * -0.5 - 1, + box_size + 2, + box_size + 2 + ); + } + ctx.fillStyle = this.renderingBoxColor; + ctx.fillRect( + (title_height - box_size) * 0.5, + (title_height + box_size) * -0.5, + box_size, + box_size + ); + } + } + /** + * Renders the node's title text. + */ + drawTitleText(ctx, options22) { + const { + scale, + default_title_color, + low_quality = false, + title_height = LiteGraph.NODE_TITLE_HEIGHT + } = options22; + const size = this.renderingSize; + const selected2 = this.selected; + if (this.onDrawTitleText) { + this.onDrawTitleText( + ctx, + title_height, + size, + scale, + this.titleFontStyle, + selected2 + ); + return; + } + if (low_quality) { + return; + } + ctx.font = this.titleFontStyle; + const rawTitle = this.getTitle() ?? `❌ ${this.type}`; + const title = String(rawTitle) + (this.pinned ? "📌" : ""); + if (title) { + if (selected2) { + ctx.fillStyle = LiteGraph.NODE_SELECTED_TITLE_COLOR; + } else { + ctx.fillStyle = this.constructor.title_text_color || default_title_color; + } + if (this.collapsed) { + ctx.textAlign = "left"; + ctx.fillText( + title.substr(0, 20), + // avoid urls too long + title_height, + // + measure.width * 0.5, + LiteGraph.NODE_TITLE_TEXT_Y - title_height + ); + ctx.textAlign = "left"; + } else { + ctx.textAlign = "left"; + ctx.fillText( + title, + title_height, + LiteGraph.NODE_TITLE_TEXT_Y - title_height + ); + } + } + } /** * Attempts to gracefully bypass this node in all of its connections by reconnecting all links. * @@ -57991,6 +59090,147 @@ class LGraphNode { } __name(bypassAllLinks, "bypassAllLinks"); } + drawWidgets(ctx, options22) { + if (!this.widgets) return; + const { y: y2, colorContext, linkOverWidget, linkOverWidgetType, lowQuality = false, editorAlpha = 1 } = options22; + let posY = y2; + if (this.widgets_up) { + posY = 2; + } + if (this.widgets_start_y != null) posY = this.widgets_start_y; + const width2 = this.size[0]; + const widgets = this.widgets; + posY += 2; + const H = LiteGraph.NODE_WIDGET_HEIGHT; + const show_text = !lowQuality; + ctx.save(); + ctx.globalAlpha = editorAlpha; + const margin = 15; + for (const w2 of widgets) { + if (w2.hidden || w2.advanced && !this.showAdvanced) continue; + const y22 = w2.y || posY; + const outline_color = w2.advanced ? LiteGraph.WIDGET_ADVANCED_OUTLINE_COLOR : LiteGraph.WIDGET_OUTLINE_COLOR; + if (w2 === linkOverWidget) { + new NodeInputSlot({ + name: "", + type: linkOverWidgetType, + link: 0 + }).draw(ctx, { pos: [10, y22 + 10], colorContext }); + } + w2.last_y = y22; + ctx.strokeStyle = outline_color; + ctx.fillStyle = "#222"; + ctx.textAlign = "left"; + if (w2.disabled) ctx.globalAlpha *= 0.5; + const widget_width = w2.width || width2; + const WidgetClass = WIDGET_TYPE_MAP[w2.type]; + if (WidgetClass) { + toClass(WidgetClass, w2).drawWidget(ctx, { y: y22, width: widget_width, show_text, margin }); + } else { + w2.draw?.(ctx, this, widget_width, y22, H); + } + posY += (w2.computeSize ? w2.computeSize(widget_width)[1] : H) + 4; + ctx.globalAlpha = editorAlpha; + } + ctx.restore(); + } + /** + * When {@link LGraphNode.collapsed} is `true`, this method draws the node's collapsed slots. + */ + drawCollapsedSlots(ctx) { + let input_slot = null; + let output_slot = null; + for (const slot of this.inputs ?? []) { + if (slot.link == null) { + continue; + } + input_slot = slot; + break; + } + for (const slot of this.outputs ?? []) { + if (!slot.links || !slot.links.length) { + continue; + } + output_slot = slot; + break; + } + if (input_slot) { + const x2 = 0; + const y2 = LiteGraph.NODE_TITLE_HEIGHT * -0.5; + toClass(NodeInputSlot, input_slot).drawCollapsed(ctx, { + pos: [x2, y2] + }); + } + if (output_slot) { + const x2 = this._collapsed_width; + const y2 = LiteGraph.NODE_TITLE_HEIGHT * -0.5; + toClass(NodeOutputSlot, output_slot).drawCollapsed(ctx, { + pos: [x2, y2] + }); + } + } + get highlightColor() { + return LiteGraph.NODE_TEXT_HIGHLIGHT_COLOR ?? LiteGraph.NODE_SELECTED_TITLE_COLOR ?? LiteGraph.NODE_TEXT_COLOR; + } + /** + * Draws the node's input and output slots. + * @returns The maximum y-coordinate of the slots. + * TODO: Calculate the bounding box of the slots and return it instead of the maximum y-coordinate. + */ + drawSlots(ctx, options22) { + const { colorContext, connectingLink, editorAlpha, lowQuality } = options22; + let max_y = 0; + const slot_pos = new Float32Array(2); + for (const [i2, input] of (this.inputs ?? []).entries()) { + const slot = toClass(NodeInputSlot, input); + const isValid2 = slot.isValidTarget(connectingLink); + const highlight = isValid2 && this.mouseOver?.inputId === i2; + const label_color = highlight ? this.highlightColor : LiteGraph.NODE_TEXT_COLOR; + ctx.globalAlpha = isValid2 ? editorAlpha : 0.4 * editorAlpha; + const pos = this.getConnectionPos( + true, + i2, + /* out= */ + slot_pos + ); + pos[0] -= this.pos[0]; + pos[1] -= this.pos[1]; + max_y = Math.max(max_y, pos[1] + LiteGraph.NODE_SLOT_HEIGHT * 0.5); + slot.draw(ctx, { + pos, + colorContext, + labelColor: label_color, + lowQuality, + renderText: !lowQuality, + highlight + }); + } + for (const [i2, output] of (this.outputs ?? []).entries()) { + const slot = toClass(NodeOutputSlot, output); + const isValid2 = slot.isValidTarget(connectingLink); + const highlight = isValid2 && this.mouseOver?.outputId === i2; + const label_color = highlight ? this.highlightColor : LiteGraph.NODE_TEXT_COLOR; + ctx.globalAlpha = isValid2 ? editorAlpha : 0.4 * editorAlpha; + const pos = this.getConnectionPos( + false, + i2, + /* out= */ + slot_pos + ); + pos[0] -= this.pos[0]; + pos[1] -= this.pos[1]; + max_y = Math.max(max_y, pos[1] + LiteGraph.NODE_SLOT_HEIGHT * 0.5); + slot.draw(ctx, { + pos, + colorContext, + labelColor: label_color, + lowQuality, + renderText: !lowQuality, + highlight + }); + } + return max_y; + } } class LGraphGroup { static { @@ -58121,7 +59361,7 @@ class LGraphGroup { ctx.textAlign = "left"; ctx.fillText(this.title + (this.pinned ? "📌" : ""), x2 + padding, y2 + font_size); if (LiteGraph.highlight_selected_group && this.selected) { - graphCanvas.strokeShape(ctx, this._bounding, { + strokeShape(ctx, this._bounding, { title_height: this.titleHeight, padding }); @@ -58235,117 +59475,6 @@ class LGraphGroup { isPointInside = LGraphNode.prototype.isPointInside; setDirtyCanvas = LGraphNode.prototype.setDirtyCanvas; } -var SlotType = /* @__PURE__ */ ((SlotType2) => { - SlotType2["Array"] = "array"; - SlotType2[SlotType2["Event"] = -1] = "Event"; - return SlotType2; -})(SlotType || {}); -var SlotShape = ((SlotShape2) => { - SlotShape2[SlotShape2["Box"] = RenderShape.BOX] = "Box"; - SlotShape2[SlotShape2["Arrow"] = RenderShape.ARROW] = "Arrow"; - SlotShape2[SlotShape2["Grid"] = RenderShape.GRID] = "Grid"; - SlotShape2[SlotShape2["Circle"] = RenderShape.CIRCLE] = "Circle"; - SlotShape2[SlotShape2["HollowCircle"] = RenderShape.HollowCircle] = "HollowCircle"; - return SlotShape2; -})(SlotShape || {}); -var SlotDirection = ((SlotDirection2) => { - SlotDirection2[SlotDirection2["Up"] = LinkDirection.UP] = "Up"; - SlotDirection2[SlotDirection2["Right"] = LinkDirection.RIGHT] = "Right"; - SlotDirection2[SlotDirection2["Down"] = LinkDirection.DOWN] = "Down"; - SlotDirection2[SlotDirection2["Left"] = LinkDirection.LEFT] = "Left"; - return SlotDirection2; -})(SlotDirection || {}); -var LabelPosition = /* @__PURE__ */ ((LabelPosition2) => { - LabelPosition2["Left"] = "left"; - LabelPosition2["Right"] = "right"; - return LabelPosition2; -})(LabelPosition || {}); -function drawSlot(ctx, slot, pos2, { - label_color = "#AAA", - label_position = "right", - horizontal: horizontal2 = false, - low_quality = false, - render_text = true, - do_stroke = false, - highlight = false -} = {}) { - const originalFillStyle = ctx.fillStyle; - const originalStrokeStyle = ctx.strokeStyle; - const originalLineWidth = ctx.lineWidth; - const slot_type = slot.type; - const slot_shape = slot_type === "array" ? SlotShape.Grid : slot.shape; - ctx.beginPath(); - let doStroke = do_stroke; - let doFill = true; - if (slot_type === -1 || slot_shape === SlotShape.Box) { - if (horizontal2) { - ctx.rect(pos2[0] - 5 + 0.5, pos2[1] - 8 + 0.5, 10, 14); - } else { - ctx.rect(pos2[0] - 6 + 0.5, pos2[1] - 5 + 0.5, 14, 10); - } - } else if (slot_shape === SlotShape.Arrow) { - ctx.moveTo(pos2[0] + 8, pos2[1] + 0.5); - ctx.lineTo(pos2[0] - 4, pos2[1] + 6 + 0.5); - ctx.lineTo(pos2[0] - 4, pos2[1] - 6 + 0.5); - ctx.closePath(); - } else if (slot_shape === SlotShape.Grid) { - const gridSize = 3; - const cellSize = 2; - const spacing = 3; - for (let x2 = 0; x2 < gridSize; x2++) { - for (let y2 = 0; y2 < gridSize; y2++) { - ctx.rect( - pos2[0] - 4 + x2 * spacing, - pos2[1] - 4 + y2 * spacing, - cellSize, - cellSize - ); - } - } - doStroke = false; - } else { - if (low_quality) { - ctx.rect(pos2[0] - 4, pos2[1] - 4, 8, 8); - } else { - let radius; - if (slot_shape === SlotShape.HollowCircle) { - doFill = false; - doStroke = true; - ctx.lineWidth = 3; - ctx.strokeStyle = ctx.fillStyle; - radius = highlight ? 4 : 3; - } else { - radius = highlight ? 5 : 4; - } - ctx.arc(pos2[0], pos2[1], radius, 0, Math.PI * 2); - } - } - if (doFill) ctx.fill(); - if (!low_quality && doStroke) ctx.stroke(); - if (render_text) { - const text2 = slot.label || slot.localized_name || slot.name; - if (text2) { - ctx.fillStyle = label_color; - if (label_position === "right") { - if (horizontal2 || slot.dir == LinkDirection.UP) { - ctx.fillText(text2, pos2[0], pos2[1] - 10); - } else { - ctx.fillText(text2, pos2[0] + 10, pos2[1] + 5); - } - } else { - if (horizontal2 || slot.dir == LinkDirection.DOWN) { - ctx.fillText(text2, pos2[0], pos2[1] - 8); - } else { - ctx.fillText(text2, pos2[0] - 10, pos2[1] + 5); - } - } - } - } - ctx.fillStyle = originalFillStyle; - ctx.strokeStyle = originalStrokeStyle; - ctx.lineWidth = originalLineWidth; -} -__name(drawSlot, "drawSlot"); class DragAndScale { static { __name(this, "DragAndScale"); @@ -58435,8 +59564,8 @@ class DragAndScale { if (!this.enabled) { return; } - const canvas = this.element; - const rect = canvas.getBoundingClientRect(); + const canvas2 = this.element; + const rect = canvas2.getBoundingClientRect(); const x2 = e2.clientX - rect.left; const y2 = e2.clientY - rect.top; e2.canvasx = x2; @@ -58449,7 +59578,7 @@ class DragAndScale { } if (e2.type == LiteGraph.pointerevents_method + "down" && is_inside) { this.dragging = true; - LiteGraph.pointerListenerRemove(canvas, "move", this._binded_mouse_callback); + LiteGraph.pointerListenerRemove(canvas2, "move", this._binded_mouse_callback); LiteGraph.pointerListenerAdd(document, "move", this._binded_mouse_callback); LiteGraph.pointerListenerAdd(document, "up", this._binded_mouse_callback); } else if (e2.type == LiteGraph.pointerevents_method + "move") { @@ -58464,7 +59593,7 @@ class DragAndScale { this.dragging = false; LiteGraph.pointerListenerRemove(document, "move", this._binded_mouse_callback); LiteGraph.pointerListenerRemove(document, "up", this._binded_mouse_callback); - LiteGraph.pointerListenerAdd(canvas, "move", this._binded_mouse_callback); + LiteGraph.pointerListenerAdd(canvas2, "move", this._binded_mouse_callback); } else if (is_inside && (e2.type == "mousewheel" || e2.type == "wheel" || e2.type == "DOMMouseScroll")) { e2.eventType = "mousewheel"; if (e2.type == "wheel") e2.wheel = -e2.deltaY; @@ -58484,16 +59613,16 @@ class DragAndScale { ctx.scale(this.scale, this.scale); ctx.translate(this.offset[0], this.offset[1]); } - convertOffsetToCanvas(pos2) { + convertOffsetToCanvas(pos) { return [ - (pos2[0] + this.offset[0]) * this.scale, - (pos2[1] + this.offset[1]) * this.scale + (pos[0] + this.offset[0]) * this.scale, + (pos[1] + this.offset[1]) * this.scale ]; } - convertCanvasToOffset(pos2, out) { + convertCanvasToOffset(pos, out) { out = out || [0, 0]; - out[0] = pos2[0] / this.scale - this.offset[0]; - out[1] = pos2[1] / this.scale - this.offset[1]; + out[0] = pos[0] / this.scale - this.offset[0]; + out[1] = pos[1] / this.scale - this.offset[1]; return out; } /** @deprecated Has not been kept up to date */ @@ -58512,13 +59641,15 @@ class DragAndScale { if (!this.element) return; const rect = this.element.getBoundingClientRect(); if (!rect) return; - zooming_center = zooming_center || [rect.width * 0.5, rect.height * 0.5]; - zooming_center[0] -= rect.x; - zooming_center[1] -= rect.y; - const center = this.convertCanvasToOffset(zooming_center); + zooming_center = zooming_center ?? [rect.width * 0.5, rect.height * 0.5]; + const normalizedCenter = [ + zooming_center[0] - rect.x, + zooming_center[1] - rect.y + ]; + const center = this.convertCanvasToOffset(normalizedCenter); this.scale = value4; if (Math.abs(this.scale - 1) < 0.01) this.scale = 1; - const new_center = this.convertCanvasToOffset(zooming_center); + const new_center = this.convertCanvasToOffset(normalizedCenter); const delta_offset = [ new_center[0] - center[0], new_center[1] - center[1] @@ -58914,6 +60045,9 @@ class LGraphCanvas { this.#updateCursorStyle(); } // #endregion Legacy accessors + /** + * @deprecated Use {@link LGraphNode.titleFontStyle} instead. + */ get title_text_font() { return `${LiteGraph.NODE_TEXT_SIZE}px Arial`; } @@ -58928,6 +60062,24 @@ class LGraphCanvas { set maximumFps(value4) { this.#maximumFrameGap = value4 > Number.EPSILON ? 1e3 / value4 : 0; } + /** + * @deprecated Use {@link LiteGraphGlobal.ROUND_RADIUS} instead. + */ + get round_radius() { + return LiteGraph.ROUND_RADIUS; + } + /** + * @deprecated Use {@link LiteGraphGlobal.ROUND_RADIUS} instead. + */ + set round_radius(value4) { + LiteGraph.ROUND_RADIUS = value4; + } + /** + * Render low quality when zoomed out. + */ + get low_quality() { + return this.ds.scale < this.low_quality_zoom_threshold; + } options; background_image; ds; @@ -58967,13 +60119,14 @@ class LGraphCanvas { render_connection_arrows; render_collapsed_slots; render_execution_order; - render_title_colored; render_link_tooltip; /** Controls whether reroutes are rendered at all. */ reroutesEnabled = false; /** Shape of the markers shown at the midpoint of links. Default: Circle */ linkMarkerShape = LinkMarkerShape.Circle; links_render_mode; + /** Zoom threshold for low quality rendering. Zoom below this threshold will render low quality. */ + low_quality_zoom_threshold = 0.6; /** mouse in canvas coordinates, where 0,0 is the top-left corner of the blue rectangle */ mouse; /** mouse in graph coordinates, where 0,0 is the top-left corner of the blue rectangle */ @@ -58989,7 +60142,6 @@ class LGraphCanvas { /** to render foreground objects (above nodes and connections) in the canvas affected by transform */ onDrawForeground; connections_width; - round_radius; /** The current node being drawn by {@link drawNode}. This should NOT be used to determine the currently selected node. See {@link selectedItems} */ current_node; /** used for widgets */ @@ -59035,7 +60187,6 @@ class LGraphCanvas { last_mouse = [0, 0]; last_mouseclick = 0; graph; - _graph_stack = null; canvas; bgcanvas; ctx; @@ -59076,6 +60227,10 @@ class LGraphCanvas { #snapToGrid; /** Set on keydown, keyup. @todo */ #shiftDown = false; + /** If true, enable drag zoom. Ctrl+Shift+Drag Up/Down: zoom canvas. */ + dragZoomEnabled = false; + /** The start position of the drag zoom. */ + #dragZoomStart = null; static active_node; onClear; /** called after moving a node @deprecated Does not handle multi-node move, and can return the wrong node. */ @@ -59100,9 +60255,9 @@ class LGraphCanvas { * @param graph The graph that owns this canvas. * @param options */ - constructor(canvas, graph, options4) { - options4 ||= {}; - this.options = options4; + constructor(canvas2, graph, options22) { + options22 ||= {}; + this.options = options22; this.background_image = LGraphCanvas.DEFAULT_BACKGROUND_IMAGE; this.ds = new DragAndScale(); this.pointer = new CanvasPointer(this.canvas); @@ -59156,7 +60311,6 @@ class LGraphCanvas { this.render_connection_arrows = false; this.render_collapsed_slots = true; this.render_execution_order = false; - this.render_title_colored = true; this.render_link_tooltip = true; this.links_render_mode = LinkRenderType.SPLINE_LINK; this.mouse = [0, 0]; @@ -59171,11 +60325,9 @@ class LGraphCanvas { this.onDrawLinkTooltip = null; this.onNodeMoved = null; this.onSelectionChange = null; - this.onConnectingChange = null; this.onBeforeChange = null; this.onAfterChange = null; this.connections_width = 3; - this.round_radius = 8; this.current_node = null; this.node_widget = null; this.over_link_center = null; @@ -59183,14 +60335,14 @@ class LGraphCanvas { this.visible_area = this.ds.visible_area; this.visible_links = []; this.connecting_links = null; - this.viewport = options4.viewport || null; + this.viewport = options22.viewport || null; graph?.attachCanvas(this); - this.setCanvas(canvas, options4.skip_events); + this.setCanvas(canvas2, options22.skip_events); this.clear(); - if (!options4.skip_render) { + if (!options22.skip_render) { this.startRendering(); } - this.autoresize = options4.autoresize; + this.autoresize = options22.autoresize; } static getFileExtension(url) { const question = url.indexOf("?"); @@ -59199,10 +60351,10 @@ class LGraphCanvas { return point === -1 ? "" : url.substring(point + 1).toLowerCase(); } static onGroupAdd(info, entry, mouse_event) { - const canvas = LGraphCanvas.active_canvas; + const canvas2 = LGraphCanvas.active_canvas; const group = new LiteGraph.LGraphGroup(); - group.pos = canvas.convertEventToCanvasOffset(mouse_event); - canvas.graph.add(group); + group.pos = canvas2.convertEventToCanvasOffset(mouse_event); + canvas2.graph.add(group); } /** * @deprecated Functionality moved to {@link getBoundaryNodes}. The new function returns null on failure, instead of an object with all null properties. @@ -59229,7 +60381,7 @@ class LGraphCanvas { alignNodes(Object.values(nodes), direction, align_to); LGraphCanvas.active_canvas.setDirty(true, true); } - static onNodeAlign(value4, options4, event, prev_menu, node22) { + static onNodeAlign(value4, options22, event, prev_menu, node22) { new LiteGraph.ContextMenu(["Top", "Bottom", "Left", "Right"], { event, callback: inner_clicked, @@ -59245,7 +60397,7 @@ class LGraphCanvas { } __name(inner_clicked, "inner_clicked"); } - static onGroupAlign(value4, options4, event, prev_menu) { + static onGroupAlign(value4, options22, event, prev_menu) { new LiteGraph.ContextMenu(["Top", "Bottom", "Left", "Right"], { event, callback: inner_clicked, @@ -59260,26 +60412,26 @@ class LGraphCanvas { } __name(inner_clicked, "inner_clicked"); } - static createDistributeMenu(value4, options4, event, prev_menu, node22) { + static createDistributeMenu(value4, options22, event, prev_menu, node22) { new LiteGraph.ContextMenu(["Vertically", "Horizontally"], { event, callback: inner_clicked, parentMenu: prev_menu }); function inner_clicked(value22) { - const canvas = LGraphCanvas.active_canvas; - distributeNodes(Object.values(canvas.selected_nodes), value22 === "Horizontally"); - canvas.setDirty(true, true); + const canvas2 = LGraphCanvas.active_canvas; + distributeNodes(Object.values(canvas2.selected_nodes), value22 === "Horizontally"); + canvas2.setDirty(true, true); } __name(inner_clicked, "inner_clicked"); } - static onMenuAdd(node22, options4, e2, prev_menu, callback) { - const canvas = LGraphCanvas.active_canvas; - const ref_window = canvas.getCanvasWindow(); - const graph = canvas.graph; + static onMenuAdd(node22, options22, e2, prev_menu, callback) { + const canvas2 = LGraphCanvas.active_canvas; + const ref_window = canvas2.getCanvasWindow(); + const graph = canvas2.graph; if (!graph) return; function inner_onMenuAdded(base_category, prev_menu2) { - const categories = LiteGraph.getNodeTypesCategories(canvas.filter || graph.filter).filter(function(category) { + const categories = LiteGraph.getNodeTypesCategories(canvas2.filter || graph.filter).filter(function(category) { return category.startsWith(base_category); }); const entries = []; @@ -59299,32 +60451,32 @@ class LGraphCanvas { value: category_path, content: name2, has_submenu: true, - callback: /* @__PURE__ */ __name(function(value4, event, mouseEvent, contextMenu) { - inner_onMenuAdded(value4.value, contextMenu); + callback: /* @__PURE__ */ __name(function(value4, event, mouseEvent, contextMenu2) { + inner_onMenuAdded(value4.value, contextMenu2); }, "callback") }); } }); const nodes = LiteGraph.getNodeTypesInCategory( base_category.slice(0, -1), - canvas.filter || graph.filter + canvas2.filter || graph.filter ); - nodes.map(function(node3) { - if (node3.skip_list) return; + nodes.map(function(node222) { + if (node222.skip_list) return; const entry = { - value: node3.type, - content: node3.title, + value: node222.type, + content: node222.title, has_submenu: false, - callback: /* @__PURE__ */ __name(function(value4, event, mouseEvent, contextMenu) { - const first_event = contextMenu.getFirstEvent(); - canvas.graph.beforeChange(); - const node4 = LiteGraph.createNode(value4.value); - if (node4) { - node4.pos = canvas.convertEventToCanvasOffset(first_event); - canvas.graph.add(node4); + callback: /* @__PURE__ */ __name(function(value4, event, mouseEvent, contextMenu2) { + const first_event = contextMenu2.getFirstEvent(); + canvas2.graph.beforeChange(); + const node3 = LiteGraph.createNode(value4.value); + if (node3) { + node3.pos = canvas2.convertEventToCanvasOffset(first_event); + canvas2.graph.add(node3); } - callback?.(node4); - canvas.graph.afterChange(); + callback?.(node3); + canvas2.graph.afterChange(); }, "callback") }; entries.push(entry); @@ -59340,16 +60492,16 @@ class LGraphCanvas { static onMenuNodeEdit() { } /** @param options Parameter is never used */ - static showMenuNodeOptionalInputs(v2, options4, e2, prev_menu, node22) { + static showMenuNodeOptionalInputs(v2, options22, e2, prev_menu, node22) { if (!node22) return; const that = this; - const canvas = LGraphCanvas.active_canvas; - const ref_window = canvas.getCanvasWindow(); - options4 = node22.onGetInputs ? node22.onGetInputs() : node22.optional_inputs; + const canvas2 = LGraphCanvas.active_canvas; + const ref_window = canvas2.getCanvasWindow(); + options22 = node22.onGetInputs ? node22.onGetInputs() : node22.optional_inputs; let entries = []; - if (options4) { - for (let i2 = 0; i2 < options4.length; i2++) { - const entry = options4[i2]; + if (options22) { + for (let i2 = 0; i2 < options22.length; i2++) { + const entry = options22[i2]; if (!entry) { entries.push(null); continue; @@ -59384,30 +60536,30 @@ class LGraphCanvas { // @ts-expect-error Unused param ref_window ); - function inner_clicked(v3, e3, prev2) { + function inner_clicked(v22, e22, prev2) { if (!node22) return; - v3.callback?.call(that, node22, v3, e3, prev2); - if (!v3.value) return; + v22.callback?.call(that, node22, v22, e22, prev2); + if (!v22.value) return; node22.graph.beforeChange(); - node22.addInput(v3.value[0], v3.value[1], v3.value[2]); - node22.onNodeInputAdd?.(v3.value); - canvas.setDirty(true, true); + node22.addInput(v22.value[0], v22.value[1], v22.value[2]); + node22.onNodeInputAdd?.(v22.value); + canvas2.setDirty(true, true); node22.graph.afterChange(); } __name(inner_clicked, "inner_clicked"); return false; } /** @param options Parameter is never used */ - static showMenuNodeOptionalOutputs(v2, options4, e2, prev_menu, node22) { + static showMenuNodeOptionalOutputs(v2, options22, e2, prev_menu, node22) { if (!node22) return; const that = this; - const canvas = LGraphCanvas.active_canvas; - const ref_window = canvas.getCanvasWindow(); - options4 = node22.onGetOutputs ? node22.onGetOutputs() : node22.optional_outputs; + const canvas2 = LGraphCanvas.active_canvas; + const ref_window = canvas2.getCanvasWindow(); + options22 = node22.onGetOutputs ? node22.onGetOutputs() : node22.optional_outputs; let entries = []; - if (options4) { - for (let i2 = 0; i2 < options4.length; i2++) { - const entry = options4[i2]; + if (options22) { + for (let i2 = 0; i2 < options22.length; i2++) { + const entry = options22[i2]; if (!entry) { entries.push(null); continue; @@ -59448,18 +60600,18 @@ class LGraphCanvas { // @ts-expect-error Unused ref_window ); - function inner_clicked(v3, e3, prev2) { + function inner_clicked(v22, e22, prev2) { if (!node22) return; - if (v3.callback) v3.callback.call(that, node22, v3, e3, prev2); - if (!v3.value) return; - const value4 = v3.value[1]; + if (v22.callback) v22.callback.call(that, node22, v22, e22, prev2); + if (!v22.value) return; + const value4 = v22.value[1]; if (value4 && (typeof value4 === "object" || Array.isArray(value4))) { const entries2 = []; for (const i2 in value4) { entries2.push({ content: i2, value: value4[i2] }); } new LiteGraph.ContextMenu(entries2, { - event: e3, + event: e22, callback: inner_clicked, parentMenu: prev_menu, node: node22 @@ -59468,19 +60620,19 @@ class LGraphCanvas { } const graph = node22.graph; graph.beforeChange(); - node22.addOutput(v3.value[0], v3.value[1], v3.value[2]); - node22.onNodeOutputAdd?.(v3.value); - canvas.setDirty(true, true); + node22.addOutput(v22.value[0], v22.value[1], v22.value[2]); + node22.onNodeOutputAdd?.(v22.value); + canvas2.setDirty(true, true); graph.afterChange(); } __name(inner_clicked, "inner_clicked"); return false; } /** @param value Parameter is never used */ - static onShowMenuNodeProperties(value4, options4, e2, prev_menu, node22) { + static onShowMenuNodeProperties(value4, options22, e2, prev_menu, node22) { if (!node22 || !node22.properties) return; - const canvas = LGraphCanvas.active_canvas; - const ref_window = canvas.getCanvasWindow(); + const canvas2 = LGraphCanvas.active_canvas; + const ref_window = canvas2.getCanvasWindow(); const entries = []; for (const i2 in node22.properties) { value4 = node22.properties[i2] !== void 0 ? node22.properties[i2] : " "; @@ -59513,7 +60665,7 @@ class LGraphCanvas { function inner_clicked(v2) { if (!node22) return; const rect = this.getBoundingClientRect(); - canvas.showEditPropertyValue(node22, v2.value, { + canvas2.showEditPropertyValue(node22, v2.value, { position: [rect.left, rect.top] }); } @@ -59525,24 +60677,24 @@ class LGraphCanvas { e2.innerText = str; return e2.innerHTML; } - static onMenuResizeNode(value4, options4, e2, menu2, node22) { + static onMenuResizeNode(value4, options22, e2, menu2, node22) { if (!node22) return; - const fApplyMultiNode = /* @__PURE__ */ __name(function(node3) { - node3.size = node3.computeSize(); - node3.onResize?.(node3.size); + const fApplyMultiNode = /* @__PURE__ */ __name(function(node222) { + node222.size = node222.computeSize(); + node222.onResize?.(node222.size); }, "fApplyMultiNode"); - const canvas = LGraphCanvas.active_canvas; - if (!canvas.selected_nodes || Object.keys(canvas.selected_nodes).length <= 1) { + const canvas2 = LGraphCanvas.active_canvas; + if (!canvas2.selected_nodes || Object.keys(canvas2.selected_nodes).length <= 1) { fApplyMultiNode(node22); } else { - for (const i2 in canvas.selected_nodes) { - fApplyMultiNode(canvas.selected_nodes[i2]); + for (const i2 in canvas2.selected_nodes) { + fApplyMultiNode(canvas2.selected_nodes[i2]); } } - canvas.setDirty(true, true); + canvas2.setDirty(true, true); } // TODO refactor :: this is used fot title but not for properties! - static onShowPropertyEditor(item3, options4, e2, menu2, node22) { + static onShowPropertyEditor(item3, options22, e2, menu2, node22) { const property = item3.property || "title"; const value4 = node22[property]; const dialog = document.createElement("div"); @@ -59560,21 +60712,21 @@ class LGraphCanvas { input.addEventListener("blur", function() { this.focus(); }); - input.addEventListener("keydown", function(e3) { + input.addEventListener("keydown", function(e22) { dialog.is_modified = true; - if (e3.keyCode == 27) { + if (e22.keyCode == 27) { dialog.close(); - } else if (e3.keyCode == 13) { + } else if (e22.keyCode == 13) { inner(); - } else if (e3.keyCode != 13 && e3.target.localName != "textarea") { + } else if (e22.keyCode != 13 && e22.target.localName != "textarea") { return; } - e3.preventDefault(); - e3.stopPropagation(); + e22.preventDefault(); + e22.stopPropagation(); }); } - const canvas = LGraphCanvas.active_canvas; - const canvasEl = canvas.canvas; + const canvas2 = LGraphCanvas.active_canvas; + const canvasEl = canvas2.canvas; const rect = canvasEl.getBoundingClientRect(); let offsetx = -20; let offsety = -20; @@ -59620,7 +60772,7 @@ class LGraphCanvas { } node22[property] = value22; dialog.parentNode?.removeChild(dialog); - canvas.setDirty(true, true); + canvas2.setDirty(true, true); } __name(setValue2, "setValue"); } @@ -59639,12 +60791,12 @@ class LGraphCanvas { return String(value4) + " (" + desc_value + ")"; } } - static onMenuNodeCollapse(value4, options4, e2, menu2, node22) { + static onMenuNodeCollapse(value4, options22, e2, menu2, node22) { node22.graph.beforeChange( /* ? */ ); - const fApplyMultiNode = /* @__PURE__ */ __name(function(node3) { - node3.collapse(); + const fApplyMultiNode = /* @__PURE__ */ __name(function(node222) { + node222.collapse(); }, "fApplyMultiNode"); const graphcanvas = LGraphCanvas.active_canvas; if (!graphcanvas.selected_nodes || Object.keys(graphcanvas.selected_nodes).length <= 1) { @@ -59658,12 +60810,12 @@ class LGraphCanvas { /* ? */ ); } - static onMenuToggleAdvanced(value4, options4, e2, menu2, node22) { + static onMenuToggleAdvanced(value4, options22, e2, menu2, node22) { node22.graph.beforeChange( /* ? */ ); - const fApplyMultiNode = /* @__PURE__ */ __name(function(node3) { - node3.toggleAdvanced(); + const fApplyMultiNode = /* @__PURE__ */ __name(function(node222) { + node222.toggleAdvanced(); }, "fApplyMultiNode"); const graphcanvas = LGraphCanvas.active_canvas; if (!graphcanvas.selected_nodes || Object.keys(graphcanvas.selected_nodes).length <= 1) { @@ -59677,9 +60829,9 @@ class LGraphCanvas { /* ? */ ); } - static onMenuNodePin(value4, options4, e2, menu2, node22) { + static onMenuNodePin(value4, options22, e2, menu2, node22) { } - static onMenuNodeMode(value4, options4, e2, menu2, node22) { + static onMenuNodeMode(value4, options22, e2, menu2, node22) { new LiteGraph.ContextMenu( LiteGraph.NODE_MODES, { event: e2, callback: inner_clicked, parentMenu: menu2, node: node22 } @@ -59687,12 +60839,12 @@ class LGraphCanvas { function inner_clicked(v2) { if (!node22) return; const kV = Object.values(LiteGraph.NODE_MODES).indexOf(v2); - const fApplyMultiNode = /* @__PURE__ */ __name(function(node3) { + const fApplyMultiNode = /* @__PURE__ */ __name(function(node222) { if (kV >= 0 && LiteGraph.NODE_MODES[kV]) - node3.changeMode(kV); + node222.changeMode(kV); else { console.warn("unexpected mode: " + v2); - node3.changeMode(LGraphEventMode.ALWAYS); + node222.changeMode(LGraphEventMode.ALWAYS); } }, "fApplyMultiNode"); const graphcanvas = LGraphCanvas.active_canvas; @@ -59708,7 +60860,7 @@ class LGraphCanvas { return false; } /** @param value Parameter is never used */ - static onMenuNodeColors(value4, options4, e2, menu2, node22) { + static onMenuNodeColors(value4, options22, e2, menu2, node22) { if (!node22) throw "no node for color"; const values = []; values.push({ @@ -59732,33 +60884,33 @@ class LGraphCanvas { function inner_clicked(v2) { if (!node22) return; const color2 = v2.value ? LGraphCanvas.node_colors[v2.value] : null; - const fApplyColor = /* @__PURE__ */ __name(function(node3) { + const fApplyColor = /* @__PURE__ */ __name(function(node222) { if (color2) { - if (node3 instanceof LGraphGroup) { - node3.color = color2.groupcolor; + if (node222 instanceof LGraphGroup) { + node222.color = color2.groupcolor; } else { - node3.color = color2.color; - node3.bgcolor = color2.bgcolor; + node222.color = color2.color; + node222.bgcolor = color2.bgcolor; } } else { - delete node3.color; - delete node3.bgcolor; + delete node222.color; + delete node222.bgcolor; } }, "fApplyColor"); - const canvas = LGraphCanvas.active_canvas; - if (!canvas.selected_nodes || Object.keys(canvas.selected_nodes).length <= 1) { + const canvas2 = LGraphCanvas.active_canvas; + if (!canvas2.selected_nodes || Object.keys(canvas2.selected_nodes).length <= 1) { fApplyColor(node22); } else { - for (const i2 in canvas.selected_nodes) { - fApplyColor(canvas.selected_nodes[i2]); + for (const i2 in canvas2.selected_nodes) { + fApplyColor(canvas2.selected_nodes[i2]); } } - canvas.setDirty(true, true); + canvas2.setDirty(true, true); } __name(inner_clicked, "inner_clicked"); return false; } - static onMenuNodeShapes(value4, options4, e2, menu2, node22) { + static onMenuNodeShapes(value4, options22, e2, menu2, node22) { if (!node22) throw "no node passed"; new LiteGraph.ContextMenu(LiteGraph.VALID_SHAPES, { event: e2, @@ -59771,82 +60923,69 @@ class LGraphCanvas { node22.graph.beforeChange( /* ? */ ); - const fApplyMultiNode = /* @__PURE__ */ __name(function(node3) { - node3.shape = v2; + const fApplyMultiNode = /* @__PURE__ */ __name(function(node222) { + node222.shape = v2; }, "fApplyMultiNode"); - const canvas = LGraphCanvas.active_canvas; - if (!canvas.selected_nodes || Object.keys(canvas.selected_nodes).length <= 1) { + const canvas2 = LGraphCanvas.active_canvas; + if (!canvas2.selected_nodes || Object.keys(canvas2.selected_nodes).length <= 1) { fApplyMultiNode(node22); } else { - for (const i2 in canvas.selected_nodes) { - fApplyMultiNode(canvas.selected_nodes[i2]); + for (const i2 in canvas2.selected_nodes) { + fApplyMultiNode(canvas2.selected_nodes[i2]); } } node22.graph.afterChange( /* ? */ ); - canvas.setDirty(true); + canvas2.setDirty(true); } __name(inner_clicked, "inner_clicked"); return false; } - static onMenuNodeRemove(value4, options4, e2, menu2, node22) { + static onMenuNodeRemove(value4, options22, e2, menu2, node22) { if (!node22) throw "no node passed"; const graph = node22.graph; graph.beforeChange(); - const fApplyMultiNode = /* @__PURE__ */ __name(function(node3) { - if (node3.removable === false) return; - graph.remove(node3); + const fApplyMultiNode = /* @__PURE__ */ __name(function(node222) { + if (node222.removable === false) return; + graph.remove(node222); }, "fApplyMultiNode"); - const canvas = LGraphCanvas.active_canvas; - if (!canvas.selected_nodes || Object.keys(canvas.selected_nodes).length <= 1) { + const canvas2 = LGraphCanvas.active_canvas; + if (!canvas2.selected_nodes || Object.keys(canvas2.selected_nodes).length <= 1) { fApplyMultiNode(node22); } else { - for (const i2 in canvas.selected_nodes) { - fApplyMultiNode(canvas.selected_nodes[i2]); + for (const i2 in canvas2.selected_nodes) { + fApplyMultiNode(canvas2.selected_nodes[i2]); } } graph.afterChange(); - canvas.setDirty(true, true); + canvas2.setDirty(true, true); } - static onMenuNodeToSubgraph(value4, options4, e2, menu2, node22) { - const graph = node22.graph; - const canvas = LGraphCanvas.active_canvas; - if (!canvas) return; - let nodes_list = Object.values(canvas.selected_nodes || {}); - if (!nodes_list.length) nodes_list = [node22]; - const subgraph_node = LiteGraph.createNode("graph/subgraph"); - subgraph_node.pos = node22.pos.concat(); - graph.add(subgraph_node); - subgraph_node.buildFromNodes(nodes_list); - canvas.deselectAll(); - canvas.setDirty(true, true); - } - static onMenuNodeClone(value4, options4, e2, menu2, node22) { + static onMenuNodeClone(value4, options22, e2, menu2, node22) { const graph = node22.graph; graph.beforeChange(); const newSelected = /* @__PURE__ */ new Set(); - const fApplyMultiNode = /* @__PURE__ */ __name(function(node3, newNodes) { - if (node3.clonable === false) return; - const newnode = node3.clone(); + const fApplyMultiNode = /* @__PURE__ */ __name(function(node222, newNodes) { + if (node222.clonable === false) return; + const newnode = node222.clone(); if (!newnode) return; - newnode.pos = [node3.pos[0] + 5, node3.pos[1] + 5]; - node3.graph.add(newnode); + newnode.pos = [node222.pos[0] + 5, node222.pos[1] + 5]; + node222.graph.add(newnode); newNodes.add(newnode); }, "fApplyMultiNode"); - const canvas = LGraphCanvas.active_canvas; - if (!canvas.selected_nodes || Object.keys(canvas.selected_nodes).length <= 1) { + const canvas2 = LGraphCanvas.active_canvas; + if (!canvas2.selected_nodes || Object.keys(canvas2.selected_nodes).length <= 1) { fApplyMultiNode(node22, newSelected); } else { - for (const i2 in canvas.selected_nodes) { - fApplyMultiNode(canvas.selected_nodes[i2], newSelected); + for (const i2 in canvas2.selected_nodes) { + fApplyMultiNode(canvas2.selected_nodes[i2], newSelected); } } if (newSelected.size) { - canvas.selectNodes([...newSelected]); + canvas2.selectNodes([...newSelected]); } graph.afterChange(); - canvas.setDirty(true, true); + canvas2.setDirty(true, true); } /** * clears all the data inside @@ -59888,15 +61027,8 @@ class LGraphCanvas { return; } graph.attachCanvas(this); - this._graph_stack &&= null; this.setDirty(true, true); } - /** - * @returns the top level graph (in case there are subgraphs open on the canvas) - */ - getTopGraph() { - return this._graph_stack.length ? this._graph_stack[0] : this.graph; - } /** * @returns the visually active graph (in case there are more in the stack) */ @@ -59909,13 +61041,13 @@ class LGraphCanvas { * @returns The canvas element * @throws If {@link canvas} is an element ID that does not belong to a valid HTML canvas element */ - #validateCanvas(canvas) { - if (typeof canvas === "string") { - const el = document.getElementById(canvas); + #validateCanvas(canvas2) { + if (typeof canvas2 === "string") { + const el = document.getElementById(canvas2); if (!(el instanceof HTMLCanvasElement)) throw "Error validating LiteGraph canvas: Canvas element not found"; return el; } - return canvas; + return canvas2; } /** * Sets the current HTML canvas element. @@ -59923,8 +61055,8 @@ class LGraphCanvas { * @param canvas The canvas element to assign, or its HTML element ID. If null or undefined, the current reference is cleared. * @param skip_events If true, events on the previous canvas will not be removed. Has no effect on the first invocation. */ - setCanvas(canvas, skip_events) { - const element = this.#validateCanvas(canvas); + setCanvas(canvas2, skip_events) { + const element = this.#validateCanvas(canvas2); if (element === this.canvas) return; if (!element && this.canvas && !skip_events) this.unbindEvents(); this.canvas = element; @@ -59973,7 +61105,7 @@ class LGraphCanvas { console.warn("LGraphCanvas: events already binded"); return; } - const canvas = this.canvas; + const canvas2 = this.canvas; const ref_window = this.getCanvasWindow(); const document2 = ref_window.document; this._mousedown_callback = this.processMouseDown.bind(this); @@ -59982,26 +61114,26 @@ class LGraphCanvas { this._mouseup_callback = this.processMouseUp.bind(this); this._mouseout_callback = this.processMouseOut.bind(this); this._mousecancel_callback = this.processMouseCancel.bind(this); - LiteGraph.pointerListenerAdd(canvas, "down", this._mousedown_callback, true); - canvas.addEventListener("mousewheel", this._mousewheel_callback, false); - LiteGraph.pointerListenerAdd(canvas, "up", this._mouseup_callback, true); - LiteGraph.pointerListenerAdd(canvas, "move", this._mousemove_callback); - canvas.addEventListener("pointerout", this._mouseout_callback); - canvas.addEventListener("pointercancel", this._mousecancel_callback, true); - canvas.addEventListener("contextmenu", this._doNothing); - canvas.addEventListener( + LiteGraph.pointerListenerAdd(canvas2, "down", this._mousedown_callback, true); + canvas2.addEventListener("mousewheel", this._mousewheel_callback, false); + LiteGraph.pointerListenerAdd(canvas2, "up", this._mouseup_callback, true); + LiteGraph.pointerListenerAdd(canvas2, "move", this._mousemove_callback); + canvas2.addEventListener("pointerout", this._mouseout_callback); + canvas2.addEventListener("pointercancel", this._mousecancel_callback, true); + canvas2.addEventListener("contextmenu", this._doNothing); + canvas2.addEventListener( "DOMMouseScroll", this._mousewheel_callback, false ); this._key_callback = this.processKey.bind(this); - canvas.addEventListener("keydown", this._key_callback, true); + canvas2.addEventListener("keydown", this._key_callback, true); document2.addEventListener("keyup", this._key_callback, true); this._ondrop_callback = this.processDrop.bind(this); - canvas.addEventListener("dragover", this._doNothing, false); - canvas.addEventListener("dragend", this._doNothing, false); - canvas.addEventListener("drop", this._ondrop_callback, false); - canvas.addEventListener("dragenter", this._doReturnTrue, false); + canvas2.addEventListener("dragover", this._doNothing, false); + canvas2.addEventListener("dragend", this._doNothing, false); + canvas2.addEventListener("drop", this._ondrop_callback, false); + canvas2.addEventListener("dragenter", this._doReturnTrue, false); this._events_binded = true; } /** @@ -60128,17 +61260,17 @@ class LGraphCanvas { const graphPos = this.graph_mouse; const x2 = graphPos[0] - node22.pos[0]; const y2 = graphPos[1] - node22.pos[1]; - for (const widget2 of node22.widgets) { - if (widget2.hidden || widget2.advanced && !node22.showAdvanced) continue; + for (const widget of node22.widgets) { + if (widget.hidden || widget.advanced && !node22.showAdvanced) continue; let widgetWidth, widgetHeight; - if (widget2.computeSize) { - [widgetWidth, widgetHeight] = widget2.computeSize(node22.size[0]); + if (widget.computeSize) { + [widgetWidth, widgetHeight] = widget.computeSize(node22.size[0]); } else { - widgetWidth = widget2.width || node22.size[0]; + widgetWidth = widget.width || node22.size[0]; widgetHeight = LiteGraph.NODE_WIDGET_HEIGHT; } - if (widget2.last_y !== void 0 && x2 >= 6 && x2 <= widgetWidth - 12 && y2 >= widget2.last_y && y2 <= widget2.last_y + widgetHeight) { - return widget2; + if (widget.last_y !== void 0 && x2 >= 6 && x2 <= widgetWidth - 12 && y2 >= widget.last_y && y2 <= widget.last_y + widgetHeight) { + return widget; } } return null; @@ -60167,9 +61299,13 @@ class LGraphCanvas { } } processMouseDown(e2) { - const { graph, pointer: pointer2 } = this; + if (this.dragZoomEnabled && e2.ctrlKey && e2.shiftKey && !e2.altKey && e2.buttons) { + this.#dragZoomStart = { pos: [e2.x, e2.y], scale: this.ds.scale }; + return; + } + const { graph, pointer } = this; this.adjustMouseEvent(e2); - if (e2.isPrimary) pointer2.down(e2); + if (e2.isPrimary) pointer.down(e2); if (this.set_canvas_dirty_on_mouse_event) this.dirty_canvas = true; if (!graph) return; const ref_window = this.getCanvasWindow(); @@ -60185,16 +61321,16 @@ class LGraphCanvas { this.graph_mouse[0] = e2.canvasX; this.graph_mouse[1] = e2.canvasY; this.last_click_position = [this.mouse[0], this.mouse[1]]; - pointer2.isDouble = pointer2.isDown && e2.isPrimary; - pointer2.isDown = true; + pointer.isDouble = pointer.isDown && e2.isPrimary; + pointer.isDown = true; this.canvas.focus(); LiteGraph.closeAllContextMenus(ref_window); if (this.onMouse?.(e2) == true) return; - if (e2.button === 0 && !pointer2.isDouble) { + if (e2.button === 0 && !pointer.isDouble) { this.#processPrimaryButton(e2, node22); } else if (e2.button === 1) { this.#processMiddleButton(e2, node22); - } else if ((e2.button === 2 || pointer2.isDouble) && this.allow_interaction && !this.read_only) { + } else if ((e2.button === 2 || pointer.isDouble) && this.allow_interaction && !this.read_only) { if (node22) this.processSelect(node22, e2, true); this.processContextMenu(node22, e2); } @@ -60209,7 +61345,7 @@ class LGraphCanvas { this.onMouseDown?.(e2); } #processPrimaryButton(e2, node22) { - const { pointer: pointer2, graph } = this; + const { pointer, graph } = this; const x2 = e2.canvasX; const y2 = e2.canvasY; const ctrlOrMeta = e2.ctrlKey || e2.metaKey; @@ -60219,17 +61355,17 @@ class LGraphCanvas { dragRect[1] = y2; dragRect[2] = 1; dragRect[3] = 1; - pointer2.onClick = (eUp) => { + pointer.onClick = (eUp) => { const clickedItem = node22 ?? (this.reroutesEnabled ? graph.getRerouteOnPos(eUp.canvasX, eUp.canvasY) : null) ?? graph.getGroupTitlebarOnPos(eUp.canvasX, eUp.canvasY); this.processSelect(clickedItem, eUp); }; - pointer2.onDragStart = () => this.dragging_rectangle = dragRect; - pointer2.onDragEnd = (upEvent2) => this.#handleMultiSelect(upEvent2, dragRect); - pointer2.finally = () => this.dragging_rectangle = null; + pointer.onDragStart = () => this.dragging_rectangle = dragRect; + pointer.onDragEnd = (upEvent) => this.#handleMultiSelect(upEvent, dragRect); + pointer.finally = () => this.dragging_rectangle = null; return; } if (this.read_only) { - pointer2.finally = () => this.dragging_canvas = false; + pointer.finally = () => this.dragging_canvas = false; this.dragging_canvas = true; return; } @@ -60241,11 +61377,11 @@ class LGraphCanvas { cloned.pos[0] += 5; cloned.pos[1] += 5; if (this.allow_dragnodes) { - pointer2.onDragStart = (pointer3) => { + pointer.onDragStart = (pointer2) => { graph.add(cloned, false); - this.#startDraggingItems(cloned, pointer3); + this.#startDraggingItems(cloned, pointer2); }; - pointer2.onDragEnd = (e3) => this.#processDraggedItems(e3); + pointer.onDragEnd = (e22) => this.#processDraggedItems(e22); } else { graph.beforeChange(); graph.add(cloned, false); @@ -60272,13 +61408,13 @@ class LGraphCanvas { afterRerouteId: reroute.id }; this.connecting_links = [connecting]; - pointer2.onDragStart = () => connecting.output = outputNode.outputs[slot]; + pointer.onDragStart = () => connecting.output = outputNode.outputs[slot]; this.dirty_bgcanvas = true; } - pointer2.onClick = () => this.processSelect(reroute, e2); - if (!pointer2.onDragStart) { - pointer2.onDragStart = (pointer3) => this.#startDraggingItems(reroute, pointer3, true); - pointer2.onDragEnd = (e3) => this.#processDraggedItems(e3); + pointer.onClick = () => this.processSelect(reroute, e2); + if (!pointer.onDragStart) { + pointer.onDragStart = (pointer2) => this.#startDraggingItems(reroute, pointer2, true); + pointer.onDragEnd = (e22) => this.#processDraggedItems(e22); } return; } @@ -60301,19 +61437,19 @@ class LGraphCanvas { }; this.connecting_links = [connecting]; if (linkSegment.parentId) connecting.afterRerouteId = linkSegment.parentId; - pointer2.onDragStart = () => connecting.output = originNode.outputs[slot]; + pointer.onDragStart = () => connecting.output = originNode.outputs[slot]; return; } else if (this.reroutesEnabled && e2.altKey && !e2.shiftKey) { const newReroute = graph.createReroute([x2, y2], linkSegment); - pointer2.onDragStart = (pointer3) => this.#startDraggingItems(newReroute, pointer3); - pointer2.onDragEnd = (e3) => this.#processDraggedItems(e3); + pointer.onDragStart = (pointer2) => this.#startDraggingItems(newReroute, pointer2); + pointer.onDragEnd = (e22) => this.#processDraggedItems(e22); return; } } else if (isInRectangle(x2, y2, centre[0] - 4, centre[1] - 4, 8, 8)) { this.ctx.lineWidth = lineWidth; - pointer2.onClick = () => this.showLinkMenu(linkSegment, e2); - pointer2.onDragStart = () => this.dragging_canvas = true; - pointer2.finally = () => this.dragging_canvas = false; + pointer.onClick = () => this.showLinkMenu(linkSegment, e2); + pointer.onDragStart = () => this.dragging_canvas = true; + pointer.finally = () => this.dragging_canvas = false; this.over_link_center = null; return; } @@ -60326,18 +61462,18 @@ class LGraphCanvas { const b2 = group.boundingRect; const offsetX = x2 - (b2[0] + b2[2]); const offsetY = y2 - (b2[1] + b2[3]); - pointer2.onDragStart = () => this.resizingGroup = group; - pointer2.onDrag = (eMove) => { + pointer.onDragStart = () => this.resizingGroup = group; + pointer.onDrag = (eMove) => { if (this.read_only) return; - const pos2 = [ + const pos = [ eMove.canvasX - group.pos[0] - offsetX, eMove.canvasY - group.pos[1] - offsetY ]; - snapPoint(pos2, this.#snapToGrid); - const resized = group.resize(pos2[0], pos2[1]); + snapPoint(pos, this.#snapToGrid); + const resized = group.resize(pos[0], pos[1]); if (resized) this.dirty_bgcanvas = true; }; - pointer2.finally = () => this.resizingGroup = null; + pointer.finally = () => this.resizingGroup = null; } else { const f2 = group.font_size || LiteGraph.DEFAULT_GROUP_FONT_SIZE; const headerHeight = f2 * 1.4; @@ -60349,15 +61485,15 @@ class LGraphCanvas { group.size[0], headerHeight )) { - pointer2.onClick = () => this.processSelect(group, e2); - pointer2.onDragStart = (pointer3) => { + pointer.onClick = () => this.processSelect(group, e2); + pointer.onDragStart = (pointer2) => { group.recomputeInsideNodes(); - this.#startDraggingItems(group, pointer3, true); + this.#startDraggingItems(group, pointer2, true); }; - pointer2.onDragEnd = (e3) => this.#processDraggedItems(e3); + pointer.onDragEnd = (e22) => this.#processDraggedItems(e22); } } - pointer2.onDoubleClick = () => { + pointer.onDoubleClick = () => { this.emitEvent({ subType: "group-double-click", originalEvent: e2, @@ -60365,7 +61501,7 @@ class LGraphCanvas { }); }; } else { - pointer2.onDoubleClick = () => { + pointer.onDoubleClick = () => { if (this.allow_searchbox) { this.showSearchBox(e2); e2.preventDefault(); @@ -60377,9 +61513,9 @@ class LGraphCanvas { }; } } - if (!pointer2.onDragStart && !pointer2.onClick && !pointer2.onDrag && this.allow_dragcanvas) { - pointer2.onClick = () => this.processSelect(null, e2); - pointer2.finally = () => this.dragging_canvas = false; + if (!pointer.onDragStart && !pointer.onClick && !pointer.onDrag && this.allow_dragcanvas) { + pointer.onClick = () => this.processSelect(null, e2); + pointer.finally = () => this.dragging_canvas = false; this.dragging_canvas = true; } } @@ -60390,16 +61526,16 @@ class LGraphCanvas { * @param node The node to process a click event for */ #processNodeClick(e2, ctrlOrMeta, node22) { - const { pointer: pointer2, graph } = this; + const { pointer, graph } = this; const x2 = e2.canvasX; const y2 = e2.canvasY; - pointer2.onClick = () => this.processSelect(node22, e2); + pointer.onClick = () => this.processSelect(node22, e2); if (!node22.flags.pinned) { this.bringToFront(node22); } const inCollapse = node22.isPointInCollapse(x2, y2); if (inCollapse) { - pointer2.onClick = () => { + pointer.onClick = () => { node22.collapse(); this.setDirty(true, true); }; @@ -60408,28 +61544,28 @@ class LGraphCanvas { const b2 = node22.boundingRect; const offsetX = x2 - (b2[0] + b2[2]); const offsetY = y2 - (b2[1] + b2[3]); - pointer2.onDragStart = () => { + pointer.onDragStart = () => { graph.beforeChange(); this.resizing_node = node22; }; - pointer2.onDrag = (eMove) => { + pointer.onDrag = (eMove) => { if (this.read_only) return; - const pos3 = [ + const pos2 = [ eMove.canvasX - node22.pos[0] - offsetX, eMove.canvasY - node22.pos[1] - offsetY ]; - snapPoint(pos3, this.#snapToGrid); + snapPoint(pos2, this.#snapToGrid); const min = node22.computeSize(); - pos3[0] = Math.max(min[0], pos3[0]); - pos3[1] = Math.max(min[1], pos3[1]); - node22.setSize(pos3); + pos2[0] = Math.max(min[0], pos2[0]); + pos2[1] = Math.max(min[1], pos2[1]); + node22.setSize(pos2); this.#dirty(); }; - pointer2.onDragEnd = (upEvent2) => { + pointer.onDragEnd = (upEvent) => { this.#dirty(); graph.afterChange(this.resizing_node); }; - pointer2.finally = () => this.resizing_node = null; + pointer.finally = () => this.resizing_node = null; this.canvas.style.cursor = "se-resize"; return; } @@ -60445,14 +61581,14 @@ class LGraphCanvas { const slot = link2.target_slot; const linked_node = graph._nodes_by_id[link2.target_id]; const input = linked_node.inputs[slot]; - const pos3 = linked_node.getConnectionPos(true, slot); + const pos2 = linked_node.getConnectionPos(true, slot); this.connecting_links.push({ node: linked_node, slot, input, output: null, - pos: pos3, - direction: node22.horizontal !== true ? LinkDirection.RIGHT : LinkDirection.CENTER + pos: pos2, + direction: LinkDirection.RIGHT }); } return; @@ -60476,8 +61612,8 @@ class LGraphCanvas { node22.disconnectOutput(i2); } } - pointer2.onDoubleClick = () => node22.onOutputDblClick?.(i2, e2); - pointer2.onClick = () => node22.onOutputClick?.(i2, e2); + pointer.onDoubleClick = () => node22.onOutputDblClick?.(i2, e2); + pointer.onClick = () => node22.onOutputClick?.(i2, e2); return; } } @@ -60487,8 +61623,8 @@ class LGraphCanvas { const input = node22.inputs[i2]; const link_pos = node22.getConnectionPos(true, i2); if (isInRectangle(x2, y2, link_pos[0] - 15, link_pos[1] - 10, 30, 20)) { - pointer2.onDoubleClick = () => node22.onInputDblClick?.(i2, e2); - pointer2.onClick = () => node22.onInputClick?.(i2, e2); + pointer.onDoubleClick = () => node22.onInputDblClick?.(i2, e2); + pointer.onClick = () => node22.onInputClick?.(i2, e2); if (input.link !== null) { const link_info = graph._links.get(input.link); const slot = link_info.origin_slot; @@ -60503,7 +61639,7 @@ class LGraphCanvas { pos: linked_node.getConnectionPos(false, slot) }; this.connecting_links = [connecting]; - pointer2.onDragStart = () => { + pointer.onDragStart = () => { if (this.allow_reconnect_links && !LiteGraph.click_do_break_link_to) node22.disconnectInput(i2); connecting.output = linked_node.outputs[slot]; @@ -60511,7 +61647,7 @@ class LGraphCanvas { this.dirty_bgcanvas = true; } } - if (!pointer2.onDragStart) { + if (!pointer.onDragStart) { const connecting = { node: node22, slot: i2, @@ -60519,7 +61655,7 @@ class LGraphCanvas { pos: link_pos }; this.connecting_links = [connecting]; - pointer2.onDragStart = () => connecting.input = input; + pointer.onDragStart = () => connecting.input = input; this.dirty_bgcanvas = true; } return; @@ -60527,17 +61663,17 @@ class LGraphCanvas { } } } - const pos2 = [x2 - node22.pos[0], y2 - node22.pos[1]]; - const widget2 = node22.getWidgetOnPos(x2, y2); - if (widget2) { - this.#processWidgetClick(e2, node22, widget2); - this.node_widget = [node22, widget2]; + const pos = [x2 - node22.pos[0], y2 - node22.pos[1]]; + const widget = node22.getWidgetOnPos(x2, y2); + if (widget) { + this.#processWidgetClick(e2, node22, widget); + this.node_widget = [node22, widget]; } else { - pointer2.onDoubleClick = () => { - if (pos2[1] < 0 && !inCollapse) { - node22.onNodeTitleDblClick?.(e2, pos2, this); + pointer.onDoubleClick = () => { + if (pos[1] < 0 && !inCollapse) { + node22.onNodeTitleDblClick?.(e2, pos, this); } - node22.onDblClick?.(e2, pos2, this); + node22.onDblClick?.(e2, pos, this); this.emitEvent({ subType: "node-double-click", originalEvent: e2, @@ -60545,167 +61681,54 @@ class LGraphCanvas { }); this.processNodeDblClicked(node22); }; - if (node22.onMouseDown?.(e2, pos2, this) || !this.allow_dragnodes) + if (node22.onMouseDown?.(e2, pos, this) || !this.allow_dragnodes) return; - pointer2.onDragStart = (pointer3) => this.#startDraggingItems(node22, pointer3, true); - pointer2.onDragEnd = (e3) => this.#processDraggedItems(e3); + pointer.onDragStart = (pointer2) => this.#startDraggingItems(node22, pointer2, true); + pointer.onDragEnd = (e22) => this.#processDraggedItems(e22); } this.dirty_canvas = true; } - #processWidgetClick(e, node, widget) { + #processWidgetClick(e2, node22, widget) { const { pointer } = this; if (typeof widget.onPointerDown === "function") { - const handled = widget.onPointerDown(pointer, node, this); + const handled = widget.onPointerDown(pointer, node22, this); if (handled) return; } - const width = widget.width || node.width; const oldValue = widget.value; const pos = this.graph_mouse; - const x = pos[0] - node.pos[0]; - const y = pos[1] - node.pos[1]; - switch (widget.type) { - case "button": - pointer.onClick = () => { - widget.callback?.(widget, this, node, pos, e); - widget.clicked = true; - this.dirty_canvas = true; - }; - break; - case "slider": { - if (widget.options.read_only) break; - pointer.onDrag = (eMove) => { - const x2 = eMove.canvasX - node.pos[0]; - const slideFactor = clamp$1((x2 - 15) / (width - 30), 0, 1); - widget.value = widget.options.min + (widget.options.max - widget.options.min) * slideFactor; - if (oldValue != widget.value) { - setWidgetValue(this, node, widget, widget.value); - } - this.dirty_canvas = true; - }; - break; + const x2 = pos[0] - node22.pos[0]; + const y2 = pos[1] - node22.pos[1]; + const WidgetClass = WIDGET_TYPE_MAP[widget.type]; + if (WidgetClass) { + const widgetInstance = toClass(WidgetClass, widget); + pointer.onClick = () => widgetInstance.onClick({ + e: e2, + node: node22, + canvas: this + }); + pointer.onDrag = (eMove) => widgetInstance.onDrag({ + e: eMove, + node: node22, + canvas: this + }); + } else { + if (widget.mouse) { + const result = widget.mouse(e2, [x2, y2], node22); + if (result != null) this.dirty_canvas = result; } - case "number": { - const delta = x < 40 ? -1 : x > width - 40 ? 1 : 0; - pointer.onClick = (upEvent) => { - let newValue = widget.value + delta * 0.1 * (widget.options.step || 1); - if (widget.options.min != null && newValue < widget.options.min) { - newValue = widget.options.min; - } - if (widget.options.max != null && newValue > widget.options.max) { - newValue = widget.options.max; - } - if (newValue !== widget.value) setWidgetValue(this, node, widget, newValue); - if (delta !== 0) return; - this.prompt("Value", widget.value, (v) => { - if (/^[0-9+\-*/()\s]+|\d+\.\d+$/.test(v)) { - try { - v = eval(v); - } catch { - } - } - widget.value = Number(v); - setWidgetValue(this, node, widget, widget.value); - }, e); - this.dirty_canvas = true; - }; - pointer.onDrag = (eMove) => { - const x2 = eMove.canvasX - node.pos[0]; - if (delta && (x2 > -3 && x2 < width + 3)) return; - let newValue2 = widget.value; - if (eMove.deltaX) newValue2 += eMove.deltaX * 0.1 * (widget.options.step || 1); - if (widget.options.min != null && newValue2 < widget.options.min) { - newValue2 = widget.options.min; - } - if (widget.options.max != null && newValue2 > widget.options.max) { - newValue2 = widget.options.max; - } - if (newValue2 !== widget.value) setWidgetValue(this, node, widget, newValue2); - }; - break; - } - case "combo": { - let values; - let values_list; - pointer.onClick = (upEvent2) => { - const delta2 = x < 40 ? -1 : x > width - 40 ? 1 : 0; - values = widget.options.values; - if (typeof values === "function") { - values = values(widget, node); - } - values_list = null; - values_list = Array.isArray(values) ? values : Object.keys(values); - if (delta2) { - let index2 = -1; - this.last_mouseclick = 0; - index2 = typeof values === "object" ? values_list.indexOf(String(widget.value)) + delta2 : values_list.indexOf(widget.value) + delta2; - if (index2 >= values_list.length) index2 = values_list.length - 1; - if (index2 < 0) index2 = 0; - widget.value = Array.isArray(values) ? values[index2] : index2; - if (oldValue != widget.value) setWidgetValue(this, node, widget, widget.value); - this.dirty_canvas = true; - return; - } - const text_values = values != values_list ? Object.values(values) : values; - new LiteGraph.ContextMenu(text_values, { - scale: Math.max(1, this.ds.scale), - event: e, - className: "dark", - callback: /* @__PURE__ */ __name((value4) => { - widget.value = values != values_list ? text_values.indexOf(value4) : value4; - setWidgetValue(this, node, widget, widget.value); - this.dirty_canvas = true; - return false; - }, "callback") - }); - }; - break; - } - case "toggle": - pointer.onClick = () => { - widget.value = !widget.value; - setWidgetValue(this, node, widget, widget.value); - }; - break; - case "string": - case "text": - pointer.onClick = () => this.prompt( - "Value", - widget.value, - (v2) => setWidgetValue(this, node, widget, v2), - e, - widget.options ? widget.options.multiline : false - ); - break; - default: - if (widget.mouse) { - const result = widget.mouse(e, [x, y], node); - if (result != null) this.dirty_canvas = result; - } - break; } if (oldValue != widget.value) { - node.onWidgetChanged?.(widget.name, widget.value, oldValue, widget); - node.graph._version++; + node22.onWidgetChanged?.(widget.name, widget.value, oldValue, widget); + node22.graph._version++; } pointer.finally = () => { if (widget.mouse) { const { eUp } = pointer; const { canvasX, canvasY } = eUp; - widget.mouse(eUp, [canvasX - node.pos[0], canvasY - node.pos[1]], node); + widget.mouse(eUp, [canvasX - node22.pos[0], canvasY - node22.pos[1]], node22); } this.node_widget = null; }; - function setWidgetValue(canvas, node22, widget2, value4) { - const v2 = widget2.type === "number" ? Number(value4) : value4; - widget2.value = v2; - if (widget2.options?.property && node22.properties[widget2.options.property] !== void 0) { - node22.setProperty(widget2.options.property, v2); - } - widget2.callback?.(widget2.value, canvas, node22, pos, e); - node22.onWidgetChanged?.(widget2.name, v2, oldValue, widget2); - node22.graph._version++; - } - __name(setWidgetValue, "setWidgetValue"); } /** * Pointer middle button click processing. Part of {@link processMouseDown}. @@ -60713,7 +61736,7 @@ class LGraphCanvas { * @param node The node to process a click event for */ #processMiddleButton(e2, node22) { - const { pointer: pointer2 } = this; + const { pointer } = this; if (LiteGraph.middle_click_slot_add_default_node && node22 && this.allow_interaction && !this.read_only && !this.connecting_links && !node22.flags.collapsed) { let mClikSlot = false; let mClikSlot_index = false; @@ -60749,7 +61772,7 @@ class LGraphCanvas { !mClikSlot_isOut ? node_bounding[0] : node_bounding[0] + node_bounding[2], e2.canvasY - 80 ]; - pointer2.onClick = () => this.createDefaultNodeForSlot({ + pointer.onClick = () => this.createDefaultNodeForSlot({ nodeFrom: !mClikSlot_isOut ? null : node22, slotFrom: !mClikSlot_isOut ? null : mClikSlot_index, nodeTo: !mClikSlot_isOut ? node22 : null, @@ -60762,14 +61785,29 @@ class LGraphCanvas { } } if (this.allow_dragcanvas) { - pointer2.onDragStart = () => this.dragging_canvas = true; - pointer2.finally = () => this.dragging_canvas = false; + pointer.onDragStart = () => this.dragging_canvas = true; + pointer.finally = () => this.dragging_canvas = false; } } + #processDragZoom(e2) { + if (!e2.buttons) { + this.#dragZoomStart = null; + return; + } + const deltaY = e2.y - this.#dragZoomStart.pos[1]; + const startScale = this.#dragZoomStart.scale; + const scale = startScale - deltaY / 100; + this.ds.changeScale(scale, this.#dragZoomStart.pos); + this.graph.change(); + } /** * Called when a mouse move event has to be processed */ processMouseMove(e2) { + if (this.dragZoomEnabled && e2.ctrlKey && e2.shiftKey && this.#dragZoomStart) { + this.#processDragZoom(e2); + return; + } if (this.autoresize) this.resize(); if (this.set_canvas_dirty_on_mouse_event) this.dirty_canvas = true; if (!this.graph) return; @@ -60792,11 +61830,11 @@ class LGraphCanvas { } e2.dragging = this.last_mouse_dragging; if (this.node_widget) { - const [node3, widget2] = this.node_widget; - if (widget2?.mouse) { - const x2 = e2.canvasX - node3.pos[0]; - const y2 = e2.canvasY - node3.pos[1]; - const result = widget2.mouse(e2, [x2, y2], node3); + const [node222, widget] = this.node_widget; + if (widget?.mouse) { + const x2 = e2.canvasX - node222.pos[0]; + const y2 = e2.canvasY - node222.pos[1]; + const result = widget.mouse(e2, [x2, y2], node222); if (result != null) this.dirty_canvas = result; } } @@ -60824,9 +61862,9 @@ class LGraphCanvas { if (node22) { underPointer |= CanvasItem.Node; if (node22.redraw_on_mouse) this.dirty_canvas = true; - const pos2 = [0, 0]; - const inputId = this.isOverNodeInput(node22, e2.canvasX, e2.canvasY, pos2); - const outputId = this.isOverNodeOutput(node22, e2.canvasX, e2.canvasY, pos2); + const pos = [0, 0]; + const inputId = this.isOverNodeInput(node22, e2.canvasX, e2.canvasY, pos); + const outputId = this.isOverNodeOutput(node22, e2.canvasX, e2.canvasY, pos); const overWidget = this.getWidgetAtCursor(node22); if (!node22.mouseOver) { node22.mouseOver = { @@ -60863,14 +61901,14 @@ class LGraphCanvas { if (!linkOverWidget) { const targetSlotId = firstLink.node.findConnectByTypeSlot(true, node22, firstLink.output.type); if (targetSlotId !== null && targetSlotId >= 0) { - node22.getConnectionPos(true, targetSlotId, pos2); - highlightPos = pos2; + node22.getConnectionPos(true, targetSlotId, pos); + highlightPos = pos; highlightInput = node22.inputs[targetSlotId]; } } } else if (inputId != -1 && node22.inputs[inputId] && LiteGraph.isValidConnection(firstLink.output.type, node22.inputs[inputId].type)) { if (inputId != -1 && node22.inputs[inputId] && LiteGraph.isValidConnection(firstLink.output.type, node22.inputs[inputId].type)) { - highlightPos = pos2; + highlightPos = pos; highlightInput = node22.inputs[inputId]; } } @@ -60878,12 +61916,12 @@ class LGraphCanvas { if (inputId === -1 && outputId === -1) { const targetSlotId = firstLink.node.findConnectByTypeSlot(false, node22, firstLink.input.type); if (targetSlotId !== null && targetSlotId >= 0) { - node22.getConnectionPos(false, targetSlotId, pos2); - highlightPos = pos2; + node22.getConnectionPos(false, targetSlotId, pos); + highlightPos = pos; } } else { if (outputId != -1 && node22.outputs[outputId] && LiteGraph.isValidConnection(firstLink.input.type, node22.outputs[outputId].type)) { - highlightPos = pos2; + highlightPos = pos; } } } @@ -60944,15 +61982,15 @@ class LGraphCanvas { * @param pointer The pointer event that initiated the drag, e.g. pointerdown * @param sticky If `true`, the item is added to the selection - see {@link processSelect} */ - #startDraggingItems(item3, pointer2, sticky = false) { + #startDraggingItems(item3, pointer, sticky = false) { this.emitBeforeChange(); this.graph.beforeChange(); - pointer2.finally = () => { + pointer.finally = () => { this.isDragging = false; this.graph.afterChange(); this.emitAfterChange(); }; - this.processSelect(item3, pointer2.eDown, sticky); + this.processSelect(item3, pointer.eDown, sticky); this.isDragging = true; } /** @@ -60972,16 +62010,16 @@ class LGraphCanvas { */ processMouseUp(e2) { if (e2.isPrimary === false) return; - const { graph, pointer: pointer2 } = this; + const { graph, pointer } = this; if (!graph) return; LGraphCanvas.active_canvas = this; this.adjustMouseEvent(e2); const now2 = LiteGraph.getTime(); e2.click_time = now2 - this.last_mouseclick; - const isClick = pointer2.up(e2); + const isClick = pointer.up(e2); if (isClick === true) { - pointer2.isDown = false; - pointer2.isDouble = false; + pointer.isDown = false; + pointer.isDouble = false; this.connecting_links = null; this.dragging_canvas = false; graph.change(); @@ -61081,8 +62119,8 @@ class LGraphCanvas { } else if (e2.button === 2) { this.dirty_canvas = true; } - pointer2.isDown = false; - pointer2.isDouble = false; + pointer.isDown = false; + pointer.isDouble = false; graph.change(); e2.stopPropagation(); e2.preventDefault(); @@ -61107,8 +62145,8 @@ class LGraphCanvas { if (!this.graph || !this.allow_dragcanvas) return; const delta2 = e2.wheelDeltaY ?? e2.detail * -60; this.adjustMouseEvent(e2); - const pos2 = [e2.clientX, e2.clientY]; - if (this.viewport && !isPointInRect(pos2, this.viewport)) return; + const pos = [e2.clientX, e2.clientY]; + if (this.viewport && !isPointInRect(pos, this.viewport)) return; let scale = this.ds.scale; if (delta2 > 0) scale *= this.zoom_speed; else if (delta2 < 0) scale *= 1 / this.zoom_speed; @@ -61126,26 +62164,15 @@ class LGraphCanvas { const input = node22.inputs[i2]; const link_pos = node22.getConnectionPos(true, i2); let is_inside = false; - if (node22.horizontal) { - is_inside = isInRectangle( - canvasx, - canvasy, - link_pos[0] - 5, - link_pos[1] - 10, - 10, - 20 - ); - } else { - const width2 = 20 + ((input.label?.length ?? input.localized_name?.length ?? input.name?.length) || 3) * 7; - is_inside = isInRectangle( - canvasx, - canvasy, - link_pos[0] - 10, - link_pos[1] - 10, - width2, - 20 - ); - } + const width2 = 20 + ((input.label?.length ?? input.localized_name?.length ?? input.name?.length) || 3) * 7; + is_inside = isInRectangle( + canvasx, + canvasy, + link_pos[0] - 10, + link_pos[1] - 10, + width2, + 20 + ); if (is_inside) { if (slot_pos) { slot_pos[0] = link_pos[0]; @@ -61164,26 +62191,14 @@ class LGraphCanvas { if (node22.outputs) { for (let i2 = 0, l2 = node22.outputs.length; i2 < l2; ++i2) { const link_pos = node22.getConnectionPos(false, i2); - let is_inside = false; - if (node22.horizontal) { - is_inside = isInRectangle( - canvasx, - canvasy, - link_pos[0] - 5, - link_pos[1] - 10, - 10, - 20 - ); - } else { - is_inside = isInRectangle( - canvasx, - canvasy, - link_pos[0] - 10, - link_pos[1] - 10, - 40, - 20 - ); - } + const is_inside = isInRectangle( + canvasx, + canvasy, + link_pos[0] - 10, + link_pos[1] - 10, + 40, + 20 + ); if (is_inside) { if (slot_pos) { slot_pos[0] = link_pos[0]; @@ -61224,7 +62239,7 @@ class LGraphCanvas { block_default = true; } } else if (e2.keyCode === 86 && (e2.metaKey || e2.ctrlKey)) { - this.pasteFromClipboard(e2.shiftKey); + this.pasteFromClipboard({ connectInputs: e2.shiftKey }); } else if (e2.keyCode == 46 || e2.keyCode == 8) { if (e2.target.localName != "input" && e2.target.localName != "textarea") { this.deleteSelected(); @@ -61312,7 +62327,11 @@ class LGraphCanvas { * Pastes the items from the canvas "clipbaord" - a local storage variable. * @param connectInputs If `true`, always attempt to connect inputs of pasted nodes - including to nodes that were not pasted. */ - _pasteFromClipboard(connectInputs = false) { + _pasteFromClipboard(options22 = {}) { + const { + connectInputs = false, + position: position3 = this.graph_mouse + } = options22; if (!LiteGraph.ctrl_shift_v_paste_connect_unselected_outputs && connectInputs) return; const data26 = localStorage.getItem("litegrapheditor_clipboard"); if (!data26) return; @@ -61395,17 +62414,17 @@ class LGraphCanvas { if (!reroute.validateLinks(graph.links)) graph.removeReroute(reroute.id); } for (const item3 of created4) { - item3.pos[0] += this.graph_mouse[0] - offsetX; - item3.pos[1] += this.graph_mouse[1] - offsetY; + item3.pos[0] += position3[0] - offsetX; + item3.pos[1] += position3[1] - offsetY; } this.selectItems(created4); graph.afterChange(); return results; } - pasteFromClipboard(isConnectUnselected = false) { + pasteFromClipboard(options22 = {}) { this.emitBeforeChange(); try { - this._pasteFromClipboard(isConnectUnselected); + this._pasteFromClipboard(options22); } finally { this.emitAfterChange(); } @@ -61420,8 +62439,8 @@ class LGraphCanvas { const y2 = e2.clientY; const is_inside = !this.viewport || isInRect(x2, y2, this.viewport); if (!is_inside) return; - const pos2 = [e2.canvasX, e2.canvasY]; - const node22 = this.graph ? this.graph.getNodeOnPos(pos2[0], pos2[1]) : null; + const pos = [e2.canvasX, e2.canvasY]; + const node22 = this.graph ? this.graph.getNodeOnPos(pos[0], pos[1]) : null; if (!node22) { const r2 = this.onDropItem?.(e2); if (!r2) this.checkDropItem(e2); @@ -61731,14 +62750,14 @@ class LGraphCanvas { /** * converts a coordinate from graph coordinates to canvas2D coordinates */ - convertOffsetToCanvas(pos2, out) { - return this.ds.convertOffsetToCanvas(pos2, out); + convertOffsetToCanvas(pos, out) { + return this.ds.convertOffsetToCanvas(pos, out); } /** * converts a coordinate from Canvas2D coordinates to graph space */ - convertCanvasToOffset(pos2, out) { - return this.ds.convertCanvasToOffset(pos2, out); + convertCanvasToOffset(pos, out) { + return this.ds.convertCanvasToOffset(pos, out); } // converts event coordinates from canvas2D to graph coordinates convertEventToCanvasOffset(e2) { @@ -61811,7 +62830,7 @@ class LGraphCanvas { } const ctx = this.ctx; if (!ctx) return; - const canvas = this.canvas; + const canvas2 = this.canvas; if (ctx.start2D && !this.viewport) { ctx.start2D(); ctx.restore(); @@ -61827,7 +62846,7 @@ class LGraphCanvas { this.#snapToGrid = this.#shiftDown || LiteGraph.alwaysSnapToGrid ? this.graph.getSnapToGridSize() : void 0; if (this.clear_background) { if (area) ctx.clearRect(area[0], area[1], area[2], area[3]); - else ctx.clearRect(0, 0, canvas.width, canvas.height); + else ctx.clearRect(0, 0, canvas2.width, canvas2.height); } if (this.bgcanvas == this.canvas) { this.drawBackCanvas(); @@ -61841,7 +62860,7 @@ class LGraphCanvas { this.bgcanvas.height / scale ); } - this.onRender?.(canvas, ctx); + this.onRender?.(canvas2, ctx); if (this.show_info) { this.renderInfo(ctx, area ? area[0] : 0, area ? area[1] : 0); } @@ -61874,9 +62893,9 @@ class LGraphCanvas { let connDir = connInOrOut?.dir; if (connDir == null) { if (link2.output) - connDir = link2.node.horizontal ? LinkDirection.DOWN : LinkDirection.RIGHT; + connDir = LinkDirection.RIGHT; else - connDir = link2.node.horizontal ? LinkDirection.UP : LinkDirection.LEFT; + connDir = LinkDirection.LEFT; } const connShape = connInOrOut?.shape; switch (connType) { @@ -61886,11 +62905,11 @@ class LGraphCanvas { default: link_color = LiteGraph.CONNECTING_LINK_COLOR; } - const pos2 = this.graph.reroutes.get(link2.afterRerouteId)?.pos ?? link2.pos; + const pos = this.graph.reroutes.get(link2.afterRerouteId)?.pos ?? link2.pos; const highlightPos = this.#getHighlightPosition(); this.renderLink( ctx, - pos2, + pos, highlightPos, null, false, @@ -61901,7 +62920,7 @@ class LGraphCanvas { ); ctx.beginPath(); if (connType === LiteGraph.EVENT || connShape === RenderShape.BOX) { - ctx.rect(pos2[0] - 6 + 0.5, pos2[1] - 5 + 0.5, 14, 10); + ctx.rect(pos[0] - 6 + 0.5, pos[1] - 5 + 0.5, 14, 10); ctx.fill(); ctx.beginPath(); ctx.rect( @@ -61911,12 +62930,12 @@ class LGraphCanvas { 10 ); } else if (connShape === RenderShape.ARROW) { - ctx.moveTo(pos2[0] + 8, pos2[1] + 0.5); - ctx.lineTo(pos2[0] - 4, pos2[1] + 6 + 0.5); - ctx.lineTo(pos2[0] - 4, pos2[1] - 6 + 0.5); + ctx.moveTo(pos[0] + 8, pos[1] + 0.5); + ctx.lineTo(pos[0] - 4, pos[1] + 6 + 0.5); + ctx.lineTo(pos[0] - 4, pos[1] - 6 + 0.5); ctx.closePath(); } else { - ctx.arc(pos2[0], pos2[1], 4, 0, Math.PI * 2); + ctx.arc(pos[0], pos[1], 4, 0, Math.PI * 2); ctx.fill(); ctx.beginPath(); ctx.arc(this.graph_mouse[0], this.graph_mouse[1], 4, 0, Math.PI * 2); @@ -61991,7 +63010,7 @@ class LGraphCanvas { const { strokeStyle, lineWidth } = ctx; const area = node22.boundingRect; const gap = 3; - const radius = this.round_radius + gap; + const radius = LiteGraph.ROUND_RADIUS + gap; const x2 = area[0] - gap; const y2 = area[1] - gap; const width2 = area[2] + gap * 2; @@ -62046,10 +63065,10 @@ class LGraphCanvas { * draws the back canvas (the one containing the background and the connections) */ drawBackCanvas() { - const canvas = this.bgcanvas; - if (canvas.width != this.canvas.width || canvas.height != this.canvas.height) { - canvas.width = this.canvas.width; - canvas.height = this.canvas.height; + const canvas2 = this.bgcanvas; + if (canvas2.width != this.canvas.width || canvas2.height != this.canvas.height) { + canvas2.width = this.canvas.width; + canvas2.height = this.canvas.height; } if (!this.bgctx) { this.bgctx = this.bgcanvas.getContext("2d"); @@ -62060,24 +63079,7 @@ class LGraphCanvas { if (this.clear_background) { ctx.clearRect(viewport[0], viewport[1], viewport[2], viewport[3]); } - if (this._graph_stack?.length) { - ctx.save(); - const subgraph_node = this.graph._subgraph_node; - ctx.strokeStyle = subgraph_node.bgcolor; - ctx.lineWidth = 10; - ctx.strokeRect(1, 1, canvas.width - 2, canvas.height - 2); - ctx.lineWidth = 1; - ctx.font = "40px Arial"; - ctx.textAlign = "center"; - ctx.fillStyle = subgraph_node.bgcolor || "#AAA"; - let title = ""; - for (let i2 = 1; i2 < this._graph_stack.length; ++i2) { - title += this._graph_stack[i2]._subgraph_node.getTitle() + " >> "; - } - ctx.fillText(title + subgraph_node.getTitle(), canvas.width * 0.5, 40); - ctx.restore(); - } - const bg_already_painted = this.onRenderBackground ? this.onRenderBackground(canvas, ctx) : false; + const bg_already_painted = this.onRenderBackground ? this.onRenderBackground(canvas2, ctx) : false; if (!this.viewport) { const scale = window.devicePixelRatio; ctx.restore(); @@ -62132,12 +63134,12 @@ class LGraphCanvas { ctx.imageSmoothingEnabled = true; } if (this.graph._groups.length) { - this.drawGroups(canvas, ctx); + this.drawGroups(canvas2, ctx); } this.onDrawBackground?.(ctx, this.visible_area); if (this.render_canvas_border) { ctx.strokeStyle = "#235"; - ctx.strokeRect(0, 0, canvas.width, canvas.height); + ctx.strokeRect(0, 0, canvas2.width, canvas2.height); } if (this.render_connections_shadows) { ctx.shadowColor = "#000"; @@ -62160,9 +63162,9 @@ class LGraphCanvas { */ drawNode(node22, ctx) { this.current_node = node22; - const color2 = node22.color || node22.constructor.color || LiteGraph.NODE_DEFAULT_COLOR; - const bgcolor = node22.bgcolor || node22.constructor.bgcolor || LiteGraph.NODE_DEFAULT_BGCOLOR; - const low_quality = this.ds.scale < 0.6; + const color2 = node22.renderingColor; + const bgcolor = node22.renderingBgColor; + const low_quality = this.low_quality; const editor_alpha = this.editor_alpha; ctx.globalAlpha = editor_alpha; if (this.render_shadows && !low_quality) { @@ -62178,7 +63180,6 @@ class LGraphCanvas { const shape = node22._shape || RenderShape.BOX; const size = LGraphCanvas.#temp_vec2; LGraphCanvas.#temp_vec2.set(node22.size); - const horizontal2 = node22.horizontal; if (node22.flags.collapsed) { ctx.font = this.inner_text_font; const title = node22.getTitle ? node22.getTitle() : node22.title; @@ -62217,152 +63218,19 @@ class LGraphCanvas { ctx.shadowColor = "transparent"; ctx.strokeStyle = LiteGraph.NODE_BOX_OUTLINE_COLOR; node22.onDrawForeground?.(ctx, this, this.canvas); - ctx.textAlign = horizontal2 ? "center" : "left"; ctx.font = this.inner_text_font; - const render_text = !low_quality; - const highlightColour = LiteGraph.NODE_TEXT_HIGHLIGHT_COLOR ?? LiteGraph.NODE_SELECTED_TITLE_COLOR ?? LiteGraph.NODE_TEXT_COLOR; - const out_slot = this.connecting_links?.[0]?.output; - const in_slot = this.connecting_links?.[0]?.input; - ctx.lineWidth = 1; - let max_y = 0; - const slot_pos = new Float32Array(2); - if (!node22.flags.collapsed) { - if (node22.inputs) { - for (let i2 = 0; i2 < node22.inputs.length; i2++) { - const slot = node22.inputs[i2]; - const slot_type = slot.type; - const isValid2 = !this.connecting_links || out_slot && LiteGraph.isValidConnection(slot.type, out_slot.type); - const highlight = isValid2 && node22.mouseOver?.inputId === i2; - const label_color = highlight ? highlightColour : LiteGraph.NODE_TEXT_COLOR; - ctx.globalAlpha = isValid2 ? editor_alpha : 0.4 * editor_alpha; - ctx.fillStyle = slot.link != null ? slot.color_on || this.default_connection_color_byType[slot_type] || this.default_connection_color.input_on : slot.color_off || this.default_connection_color_byTypeOff[slot_type] || this.default_connection_color_byType[slot_type] || this.default_connection_color.input_off; - const pos2 = node22.getConnectionPos(true, i2, slot_pos); - pos2[0] -= node22.pos[0]; - pos2[1] -= node22.pos[1]; - if (max_y < pos2[1] + LiteGraph.NODE_SLOT_HEIGHT * 0.5) { - max_y = pos2[1] + LiteGraph.NODE_SLOT_HEIGHT * 0.5; - } - drawSlot(ctx, slot, pos2, { - horizontal: horizontal2, - low_quality, - render_text, - label_color, - label_position: LabelPosition.Right, - // Input slot is not stroked. - do_stroke: false, - highlight - }); - } - } - ctx.textAlign = horizontal2 ? "center" : "right"; - ctx.strokeStyle = "black"; - if (node22.outputs) { - for (let i2 = 0; i2 < node22.outputs.length; i2++) { - const slot = node22.outputs[i2]; - const slot_type = slot.type; - const isValid2 = !this.connecting_links || in_slot && LiteGraph.isValidConnection(slot_type, in_slot.type); - const highlight = isValid2 && node22.mouseOver?.outputId === i2; - const label_color = highlight ? highlightColour : LiteGraph.NODE_TEXT_COLOR; - ctx.globalAlpha = isValid2 ? editor_alpha : 0.4 * editor_alpha; - const pos2 = node22.getConnectionPos(false, i2, slot_pos); - pos2[0] -= node22.pos[0]; - pos2[1] -= node22.pos[1]; - if (max_y < pos2[1] + LiteGraph.NODE_SLOT_HEIGHT * 0.5) { - max_y = pos2[1] + LiteGraph.NODE_SLOT_HEIGHT * 0.5; - } - ctx.fillStyle = slot.links && slot.links.length ? slot.color_on || this.default_connection_color_byType[slot_type] || this.default_connection_color.output_on : slot.color_off || this.default_connection_color_byTypeOff[slot_type] || this.default_connection_color_byType[slot_type] || this.default_connection_color.output_off; - drawSlot(ctx, slot, pos2, { - horizontal: horizontal2, - low_quality, - render_text, - label_color, - label_position: LabelPosition.Left, - do_stroke: true, - highlight - }); - } - } + if (!node22.collapsed) { + const max_y = node22.drawSlots(ctx, { + colorContext: this, + connectingLink: this.connecting_links?.[0], + editorAlpha: this.editor_alpha, + lowQuality: this.low_quality + }); ctx.textAlign = "left"; ctx.globalAlpha = 1; - if (node22.widgets) { - let widgets_y = max_y; - if (horizontal2 || node22.widgets_up) { - widgets_y = 2; - } - if (node22.widgets_start_y != null) widgets_y = node22.widgets_start_y; - this.drawNodeWidgets( - node22, - widgets_y, - ctx, - this.node_widget && this.node_widget[0] == node22 ? this.node_widget[1] : null - ); - } + this.drawNodeWidgets(node22, max_y, ctx); } else if (this.render_collapsed_slots) { - let input_slot = null; - let output_slot = null; - let slot; - if (node22.inputs) { - for (let i2 = 0; i2 < node22.inputs.length; i2++) { - slot = node22.inputs[i2]; - if (slot.link == null) { - continue; - } - input_slot = slot; - break; - } - } - if (node22.outputs) { - for (let i2 = 0; i2 < node22.outputs.length; i2++) { - slot = node22.outputs[i2]; - if (!slot.links || !slot.links.length) { - continue; - } - output_slot = slot; - } - } - if (input_slot) { - let x2 = 0; - let y2 = LiteGraph.NODE_TITLE_HEIGHT * -0.5; - if (horizontal2) { - x2 = node22._collapsed_width * 0.5; - y2 = -LiteGraph.NODE_TITLE_HEIGHT; - } - ctx.fillStyle = "#686"; - ctx.beginPath(); - if (slot.type === LiteGraph.EVENT || slot.shape === RenderShape.BOX) { - ctx.rect(x2 - 7 + 0.5, y2 - 4, 14, 8); - } else if (slot.shape === RenderShape.ARROW) { - ctx.moveTo(x2 + 8, y2); - ctx.lineTo(x2 + -4, y2 - 4); - ctx.lineTo(x2 + -4, y2 + 4); - ctx.closePath(); - } else { - ctx.arc(x2, y2, 4, 0, Math.PI * 2); - } - ctx.fill(); - } - if (output_slot) { - let x2 = node22._collapsed_width; - let y2 = LiteGraph.NODE_TITLE_HEIGHT * -0.5; - if (horizontal2) { - x2 = node22._collapsed_width * 0.5; - y2 = 0; - } - ctx.fillStyle = "#686"; - ctx.strokeStyle = "black"; - ctx.beginPath(); - if (slot.type === LiteGraph.EVENT || slot.shape === RenderShape.BOX) { - ctx.rect(x2 - 7 + 0.5, y2 - 4, 14, 8); - } else if (slot.shape === RenderShape.ARROW) { - ctx.moveTo(x2 + 6, y2); - ctx.lineTo(x2 - 6, y2 - 4); - ctx.lineTo(x2 - 6, y2 + 4); - ctx.closePath(); - } else { - ctx.arc(x2, y2, 4, 0, Math.PI * 2); - } - ctx.fill(); - } + node22.drawCollapsedSlots(ctx); } if (node22.clip_area) { ctx.restore(); @@ -62378,19 +63246,19 @@ class LGraphCanvas { * @todo Split tooltip from hover, so it can be drawn / eased separately */ drawLinkTooltip(ctx, link2) { - const pos2 = link2._pos; + const pos = link2._pos; ctx.fillStyle = "black"; ctx.beginPath(); if (this.linkMarkerShape === LinkMarkerShape.Arrow) { const transform2 = ctx.getTransform(); - ctx.translate(pos2[0], pos2[1]); + ctx.translate(pos[0], pos[1]); if (Number.isFinite(link2._centreAngle)) ctx.rotate(link2._centreAngle); ctx.moveTo(-2, -3); ctx.lineTo(4, 0); ctx.lineTo(-2, 3); ctx.setTransform(transform2); } else if (this.linkMarkerShape == null || this.linkMarkerShape === LinkMarkerShape.Circle) { - ctx.arc(pos2[0], pos2[1], 3, 0, Math.PI * 2); + ctx.arc(pos[0], pos[1], 3, 0, Math.PI * 2); } ctx.fill(); const data26 = link2.data; @@ -62419,15 +63287,15 @@ class LGraphCanvas { ctx.shadowBlur = 3; ctx.fillStyle = "#454"; ctx.beginPath(); - ctx.roundRect(pos2[0] - w2 * 0.5, pos2[1] - 15 - h2, w2, h2, [3]); - ctx.moveTo(pos2[0] - 10, pos2[1] - 15); - ctx.lineTo(pos2[0] + 10, pos2[1] - 15); - ctx.lineTo(pos2[0], pos2[1] - 5); + ctx.roundRect(pos[0] - w2 * 0.5, pos[1] - 15 - h2, w2, h2, [3]); + ctx.moveTo(pos[0] - 10, pos[1] - 15); + ctx.lineTo(pos[0] + 10, pos[1] - 15); + ctx.lineTo(pos[0], pos[1] - 5); ctx.fill(); ctx.shadowColor = "transparent"; ctx.textAlign = "center"; ctx.fillStyle = "#CEC"; - ctx.fillText(text2, pos2[0], pos2[1] - 15 - h2 * 0.3); + ctx.fillText(text2, pos[0], pos[1] - 15 - h2 * 0.3); } /** * Draws the shape of the given node on the canvas @@ -62442,10 +63310,10 @@ class LGraphCanvas { ctx.strokeStyle = fgcolor; ctx.fillStyle = LiteGraph.use_legacy_node_error_indicator ? "#F00" : bgcolor; const title_height = LiteGraph.NODE_TITLE_HEIGHT; - const low_quality = this.ds.scale < 0.5; + const low_quality = this.low_quality; const { collapsed: collapsed2 } = node22.flags; - const shape = node22._shape || node22.constructor.shape || LiteGraph.NODE_DEFAULT_SHAPE; - const { title_mode } = node22.constructor; + const shape = node22.renderingShape; + const title_mode = node22.title_mode; const render_title = title_mode == TitleMode.TRANSPARENT_TITLE || title_mode == TitleMode.NO_TITLE ? false : true; const area = LGraphCanvas.#tmp_area; node22.measure(area); @@ -62461,14 +63329,14 @@ class LGraphCanvas { area[1], area[2], area[3], - shape == RenderShape.CARD ? [this.round_radius, this.round_radius, 0, 0] : [this.round_radius] + shape == RenderShape.CARD ? [LiteGraph.ROUND_RADIUS, LiteGraph.ROUND_RADIUS, 0, 0] : [LiteGraph.ROUND_RADIUS] ); } else if (shape == RenderShape.CIRCLE) { ctx.arc(size[0] * 0.5, size[1] * 0.5, size[0] * 0.5, 0, Math.PI * 2); } ctx.fill(); if (node22.has_errors && !LiteGraph.use_legacy_node_error_indicator) { - this.strokeShape(ctx, area, { + strokeShape(ctx, area, { shape, title_mode, title_height, @@ -62484,161 +63352,29 @@ class LGraphCanvas { ctx.fillRect(0, -1, area[2], 2); } ctx.shadowColor = "transparent"; - node22.onDrawBackground?.(ctx, this, this.canvas, this.graph_mouse); + node22.onDrawBackground?.(ctx); if (render_title || title_mode == TitleMode.TRANSPARENT_TITLE) { - if (node22.onDrawTitleBar) { - node22.onDrawTitleBar(ctx, title_height, size, this.ds.scale, fgcolor); - } else if (title_mode != TitleMode.TRANSPARENT_TITLE && (node22.constructor.title_color || this.render_title_colored)) { - const title_color = node22.constructor.title_color || fgcolor; - if (collapsed2) { - ctx.shadowColor = LiteGraph.DEFAULT_SHADOW_COLOR; - } - ctx.fillStyle = title_color; - ctx.beginPath(); - if (shape == RenderShape.BOX || low_quality) { - ctx.rect(0, -title_height, size[0], title_height); - } else if (shape == RenderShape.ROUND || shape == RenderShape.CARD) { - ctx.roundRect( - 0, - -title_height, - size[0], - title_height, - collapsed2 ? [this.round_radius] : [this.round_radius, this.round_radius, 0, 0] - ); - } - ctx.fill(); - ctx.shadowColor = "transparent"; - } - let colState = LiteGraph.node_box_coloured_by_mode && LiteGraph.NODE_MODES_COLORS[node22.mode] ? LiteGraph.NODE_MODES_COLORS[node22.mode] : false; - if (LiteGraph.node_box_coloured_when_on) { - colState = node22.action_triggered ? "#FFF" : node22.execute_triggered ? "#AAA" : colState; - } - const box_size = 10; - if (node22.onDrawTitleBox) { - node22.onDrawTitleBox(ctx, title_height, size, this.ds.scale); - } else if (shape == RenderShape.ROUND || shape == RenderShape.CIRCLE || shape == RenderShape.CARD) { - if (low_quality) { - ctx.fillStyle = "black"; - ctx.beginPath(); - ctx.arc( - title_height * 0.5, - title_height * -0.5, - box_size * 0.5 + 1, - 0, - Math.PI * 2 - ); - ctx.fill(); - } - ctx.fillStyle = node22.boxcolor || colState || LiteGraph.NODE_DEFAULT_BOXCOLOR; - if (low_quality) - ctx.fillRect( - title_height * 0.5 - box_size * 0.5, - title_height * -0.5 - box_size * 0.5, - box_size, - box_size - ); - else { - ctx.beginPath(); - ctx.arc( - title_height * 0.5, - title_height * -0.5, - box_size * 0.5, - 0, - Math.PI * 2 - ); - ctx.fill(); - } - } else { - if (low_quality) { - ctx.fillStyle = "black"; - ctx.fillRect( - (title_height - box_size) * 0.5 - 1, - (title_height + box_size) * -0.5 - 1, - box_size + 2, - box_size + 2 - ); - } - ctx.fillStyle = node22.boxcolor || colState || LiteGraph.NODE_DEFAULT_BOXCOLOR; - ctx.fillRect( - (title_height - box_size) * 0.5, - (title_height + box_size) * -0.5, - box_size, - box_size - ); - } + node22.drawTitleBarBackground(ctx, { + scale: this.ds.scale, + low_quality + }); + node22.drawTitleBox(ctx, { + scale: this.ds.scale, + low_quality, + box_size: 10 + }); ctx.globalAlpha = old_alpha; - if (node22.onDrawTitleText) { - node22.onDrawTitleText( - ctx, - title_height, - size, - this.ds.scale, - this.title_text_font, - selected2 - ); - } - if (!low_quality) { - ctx.font = this.title_text_font; - const rawTitle = node22.getTitle() ?? `❌ ${node22.type}`; - const title = String(rawTitle) + (node22.pinned ? "📌" : ""); - if (title) { - if (selected2) { - ctx.fillStyle = LiteGraph.NODE_SELECTED_TITLE_COLOR; - } else { - ctx.fillStyle = node22.constructor.title_text_color || this.node_title_color; - } - if (collapsed2) { - ctx.textAlign = "left"; - ctx.fillText( - title.substr(0, 20), - // avoid urls too long - title_height, - // + measure.width * 0.5, - LiteGraph.NODE_TITLE_TEXT_Y - title_height - ); - ctx.textAlign = "left"; - } else { - ctx.textAlign = "left"; - ctx.fillText( - title, - title_height, - LiteGraph.NODE_TITLE_TEXT_Y - title_height - ); - } - } - } - if (!collapsed2 && node22.subgraph && !node22.skip_subgraph_button) { - const w2 = LiteGraph.NODE_TITLE_HEIGHT; - const x2 = node22.size[0] - w2; - const over = LiteGraph.isInsideRectangle( - this.graph_mouse[0] - node22.pos[0], - this.graph_mouse[1] - node22.pos[1], - x2 + 2, - -w2 + 2, - w2 - 4, - w2 - 4 - ); - ctx.fillStyle = over ? "#888" : "#555"; - if (shape == RenderShape.BOX || low_quality) { - ctx.fillRect(x2 + 2, -w2 + 2, w2 - 4, w2 - 4); - } else { - ctx.beginPath(); - ctx.roundRect(x2 + 2, -w2 + 2, w2 - 4, w2 - 4, [4]); - ctx.fill(); - } - ctx.fillStyle = "#333"; - ctx.beginPath(); - ctx.moveTo(x2 + w2 * 0.2, -w2 * 0.6); - ctx.lineTo(x2 + w2 * 0.8, -w2 * 0.6); - ctx.lineTo(x2 + w2 * 0.5, -w2 * 0.3); - ctx.fill(); - } + node22.drawTitleText(ctx, { + scale: this.ds.scale, + default_title_color: this.node_title_color, + low_quality + }); node22.onDrawTitle?.(ctx); } if (selected2) { node22.onBounding?.(area); const padding = node22.has_errors && !LiteGraph.use_legacy_node_error_indicator ? 20 : void 0; - this.strokeShape(ctx, area, { + strokeShape(ctx, area, { shape, title_height, title_mode, @@ -62649,75 +63385,6 @@ class LGraphCanvas { if (node22.execute_triggered > 0) node22.execute_triggered--; if (node22.action_triggered > 0) node22.action_triggered--; } - /** - * Draws only the path of a shape on the canvas, without filling. - * Used to draw indicators for node status, e.g. "selected". - * @param ctx The 2D context to draw on - * @param area The position and size of the shape to render - */ - strokeShape(ctx, area, { - /** The shape to render */ - shape = RenderShape.BOX, - /** Shape will extend above the Y-axis 0 by this amount */ - title_height = LiteGraph.NODE_TITLE_HEIGHT, - /** @deprecated This is node-specific: it should be removed entirely, and behaviour defined by the caller more explicitly */ - title_mode = TitleMode.NORMAL_TITLE, - /** The colour that should be drawn */ - colour = LiteGraph.NODE_BOX_OUTLINE_COLOR, - /** The distance between the edge of the {@link area} and the middle of the line */ - padding = 6, - /** @deprecated This is node-specific: it should be removed entirely, and behaviour defined by the caller more explicitly */ - collapsed: collapsed2 = false, - /** Thickness of the line drawn (`lineWidth`) */ - thickness = 1 - } = {}) { - if (title_mode === TitleMode.TRANSPARENT_TITLE) { - area[1] -= title_height; - area[3] += title_height; - } - const { lineWidth, strokeStyle } = ctx; - ctx.lineWidth = thickness; - ctx.globalAlpha = 0.8; - ctx.strokeStyle = colour; - ctx.beginPath(); - const [x2, y2, width2, height] = area; - switch (shape) { - case RenderShape.BOX: { - ctx.rect( - x2 - padding, - y2 - padding, - width2 + 2 * padding, - height + 2 * padding - ); - break; - } - case RenderShape.ROUND: - case RenderShape.CARD: { - const radius = this.round_radius + padding; - const isCollapsed = shape === RenderShape.CARD && collapsed2; - const cornerRadii = isCollapsed || shape === RenderShape.ROUND ? [radius] : [radius, 2, radius, 2]; - ctx.roundRect( - x2 - padding, - y2 - padding, - width2 + 2 * padding, - height + 2 * padding, - cornerRadii - ); - break; - } - case RenderShape.CIRCLE: { - const centerX = x2 + width2 / 2; - const centerY = y2 + height / 2; - const radius = Math.max(width2, height) / 2 + padding; - ctx.arc(centerX, centerY, radius, 0, Math.PI * 2); - break; - } - } - ctx.stroke(); - ctx.lineWidth = lineWidth; - ctx.strokeStyle = strokeStyle; - ctx.globalAlpha = 1; - } /** * Draws a snap guide for a {@link Positionable} item. * @@ -62732,9 +63399,9 @@ class LGraphCanvas { drawSnapGuide(ctx, item3, shape = RenderShape.ROUND) { const snapGuide = LGraphCanvas.#temp; snapGuide.set(item3.boundingRect); - const { pos: pos2 } = item3; - const offsetX = pos2[0] - snapGuide[0]; - const offsetY = pos2[1] - snapGuide[1]; + const { pos } = item3; + const offsetX = pos[0] - snapGuide[0]; + const offsetY = pos[1] - snapGuide[1]; snapGuide[0] += offsetX; snapGuide[1] += offsetY; snapPoint(snapGuide, this.#snapToGrid); @@ -62806,8 +63473,8 @@ class LGraphCanvas { const start_slot = start_node.outputs[outputId]; const end_slot = node22.inputs[i2]; if (!start_slot || !end_slot) continue; - const start_dir = start_slot.dir || (start_node.horizontal ? LinkDirection.DOWN : LinkDirection.RIGHT); - const end_dir = end_slot.dir || (node22.horizontal ? LinkDirection.UP : LinkDirection.LEFT); + const start_dir = start_slot.dir || LinkDirection.RIGHT; + const end_dir = end_slot.dir || LinkDirection.LEFT; if (reroutes.length) { let startControl; const l22 = reroutes.length; @@ -62916,7 +63583,7 @@ class LGraphCanvas { const startDir = start_dir || LinkDirection.RIGHT; const endDir = end_dir || LinkDirection.LEFT; const dist3 = this.links_render_mode == LinkRenderType.SPLINE_LINK && (!endControl || !startControl) ? distance(a2, b2) : null; - if (this.render_connections_border && this.ds.scale > 0.6) { + if (this.render_connections_border && !this.low_quality) { ctx.lineWidth = this.connections_width + 4; } ctx.lineJoin = "round"; @@ -62927,7 +63594,7 @@ class LGraphCanvas { if (linkSegment) linkSegment.path = path; const innerA = LGraphCanvas.#lTempA; const innerB = LGraphCanvas.#lTempB; - const pos2 = linkSegment?._pos ?? [0, 0]; + const pos = linkSegment?._pos ?? [0, 0]; for (let i2 = 0; i2 < num_sublines; i2 += 1) { const offsety = (i2 - (num_sublines - 1) * 0.5) * 5; innerA[0] = a2[0]; @@ -62956,13 +63623,13 @@ class LGraphCanvas { b2[0], b2[1] + offsety ); - findPointOnCurve(pos2, a2, b2, innerA, innerB, 0.5); + findPointOnCurve(pos, a2, b2, innerA, innerB, 0.5); if (linkSegment && this.linkMarkerShape === LinkMarkerShape.Arrow) { const justPastCentre = LGraphCanvas.#lTempC; findPointOnCurve(justPastCentre, a2, b2, innerA, innerB, 0.51); linkSegment._centreAngle = Math.atan2( - justPastCentre[1] - pos2[1], - justPastCentre[0] - pos2[0] + justPastCentre[1] - pos[1], + justPastCentre[0] - pos[0] ); } } else if (this.links_render_mode == LinkRenderType.LINEAR_LINK) { @@ -62999,8 +63666,8 @@ class LGraphCanvas { path.lineTo(innerA[0], innerA[1] + offsety); path.lineTo(innerB[0], innerB[1] + offsety); path.lineTo(b2[0], b2[1] + offsety); - pos2[0] = (innerA[0] + innerB[0]) * 0.5; - pos2[1] = (innerA[1] + innerB[1]) * 0.5; + pos[0] = (innerA[0] + innerB[0]) * 0.5; + pos[1] = (innerA[1] + innerB[1]) * 0.5; if (linkSegment && this.linkMarkerShape === LinkMarkerShape.Arrow) { linkSegment._centreAngle = Math.atan2( innerB[1] - innerA[1], @@ -63025,8 +63692,8 @@ class LGraphCanvas { path.lineTo(midX, innerB[1]); path.lineTo(innerB[0], innerB[1]); path.lineTo(b2[0], b2[1]); - pos2[0] = midX; - pos2[1] = (innerA[1] + innerB[1]) * 0.5; + pos[0] = midX; + pos[1] = (innerA[1] + innerB[1]) * 0.5; if (linkSegment && this.linkMarkerShape === LinkMarkerShape.Arrow) { const diff2 = innerB[1] - innerA[1]; if (Math.abs(diff2) < 4) linkSegment._centreAngle = 0; @@ -63037,7 +63704,7 @@ class LGraphCanvas { return; } } - if (this.render_connections_border && this.ds.scale > 0.6 && !skip_border) { + if (this.render_connections_border && !this.low_quality && !skip_border) { ctx.strokeStyle = "rgba(0,0,0,0.5)"; ctx.stroke(path); } @@ -63080,7 +63747,7 @@ class LGraphCanvas { ctx.beginPath(); if (this.linkMarkerShape === LinkMarkerShape.Arrow) { const transform2 = ctx.getTransform(); - ctx.translate(pos2[0], pos2[1]); + ctx.translate(pos[0], pos[1]); ctx.rotate(linkSegment._centreAngle); ctx.moveTo(-3.2, -5); ctx.lineTo(7, 0); @@ -63088,7 +63755,7 @@ class LGraphCanvas { ctx.fill(); ctx.setTransform(transform2); } else if (this.linkMarkerShape == null || this.linkMarkerShape === LinkMarkerShape.Circle) { - ctx.arc(pos2[0], pos2[1], 5, 0, Math.PI * 2); + ctx.arc(pos[0], pos[1], 5, 0, Math.PI * 2); } ctx.fill(); } @@ -63186,245 +63853,23 @@ class LGraphCanvas { } /** * draws the widgets stored inside a node + * @deprecated Use {@link LGraphNode.drawWidgets} instead. + * @note Currently there are extensions hijacking this function, so we cannot remove it. */ - drawNodeWidgets(node22, posY, ctx, active_widget) { - if (!node22.widgets || !node22.widgets.length) return 0; - const width2 = node22.size[0]; - const widgets = node22.widgets; - posY += 2; - const H = LiteGraph.NODE_WIDGET_HEIGHT; - const show_text = this.ds.scale > 0.5; - ctx.save(); - ctx.globalAlpha = this.editor_alpha; - const background_color = LiteGraph.WIDGET_BGCOLOR; - const text_color = LiteGraph.WIDGET_TEXT_COLOR; - const secondary_text_color = LiteGraph.WIDGET_SECONDARY_TEXT_COLOR; - const margin = 15; - for (let i2 = 0; i2 < widgets.length; ++i2) { - const w2 = widgets[i2]; - if (w2.hidden || w2.advanced && !node22.showAdvanced) continue; - const y2 = w2.y || posY; - const outline_color = w2.advanced ? LiteGraph.WIDGET_ADVANCED_OUTLINE_COLOR : LiteGraph.WIDGET_OUTLINE_COLOR; - if (w2 === this.link_over_widget) { - ctx.fillStyle = this.default_connection_color_byType[this.link_over_widget_type] || this.default_connection_color.input_on; - drawSlot(ctx, {}, [10, y2 + 10], {}); - } - w2.last_y = y2; - ctx.strokeStyle = outline_color; - ctx.fillStyle = "#222"; - ctx.textAlign = "left"; - if (w2.disabled) ctx.globalAlpha *= 0.5; - const widget_width = w2.width || width2; - switch (w2.type) { - case "button": - ctx.fillStyle = background_color; - if (w2.clicked) { - ctx.fillStyle = "#AAA"; - w2.clicked = false; - this.dirty_canvas = true; - } - ctx.fillRect(margin, y2, widget_width - margin * 2, H); - if (show_text && !w2.disabled) - ctx.strokeRect(margin, y2, widget_width - margin * 2, H); - if (show_text) { - ctx.textAlign = "center"; - ctx.fillStyle = text_color; - ctx.fillText(w2.label || w2.name, widget_width * 0.5, y2 + H * 0.7); - } - break; - case "toggle": - ctx.textAlign = "left"; - ctx.strokeStyle = outline_color; - ctx.fillStyle = background_color; - ctx.beginPath(); - if (show_text) - ctx.roundRect(margin, y2, widget_width - margin * 2, H, [H * 0.5]); - else ctx.rect(margin, y2, widget_width - margin * 2, H); - ctx.fill(); - if (show_text && !w2.disabled) ctx.stroke(); - ctx.fillStyle = w2.value ? "#89A" : "#333"; - ctx.beginPath(); - ctx.arc( - widget_width - margin * 2, - y2 + H * 0.5, - H * 0.36, - 0, - Math.PI * 2 - ); - ctx.fill(); - if (show_text) { - ctx.fillStyle = secondary_text_color; - const label5 = w2.label || w2.name; - if (label5 != null) { - ctx.fillText(label5, margin * 2, y2 + H * 0.7); - } - ctx.fillStyle = w2.value ? text_color : secondary_text_color; - ctx.textAlign = "right"; - ctx.fillText( - w2.value ? w2.options.on || "true" : w2.options.off || "false", - widget_width - 40, - y2 + H * 0.7 - ); - } - break; - case "slider": { - ctx.fillStyle = background_color; - ctx.fillRect(margin, y2, widget_width - margin * 2, H); - const range2 = w2.options.max - w2.options.min; - let nvalue = (w2.value - w2.options.min) / range2; - if (nvalue < 0) nvalue = 0; - if (nvalue > 1) nvalue = 1; - ctx.fillStyle = w2.options.hasOwnProperty("slider_color") ? w2.options.slider_color : active_widget == w2 ? "#89A" : "#678"; - ctx.fillRect(margin, y2, nvalue * (widget_width - margin * 2), H); - if (show_text && !w2.disabled) - ctx.strokeRect(margin, y2, widget_width - margin * 2, H); - if (w2.marker) { - let marker_nvalue = (w2.marker - w2.options.min) / range2; - if (marker_nvalue < 0) marker_nvalue = 0; - if (marker_nvalue > 1) marker_nvalue = 1; - ctx.fillStyle = w2.options.hasOwnProperty("marker_color") ? w2.options.marker_color : "#AA9"; - ctx.fillRect( - margin + marker_nvalue * (widget_width - margin * 2), - y2, - 2, - H - ); - } - if (show_text) { - ctx.textAlign = "center"; - ctx.fillStyle = text_color; - ctx.fillText( - (w2.label || w2.name) + " " + Number(w2.value).toFixed( - w2.options.precision != null ? w2.options.precision : 3 - ), - widget_width * 0.5, - y2 + H * 0.7 - ); - } - break; - } - case "number": - case "combo": - ctx.textAlign = "left"; - ctx.strokeStyle = outline_color; - ctx.fillStyle = background_color; - ctx.beginPath(); - if (show_text) - ctx.roundRect(margin, y2, widget_width - margin * 2, H, [H * 0.5]); - else ctx.rect(margin, y2, widget_width - margin * 2, H); - ctx.fill(); - if (show_text) { - if (!w2.disabled) ctx.stroke(); - ctx.fillStyle = text_color; - if (!w2.disabled) { - ctx.beginPath(); - ctx.moveTo(margin + 16, y2 + 5); - ctx.lineTo(margin + 6, y2 + H * 0.5); - ctx.lineTo(margin + 16, y2 + H - 5); - ctx.fill(); - ctx.beginPath(); - ctx.moveTo(widget_width - margin - 16, y2 + 5); - ctx.lineTo(widget_width - margin - 6, y2 + H * 0.5); - ctx.lineTo(widget_width - margin - 16, y2 + H - 5); - ctx.fill(); - } - ctx.fillStyle = secondary_text_color; - ctx.fillText(w2.label || w2.name, margin * 2 + 5, y2 + H * 0.7); - ctx.fillStyle = text_color; - ctx.textAlign = "right"; - if (w2.type == "number") { - ctx.fillText( - Number(w2.value).toFixed( - w2.options.precision !== void 0 ? w2.options.precision : 3 - ), - widget_width - margin * 2 - 20, - y2 + H * 0.7 - ); - } else { - let v2 = typeof w2.value === "number" ? String(w2.value) : w2.value; - if (w2.options.values) { - let values = w2.options.values; - if (typeof values === "function") - values = values(); - if (values && !Array.isArray(values)) - v2 = values[w2.value]; - } - const labelWidth = ctx.measureText(w2.label || w2.name).width + margin * 2; - const inputWidth = widget_width - margin * 4; - const availableWidth = inputWidth - labelWidth; - const textWidth = ctx.measureText(v2).width; - if (textWidth > availableWidth) { - const ELLIPSIS = "…"; - const ellipsisWidth = ctx.measureText(ELLIPSIS).width; - const charWidthAvg = ctx.measureText("a").width; - if (availableWidth <= ellipsisWidth) { - v2 = "․"; - } else { - v2 = `${v2}`; - const overflowWidth = textWidth + ellipsisWidth - availableWidth; - if (overflowWidth + charWidthAvg * 3 > availableWidth) { - const preciseRange = availableWidth + charWidthAvg * 3; - const preTruncateCt = Math.floor((preciseRange - ellipsisWidth) / charWidthAvg); - v2 = v2.substr(0, preTruncateCt); - } - while (ctx.measureText(v2).width + ellipsisWidth > availableWidth) { - v2 = v2.substr(0, v2.length - 1); - } - v2 += ELLIPSIS; - } - } - ctx.fillText( - v2, - widget_width - margin * 2 - 20, - y2 + H * 0.7 - ); - } - } - break; - case "string": - case "text": - ctx.textAlign = "left"; - ctx.strokeStyle = outline_color; - ctx.fillStyle = background_color; - ctx.beginPath(); - if (show_text) - ctx.roundRect(margin, y2, widget_width - margin * 2, H, [H * 0.5]); - else - ctx.rect(margin, y2, widget_width - margin * 2, H); - ctx.fill(); - if (show_text) { - if (!w2.disabled) ctx.stroke(); - ctx.save(); - ctx.beginPath(); - ctx.rect(margin, y2, widget_width - margin * 2, H); - ctx.clip(); - ctx.fillStyle = secondary_text_color; - const label5 = w2.label || w2.name; - if (label5 != null) ctx.fillText(label5, margin * 2, y2 + H * 0.7); - ctx.fillStyle = text_color; - ctx.textAlign = "right"; - ctx.fillText( - String(w2.value).substr(0, 30), - widget_width - margin * 2, - y2 + H * 0.7 - ); - ctx.restore(); - } - break; - default: - w2.draw?.(ctx, node22, widget_width, y2, H); - break; - } - posY += (w2.computeSize ? w2.computeSize(widget_width)[1] : H) + 4; - ctx.globalAlpha = this.editor_alpha; - } - ctx.restore(); - ctx.textAlign = "left"; + drawNodeWidgets(node22, posY, ctx) { + node22.drawWidgets(ctx, { + y: posY, + colorContext: this, + linkOverWidget: this.link_over_widget, + linkOverWidgetType: this.link_over_widget_type, + lowQuality: this.low_quality, + editorAlpha: this.editor_alpha + }); } /** * draws every group area in the background */ - drawGroups(canvas, ctx) { + drawGroups(canvas2, ctx) { if (!this.graph) return; const groups = this.graph._groups; ctx.save(); @@ -63477,18 +63922,18 @@ class LGraphCanvas { const { graph } = this; const node_left = graph.getNodeById(segment.origin_id); const fromType = node_left?.outputs?.[segment.origin_slot]?.type ?? "*"; - const options4 = ["Add Node", null, "Delete", null]; - if (this.reroutesEnabled) options4.splice(1, 0, "Add Reroute"); + const options22 = ["Add Node", null, "Delete", null]; + if (this.reroutesEnabled) options22.splice(1, 0, "Add Reroute"); const title = "data" in segment && segment.data != null ? segment.data.constructor.name : null; - const menu2 = new LiteGraph.ContextMenu(options4, { + const menu2 = new LiteGraph.ContextMenu(options22, { event: e2, title, callback: inner_clicked.bind(this) }); - function inner_clicked(v2, options22, e3) { + function inner_clicked(v2, options222, e22) { switch (v2) { case "Add Node": - LGraphCanvas.onMenuAdd(null, null, e3, menu2, function(node22) { + LGraphCanvas.onMenuAdd(null, null, e22, menu2, function(node22) { if (!node22.inputs?.length || !node22.outputs?.length) return; const options32 = this.reroutesEnabled ? { afterRerouteId: segment.parentId } : void 0; if (node_left.connectByType(segment.origin_slot, node22, fromType, options32)) { @@ -63497,8 +63942,8 @@ class LGraphCanvas { }); break; case "Add Reroute": { - this.adjustMouseEvent(e3); - graph.createReroute([e3.canvasX, e3.canvasY], segment); + this.adjustMouseEvent(e22); + graph.createReroute([e22.canvasX, e22.canvasY], segment); this.setDirty(false, true); break; } @@ -63659,28 +64104,28 @@ class LGraphCanvas { console.warn("Cant get slot information " + slotX); return; } - const options4 = ["Add Node", null]; + const options22 = ["Add Node", null]; if (opts.allow_searchbox) { - options4.push("Search"); - options4.push(null); + options22.push("Search"); + options22.push(null); } const fromSlotType = slotX.type == LiteGraph.EVENT ? "_event_" : slotX.type; const slotTypesDefault = isFrom ? LiteGraph.slot_types_default_out : LiteGraph.slot_types_default_in; if (slotTypesDefault?.[fromSlotType]) { if (typeof slotTypesDefault[fromSlotType] == "object") { for (const typeX in slotTypesDefault[fromSlotType]) { - options4.push(slotTypesDefault[fromSlotType][typeX]); + options22.push(slotTypesDefault[fromSlotType][typeX]); } } else { - options4.push(slotTypesDefault[fromSlotType]); + options22.push(slotTypesDefault[fromSlotType]); } } - const menu2 = new LiteGraph.ContextMenu(options4, { + const menu2 = new LiteGraph.ContextMenu(options22, { event: opts.e, title: (slotX && slotX.name != "" ? slotX.name + (fromSlotType ? " | " : "") : "") + (slotX && fromSlotType ? fromSlotType : ""), callback: inner_clicked }); - function inner_clicked(v2, options22, e2) { + function inner_clicked(v2, options222, e2) { switch (v2) { case "Add Node": LGraphCanvas.onMenuAdd(null, null, e2, menu2, function(node22) { @@ -63725,8 +64170,8 @@ class LGraphCanvas { } }; const graphcanvas = LGraphCanvas.active_canvas; - const canvas = graphcanvas.canvas; - canvas.parentNode.appendChild(dialog); + const canvas2 = graphcanvas.canvas; + canvas2.parentNode.appendChild(dialog); if (this.ds.scale > 1) dialog.style.transform = "scale(" + this.ds.scale + ")"; let dialogCloseTimer = null; let prevent_timeout = 0; @@ -63787,7 +64232,7 @@ class LGraphCanvas { that.setDirty(true); dialog.close(); }); - const rect = canvas.getBoundingClientRect(); + const rect = canvas2.getBoundingClientRect(); let offsetx = -20; let offsety = -20; if (rect) { @@ -63798,26 +64243,26 @@ class LGraphCanvas { dialog.style.left = event.clientX + offsetx + "px"; dialog.style.top = event.clientY + offsety + "px"; } else { - dialog.style.left = canvas.width * 0.5 + offsetx + "px"; - dialog.style.top = canvas.height * 0.5 + offsety + "px"; + dialog.style.left = canvas2.width * 0.5 + offsetx + "px"; + dialog.style.top = canvas2.height * 0.5 + offsety + "px"; } setTimeout(function() { input.focus(); const clickTime = Date.now(); function handleOutsideClick(e2) { - if (e2.target === canvas && Date.now() - clickTime > 256) { + if (e2.target === canvas2 && Date.now() - clickTime > 256) { dialog.close(); - canvas.parentNode.removeEventListener("click", handleOutsideClick); - canvas.parentNode.removeEventListener("touchend", handleOutsideClick); + canvas2.parentNode.removeEventListener("click", handleOutsideClick); + canvas2.parentNode.removeEventListener("touchend", handleOutsideClick); } } __name(handleOutsideClick, "handleOutsideClick"); - canvas.parentNode.addEventListener("click", handleOutsideClick); - canvas.parentNode.addEventListener("touchend", handleOutsideClick); + canvas2.parentNode.addEventListener("click", handleOutsideClick); + canvas2.parentNode.addEventListener("touchend", handleOutsideClick); }, 10); return dialog; } - showSearchBox(event, options4) { + showSearchBox(event, options22) { const def_options = { slot_from: null, node_from: null, @@ -63834,15 +64279,15 @@ class LGraphCanvas { show_all_if_empty: true, show_all_on_open: LiteGraph.search_show_all_on_open }; - options4 = Object.assign(def_options, options4 || {}); + options22 = Object.assign(def_options, options22 || {}); const that = this; const graphcanvas = LGraphCanvas.active_canvas; - const canvas = graphcanvas.canvas; - const root_document = canvas.ownerDocument || document; + const canvas2 = graphcanvas.canvas; + const root_document = canvas2.ownerDocument || document; const dialog = document.createElement("div"); dialog.className = "litegraph litesearchbox graphdialog rounded"; dialog.innerHTML = "Search "; - if (options4.do_type_filter) { + if (options22.do_type_filter) { dialog.innerHTML += ""; dialog.innerHTML += ""; } @@ -63855,14 +64300,14 @@ class LGraphCanvas { } let selIn; let selOut; - if (options4.do_type_filter) { + if (options22.do_type_filter) { selIn = dialog.querySelector(".slot_in_type_filter"); selOut = dialog.querySelector(".slot_out_type_filter"); } dialog.close = function() { that.search_box = null; this.blur(); - canvas.focus(); + canvas2.focus(); root_document.body.style.overflow = ""; setTimeout(function() { that.canvas.focus(); @@ -63872,7 +64317,7 @@ class LGraphCanvas { if (this.ds.scale > 1) { dialog.style.transform = "scale(" + this.ds.scale + ")"; } - if (options4.hide_on_mouse_leave) { + if (options22.hide_on_mouse_leave) { let prevent_timeout = false; let timeout_close = null; LiteGraph.pointerListenerAdd(dialog, "enter", function() { @@ -63886,9 +64331,9 @@ class LGraphCanvas { return; timeout_close = setTimeout(function() { dialog.close(); - }, typeof options4.hide_on_mouse_leave === "number" ? options4.hide_on_mouse_leave : 500); + }, typeof options22.hide_on_mouse_leave === "number" ? options22.hide_on_mouse_leave : 500); }); - if (options4.do_type_filter) { + if (options22.do_type_filter) { selIn.addEventListener("click", function() { prevent_timeout++; }); @@ -63948,12 +64393,12 @@ class LGraphCanvas { return true; }); } - if (options4.do_type_filter) { + if (options22.do_type_filter) { if (selIn) { const aSlots = LiteGraph.slot_types_in; const nSlots = aSlots.length; - if (options4.type_filter_in == LiteGraph.EVENT || options4.type_filter_in == LiteGraph.ACTION) - options4.type_filter_in = "_event_"; + if (options22.type_filter_in == LiteGraph.EVENT || options22.type_filter_in == LiteGraph.ACTION) + options22.type_filter_in = "_event_"; for (let iK = 0; iK < nSlots; iK++) { const opt = document.createElement("option"); opt.value = aSlots[iK]; @@ -63961,7 +64406,7 @@ class LGraphCanvas { selIn.appendChild(opt); if ( // @ts-expect-error - options4.type_filter_in !== false && (options4.type_filter_in + "").toLowerCase() == (aSlots[iK] + "").toLowerCase() + options22.type_filter_in !== false && (options22.type_filter_in + "").toLowerCase() == (aSlots[iK] + "").toLowerCase() ) { opt.selected = true; } @@ -63973,14 +64418,14 @@ class LGraphCanvas { if (selOut) { const aSlots = LiteGraph.slot_types_out; const nSlots = aSlots.length; - if (options4.type_filter_out == LiteGraph.EVENT || options4.type_filter_out == LiteGraph.ACTION) - options4.type_filter_out = "_event_"; + if (options22.type_filter_out == LiteGraph.EVENT || options22.type_filter_out == LiteGraph.ACTION) + options22.type_filter_out = "_event_"; for (let iK = 0; iK < nSlots; iK++) { const opt = document.createElement("option"); opt.value = aSlots[iK]; opt.innerHTML = aSlots[iK]; selOut.appendChild(opt); - if (options4.type_filter_out !== false && (options4.type_filter_out + "").toLowerCase() == (aSlots[iK] + "").toLowerCase()) + if (options22.type_filter_out !== false && (options22.type_filter_out + "").toLowerCase() == (aSlots[iK] + "").toLowerCase()) opt.selected = true; } selOut.addEventListener("change", function() { @@ -63988,7 +64433,7 @@ class LGraphCanvas { }); } } - const rect = canvas.getBoundingClientRect(); + const rect = canvas2.getBoundingClientRect(); const left = (event ? event.clientX : rect.left + rect.width * 0.5) - 80; const top = (event ? event.clientY : rect.top + rect.height * 0.5) - 20; dialog.style.left = left + "px"; @@ -63998,7 +64443,7 @@ class LGraphCanvas { requestAnimationFrame(function() { input.focus(); }); - if (options4.show_all_on_open) refreshHelper(); + if (options22.show_all_on_open) refreshHelper(); function select(name2) { if (name2) { if (that.onSearchBoxSelection) { @@ -64043,47 +64488,47 @@ class LGraphCanvas { node22.configure(extra.data.json); } } - if (options4.node_from) { + if (options22.node_from) { let iS = false; - switch (typeof options4.slot_from) { + switch (typeof options22.slot_from) { case "string": - iS = options4.node_from.findOutputSlot(options4.slot_from); + iS = options22.node_from.findOutputSlot(options22.slot_from); break; case "object": - iS = options4.slot_from.name ? options4.node_from.findOutputSlot(options4.slot_from.name) : -1; - if (iS == -1 && typeof options4.slot_from.slot_index !== "undefined") iS = options4.slot_from.slot_index; + iS = options22.slot_from.name ? options22.node_from.findOutputSlot(options22.slot_from.name) : -1; + if (iS == -1 && typeof options22.slot_from.slot_index !== "undefined") iS = options22.slot_from.slot_index; break; case "number": - iS = options4.slot_from; + iS = options22.slot_from; break; default: iS = 0; } - if (typeof options4.node_from.outputs[iS] !== "undefined") { + if (typeof options22.node_from.outputs[iS] !== "undefined") { if (iS !== false && iS > -1) { - options4.node_from.connectByType(iS, node22, options4.node_from.outputs[iS].type); + options22.node_from.connectByType(iS, node22, options22.node_from.outputs[iS].type); } } } - if (options4.node_to) { + if (options22.node_to) { let iS = false; - switch (typeof options4.slot_from) { + switch (typeof options22.slot_from) { case "string": - iS = options4.node_to.findInputSlot(options4.slot_from); + iS = options22.node_to.findInputSlot(options22.slot_from); break; case "object": - iS = options4.slot_from.name ? options4.node_to.findInputSlot(options4.slot_from.name) : -1; - if (iS == -1 && typeof options4.slot_from.slot_index !== "undefined") iS = options4.slot_from.slot_index; + iS = options22.slot_from.name ? options22.node_to.findInputSlot(options22.slot_from.name) : -1; + if (iS == -1 && typeof options22.slot_from.slot_index !== "undefined") iS = options22.slot_from.slot_index; break; case "number": - iS = options4.slot_from; + iS = options22.slot_from; break; default: iS = 0; } - if (typeof options4.node_to.inputs[iS] !== "undefined") { + if (typeof options22.node_to.inputs[iS] !== "undefined") { if (iS !== false && iS > -1) { - options4.node_to.connectByTypeOutput(iS, node22, options4.node_to.inputs[iS].type); + options22.node_to.connectByTypeOutput(iS, node22, options22.node_to.inputs[iS].type); } } } @@ -64112,7 +64557,7 @@ class LGraphCanvas { let str = input.value; first2 = null; helper.innerHTML = ""; - if (!str && !options4.show_all_if_empty) return; + if (!str && !options22.show_all_if_empty) return; if (that.onSearchBox) { const list2 = that.onSearchBox(helper, str, graphcanvas); if (list2) { @@ -64131,9 +64576,9 @@ class LGraphCanvas { const opts = Object.assign(optsDef, optsIn); const ctor = LiteGraph.registered_node_types[type]; if (filter4 && ctor.filter != filter4) return false; - if ((!options4.show_all_if_empty || str) && type.toLowerCase().indexOf(str) === -1 && (!ctor.title || ctor.title.toLowerCase().indexOf(str) === -1)) + if ((!options22.show_all_if_empty || str) && type.toLowerCase().indexOf(str) === -1 && (!ctor.title || ctor.title.toLowerCase().indexOf(str) === -1)) return false; - if (options4.do_type_filter && !opts.skipFilter) { + if (options22.do_type_filter && !opts.skipFilter) { const sType = type; let sV = opts.inTypeOverride !== false ? opts.inTypeOverride : sIn.value; if (sIn && sV && LiteGraph.registered_slot_in_types[sV]?.nodes) { @@ -64154,13 +64599,13 @@ class LGraphCanvas { const filter4 = graphcanvas.filter || graphcanvas.graph.filter; let sIn = false; let sOut = false; - if (options4.do_type_filter && that.search_box) { + if (options22.do_type_filter && that.search_box) { sIn = that.search_box.querySelector(".slot_in_type_filter"); sOut = that.search_box.querySelector(".slot_out_type_filter"); } for (const i2 in LiteGraph.searchbox_extras) { const extra = LiteGraph.searchbox_extras[i2]; - if ((!options4.show_all_if_empty || str) && extra.desc.toLowerCase().indexOf(str) === -1) + if ((!options22.show_all_if_empty || str) && extra.desc.toLowerCase().indexOf(str) === -1) continue; const ctor = LiteGraph.registered_node_types[extra.type]; if (ctor && ctor.filter != filter4) continue; @@ -64185,7 +64630,7 @@ class LGraphCanvas { if (LGraphCanvas.search_limit !== -1 && c2++ > LGraphCanvas.search_limit) break; } - if (options4.show_general_after_typefiltered && (sIn.value || sOut.value)) { + if (options22.show_general_after_typefiltered && (sIn.value || sOut.value)) { filtered_extra = []; for (const i2 in LiteGraph.registered_node_types) { if (inner_test_filter(i2, { @@ -64200,7 +64645,7 @@ class LGraphCanvas { break; } } - if ((sIn.value || sOut.value) && helper.childNodes.length == 0 && options4.show_general_if_none_on_typefilter) { + if ((sIn.value || sOut.value) && helper.childNodes.length == 0 && options22.show_general_if_none_on_typefilter) { filtered_extra = []; for (const i2 in LiteGraph.registered_node_types) { if (inner_test_filter(i2, { skipFilter: true })) @@ -64241,9 +64686,9 @@ class LGraphCanvas { __name(refreshHelper, "refreshHelper"); return dialog; } - showEditPropertyValue(node22, property, options4) { + showEditPropertyValue(node22, property, options22) { if (!node22 || node22.properties[property] === void 0) return; - options4 = options4 || {}; + options22 = options22 || {}; const info = node22.getPropertyInfo(property); const type = info.type; let input_html = ""; @@ -64264,7 +64709,7 @@ class LGraphCanvas { } const dialog = this.createDialog( "" + (info.label || property) + "" + input_html + "", - options4 + options22 ); let input; if ((type == "enum" || type == "combo") && info.values) { @@ -64325,7 +64770,7 @@ class LGraphCanvas { node22.graph._version++; } node22.onPropertyChanged?.(property, value4); - options4.onclose?.(); + options22.onclose?.(); dialog.close(); this.setDirty(true, true); } @@ -64333,13 +64778,13 @@ class LGraphCanvas { return dialog; } // TODO refactor, theer are different dialog, some uses createDialog, some dont - createDialog(html, options4) { + createDialog(html, options22) { const def_options = { checkForInput: false, closeOnLeave: true, closeOnLeave_checkModified: true }; - options4 = Object.assign(def_options, options4 || {}); + options22 = Object.assign(def_options, options22 || {}); const dialog = document.createElement("div"); dialog.className = "graphdialog"; dialog.innerHTML = html; @@ -64351,12 +64796,12 @@ class LGraphCanvas { offsetx -= rect.left; offsety -= rect.top; } - if (options4.position) { - offsetx += options4.position[0]; - offsety += options4.position[1]; - } else if (options4.event) { - offsetx += options4.event.clientX; - offsety += options4.event.clientY; + if (options22.position) { + offsetx += options22.position[0]; + offsety += options22.position[1]; + } else if (options22.event) { + offsetx += options22.event.clientX; + offsety += options22.event.clientY; } else { offsetx += this.canvas.width * 0.5; offsety += this.canvas.height * 0.5; @@ -64364,7 +64809,7 @@ class LGraphCanvas { dialog.style.left = offsetx + "px"; dialog.style.top = offsety + "px"; this.canvas.parentNode.appendChild(dialog); - if (options4.checkForInput) { + if (options22.checkForInput) { const aI = dialog.querySelectorAll("input"); aI?.forEach(function(iX) { iX.addEventListener("keydown", function(e2) { @@ -64397,7 +64842,7 @@ class LGraphCanvas { ); }); dialog.addEventListener("mouseenter", function() { - if (options4.closeOnLeave || LiteGraph.dialog_close_on_mouse_leave) { + if (options22.closeOnLeave || LiteGraph.dialog_close_on_mouse_leave) { if (dialogCloseTimer) clearTimeout(dialogCloseTimer); } }); @@ -64415,18 +64860,18 @@ class LGraphCanvas { }); return dialog; } - createPanel(title, options4) { - options4 = options4 || {}; - const ref_window = options4.window || window; + createPanel(title, options22) { + options22 = options22 || {}; + const ref_window = options22.window || window; const root29 = document.createElement("div"); root29.className = "litegraph dialog"; root29.innerHTML = "
"; root29.header = root29.querySelector(".dialog-header"); - if (options4.width) - root29.style.width = options4.width + (typeof options4.width === "number" ? "px" : ""); - if (options4.height) - root29.style.height = options4.height + (typeof options4.height === "number" ? "px" : ""); - if (options4.closable) { + if (options22.width) + root29.style.width = options22.width + (typeof options22.width === "number" ? "px" : ""); + if (options22.height) + root29.style.height = options22.height + (typeof options22.height === "number" ? "px" : ""); + if (options22.closable) { const close5 = document.createElement("span"); close5.innerHTML = "✕"; close5.classList.add("close"); @@ -64478,10 +64923,10 @@ class LGraphCanvas { else root29.content.appendChild(elem); return elem; }; - root29.addButton = function(name2, callback, options22) { + root29.addButton = function(name2, callback, options222) { const elem = document.createElement("button"); elem.innerText = name2; - elem.options = options22; + elem.options = options222; elem.classList.add("btn"); elem.addEventListener("click", callback); root29.footer.appendChild(elem); @@ -64492,20 +64937,20 @@ class LGraphCanvas { elem.className = "separator"; root29.content.appendChild(elem); }; - root29.addWidget = function(type, name2, value4, options22, callback) { - options22 = options22 || {}; + root29.addWidget = function(type, name2, value4, options222, callback) { + options222 = options222 || {}; let str_value = String(value4); type = type.toLowerCase(); if (type == "number") str_value = value4.toFixed(3); const elem = document.createElement("div"); elem.className = "property"; elem.innerHTML = ""; - elem.querySelector(".property_name").innerText = options22.label || name2; + elem.querySelector(".property_name").innerText = options222.label || name2; const value_element = elem.querySelector(".property_value"); value_element.innerText = str_value; elem.dataset["property"] = name2; - elem.dataset["type"] = options22.type || type; - elem.options = options22; + elem.dataset["type"] = options222.type || type; + elem.options = options222; elem.value = value4; if (type == "code") elem.addEventListener("click", function() { @@ -64537,10 +64982,10 @@ class LGraphCanvas { innerChange(propname, v2); }); } else if (type == "enum" || type == "combo") { - const str_value2 = LGraphCanvas.getPropertyPrintableValue(value4, options22.values); + const str_value2 = LGraphCanvas.getPropertyPrintableValue(value4, options222.values); value_element.innerText = str_value2; value_element.addEventListener("click", function(event) { - const values = options22.values || []; + const values = options222.values || []; const propname = this.parentNode.dataset["property"]; const elem_that = this; new LiteGraph.ContextMenu( @@ -64563,8 +65008,8 @@ class LGraphCanvas { } root29.content.appendChild(elem); function innerChange(name22, value22) { - options22.callback?.(name22, value22, options22); - callback?.(name22, value22, options22); + options222.callback?.(name22, value22, options222); + callback?.(name22, value22, options222); } __name(innerChange, "innerChange"); return elem; @@ -64698,11 +65143,11 @@ class LGraphCanvas { } } getCanvasMenuOptions() { - let options4 = null; + let options22 = null; if (this.getMenuOptions) { - options4 = this.getMenuOptions(); + options22 = this.getMenuOptions(); } else { - options4 = [ + options22 = [ { content: "Add Node", has_submenu: true, @@ -64714,23 +65159,23 @@ class LGraphCanvas { // {content:"Collapse All", callback: LGraphCanvas.onMenuCollapseAll } ]; if (Object.keys(this.selected_nodes).length > 1) { - options4.push({ + options22.push({ content: "Align", has_submenu: true, callback: LGraphCanvas.onGroupAlign }); } } - const extra = this.getExtraMenuOptions?.(this, options4); - return Array.isArray(extra) ? options4.concat(extra) : options4; + const extra = this.getExtraMenuOptions?.(this, options22); + return Array.isArray(extra) ? options22.concat(extra) : options22; } // called by processContextMenu to extract the menu list getNodeMenuOptions(node22) { - let options4 = null; + let options22 = null; if (node22.getMenuOptions) { - options4 = node22.getMenuOptions(this); + options22 = node22.getMenuOptions(this); } else { - options4 = [ + options22 = [ { content: "Inputs", has_submenu: true, @@ -64751,8 +65196,8 @@ class LGraphCanvas { }, { content: "Properties Panel", - callback: /* @__PURE__ */ __name(function(item3, options22, e2, menu2, node3) { - LGraphCanvas.active_canvas.showShowNodePanel(node3); + callback: /* @__PURE__ */ __name(function(item3, options222, e2, menu2, node222) { + LGraphCanvas.active_canvas.showShowNodePanel(node222); }, "callback") }, null, @@ -64767,31 +65212,31 @@ class LGraphCanvas { } ]; if (node22.resizable !== false) { - options4.push({ + options22.push({ content: "Resize", callback: LGraphCanvas.onMenuResizeNode }); } if (node22.collapsible) { - options4.push({ + options22.push({ content: node22.collapsed ? "Expand" : "Collapse", callback: LGraphCanvas.onMenuNodeCollapse }); } if (node22.widgets?.some((w2) => w2.advanced)) { - options4.push({ + options22.push({ content: node22.showAdvanced ? "Hide Advanced" : "Show Advanced", callback: LGraphCanvas.onMenuToggleAdvanced }); } - options4.push( + options22.push( { content: node22.pinned ? "Unpin" : "Pin", callback: /* @__PURE__ */ __name((...args) => { LGraphCanvas.onMenuNodePin(...args); for (const i2 in this.selected_nodes) { - const node3 = this.selected_nodes[i2]; - node3.pin(); + const node222 = this.selected_nodes[i2]; + node222.pin(); } this.setDirty(true, true); }, "callback") @@ -64810,39 +65255,39 @@ class LGraphCanvas { ); } const inputs = node22.onGetInputs?.(); - if (inputs?.length) options4[0].disabled = false; + if (inputs?.length) options22[0].disabled = false; const outputs = node22.onGetOutputs?.(); - if (outputs?.length) options4[1].disabled = false; - const extra = node22.getExtraMenuOptions?.(this, options4); + if (outputs?.length) options22[1].disabled = false; + const extra = node22.getExtraMenuOptions?.(this, options22); if (Array.isArray(extra) && extra.length > 0) { extra.push(null); - options4 = extra.concat(options4); + options22 = extra.concat(options22); } if (node22.clonable !== false) { - options4.push({ + options22.push({ content: "Clone", callback: LGraphCanvas.onMenuNodeClone }); } if (Object.keys(this.selected_nodes).length > 1) { - options4.push({ + options22.push({ content: "Align Selected To", has_submenu: true, callback: LGraphCanvas.onNodeAlign }); - options4.push({ + options22.push({ content: "Distribute Nodes", has_submenu: true, callback: LGraphCanvas.createDistributeMenu }); } - options4.push(null, { + options22.push(null, { content: "Remove", disabled: !(node22.removable !== false && !node22.block_delete), callback: LGraphCanvas.onMenuNodeRemove }); - node22.graph?.onGetNodeMenuOptions?.(options4, node22); - return options4; + node22.graph?.onGetNodeMenuOptions?.(options22, node22); + return options22; } getGroupMenuOptions(group) { console.warn("LGraphCanvas.getGroupMenuOptions is deprecated, use LGraphGroup.getMenuOptions instead"); @@ -64850,15 +65295,15 @@ class LGraphCanvas { } processContextMenu(node22, event) { const that = this; - const canvas = LGraphCanvas.active_canvas; - const ref_window = canvas.getCanvasWindow(); + const canvas2 = LGraphCanvas.active_canvas; + const ref_window = canvas2.getCanvasWindow(); let menu_info = null; - const options4 = { + const options22 = { event, callback: inner_option_clicked, extra: node22 }; - if (node22) options4.title = node22.type; + if (node22) options22.title = node22.type; let slot = null; if (node22) { slot = node22.getSlotInPosition(event.canvasX, event.canvasY); @@ -64879,12 +65324,15 @@ class LGraphCanvas { } if (!_slot.nameLocked) menu_info.push({ content: "Rename Slot", slot }); + if (node22.getExtraSlotMenuOptions) { + menu_info.push(...node22.getExtraSlotMenuOptions(slot)); + } } - options4.title = (slot.input ? slot.input.type : slot.output.type) || "*"; + options22.title = (slot.input ? slot.input.type : slot.output.type) || "*"; if (slot.input && slot.input.type == LiteGraph.ACTION) - options4.title = "Action"; + options22.title = "Action"; if (slot.output && slot.output.type == LiteGraph.EVENT) - options4.title = "Event"; + options22.title = "Event"; } else if (node22) { menu_info = this.getNodeMenuOptions(node22); } else { @@ -64915,8 +65363,8 @@ class LGraphCanvas { } } if (!menu_info) return; - new LiteGraph.ContextMenu(menu_info, options4, ref_window); - function inner_option_clicked(v2, options22) { + new LiteGraph.ContextMenu(menu_info, options22, ref_window); + function inner_option_clicked(v2, options222) { if (!v2) return; if (v2.content == "Remove Slot") { const info = v2.slot; @@ -64943,7 +65391,7 @@ class LGraphCanvas { const slot_info = info.input ? node22.getInputInfo(info.slot) : node22.getOutputInfo(info.slot); const dialog = that.createDialog( "Name", - options22 + options222 ); const input = dialog.querySelector("input"); if (input && slot_info) { @@ -65033,9 +65481,9 @@ class LGraphCanvas { * Fits the view to the selected nodes with animation. * If nothing is selected, the view is fitted around all items in the graph. */ - fitViewToSelectionAnimated(options4 = {}) { + fitViewToSelectionAnimated(options22 = {}) { const items2 = this.selectedItems.size ? Array.from(this.selectedItems) : this.positionableItems; - this.animateToBounds(createBounds(items2), options4); + this.animateToBounds(createBounds(items2), options22); } } class MapProxyHandler { @@ -65131,7 +65579,6 @@ let LGraph$1 = class LGraph2 { execution_time; _last_trigger_time; filter; - _subgraph_node; /** Must contain serialisable values, e.g. primitive types */ config; vars; @@ -65273,10 +65720,10 @@ let LGraph$1 = class LGraph2 { */ detachCanvas(graphcanvas) { if (!this.list_of_graphcanvas) return; - const pos2 = this.list_of_graphcanvas.indexOf(graphcanvas); - if (pos2 == -1) return; + const pos = this.list_of_graphcanvas.indexOf(graphcanvas); + if (pos == -1) return; graphcanvas.graph = null; - this.list_of_graphcanvas.splice(pos2, 1); + this.list_of_graphcanvas.splice(pos, 1); } /** * Starts running this graph every interval milliseconds. @@ -65572,12 +66019,6 @@ let LGraph$1 = class LGraph2 { if (!nodes) return; for (let j2 = 0, l2 = nodes.length; j2 < l2; ++j2) { const node22 = nodes[j2]; - if (node22.constructor === LiteGraph.Subgraph && eventname != "onExecute") { - if (node22.mode == mode2) { - node22.sendEventToAllNodes(eventname, params, mode2); - } - continue; - } if (!node22[eventname] || node22.mode != mode2) continue; if (params === void 0) { node22[eventname](); @@ -65691,13 +66132,13 @@ let LGraph$1 = class LGraph2 { this._version++; if (this.list_of_graphcanvas) { for (let i2 = 0; i2 < this.list_of_graphcanvas.length; ++i2) { - const canvas = this.list_of_graphcanvas[i2]; - if (canvas.selected_nodes[node22.id]) - delete canvas.selected_nodes[node22.id]; + const canvas2 = this.list_of_graphcanvas[i2]; + if (canvas2.selected_nodes[node22.id]) + delete canvas2.selected_nodes[node22.id]; } } - const pos2 = this._nodes.indexOf(node22); - if (pos2 != -1) this._nodes.splice(pos2, 1); + const pos = this._nodes.indexOf(node22); + if (pos != -1) this._nodes.splice(pos, 1); delete this._nodes_by_id[node22.id]; this.onNodeRemoved?.(node22); this.canvasAction((c2) => c2.checkPanels()); @@ -65809,8 +66250,8 @@ let LGraph$1 = class LGraph2 { */ getRerouteOnPos(x2, y2) { for (const reroute of this.reroutes.values()) { - const { pos: pos2 } = reroute; - if (isSortaInsideOctagon(x2 - pos2[0], y2 - pos2[1], 2 * Reroute.radius)) + const { pos } = reroute; + if (isSortaInsideOctagon(x2 - pos[0], y2 - pos[1], 2 * Reroute.radius)) return reroute; } } @@ -65860,7 +66301,7 @@ let LGraph$1 = class LGraph2 { this.updateExecutionOrder(); } // ********** GLOBALS ***************** - onAction(action, param, options4) { + onAction(action, param, options22) { this._input_nodes = this.findNodesByClass( // @ts-expect-error Never impl. LiteGraph.GraphInput, @@ -65869,7 +66310,7 @@ let LGraph$1 = class LGraph2 { for (let i2 = 0; i2 < this._input_nodes.length; ++i2) { const node22 = this._input_nodes[i2]; if (node22.properties.name != action) continue; - node22.actionDo(action, param, options4); + node22.actionDo(action, param, options22); break; } } @@ -66061,11 +66502,11 @@ let LGraph$1 = class LGraph2 { * Creates the object if it does not exist. * @param serialisedReroute See {@link SerialisableReroute} */ - setReroute({ id: id3, parentId, pos: pos2, linkIds }) { + setReroute({ id: id3, parentId, pos, linkIds }) { id3 ??= ++this.state.lastRerouteId; if (id3 > this.state.lastRerouteId) this.state.lastRerouteId = id3; const reroute = this.reroutes.get(id3) ?? new Reroute(id3, this); - reroute.update(parentId, pos2, linkIds); + reroute.update(parentId, pos, linkIds); this.reroutes.set(id3, reroute); return reroute; } @@ -66076,10 +66517,10 @@ let LGraph$1 = class LGraph2 { * going from the node output to input. * @returns The newly created reroute - typically ignored. */ - createReroute(pos2, before) { + createReroute(pos, before) { const rerouteId = ++this.state.lastRerouteId; const linkIds = before instanceof Reroute ? before.linkIds : [before.id]; - const reroute = new Reroute(rerouteId, this, pos2, before.parentId, linkIds); + const reroute = new Reroute(rerouteId, this, pos, before.parentId, linkIds); this.reroutes.set(rerouteId, reroute); for (const linkId of linkIds) { const link2 = this._links.get(linkId); @@ -66150,9 +66591,9 @@ let LGraph$1 = class LGraph2 { * Mutating the properties of the return object may result in changes to your graph. * It is intended for use with {@link structuredClone} or {@link JSON.stringify}. */ - asSerialisable(options4) { + asSerialisable(options22) { const { config: config2, state, extra } = this; - const nodeList = !LiteGraph.use_uuids && options4?.sortNodes ? [...this._nodes].sort((a2, b2) => a2.id - b2.id) : this._nodes; + const nodeList = !LiteGraph.use_uuids && options22?.sortNodes ? [...this._nodes].sort((a2, b2) => a2.id - b2.id) : this._nodes; const nodes = nodeList.map((node22) => node22.serialize()); const groups = this._groups.map((x2) => x2.serialize()); const links = [...this._links.values()].map((x2) => x2.asSerialisable()); @@ -66311,31 +66752,31 @@ class ContextMenu { * - ignore_item_callbacks: ignores the callback inside the item, it just calls the options.callback * - event: you can pass a MouseEvent, this way the ContextMenu appears in that position */ - constructor(values, options4) { - options4 ||= {}; - this.options = options4; - const parent = options4.parentMenu; + constructor(values, options22) { + options22 ||= {}; + this.options = options22; + const parent = options22.parentMenu; if (parent) { if (!(parent instanceof ContextMenu)) { console.error("parentMenu must be of class ContextMenu, ignoring it"); - options4.parentMenu = null; + options22.parentMenu = null; } else { this.parentMenu = parent; this.parentMenu.lock = true; this.parentMenu.current_submenu = this; } if (parent.options?.className === "dark") { - options4.className = "dark"; + options22.className = "dark"; } } - const eventClass = options4.event ? options4.event.constructor.name : null; + const eventClass = options22.event ? options22.event.constructor.name : null; if (eventClass !== "MouseEvent" && eventClass !== "CustomEvent" && eventClass !== "PointerEvent") { console.error(`Event passed to ContextMenu is not of type MouseEvent or CustomEvent. Ignoring it. (${eventClass})`); - options4.event = null; + options22.event = null; } const root29 = document.createElement("div"); let classes2 = "litegraph litecontextmenu litemenubar-panel"; - if (options4.className) classes2 += " " + options4.className; + if (options22.className) classes2 += " " + options22.className; root29.className = classes2; root29.style.minWidth = "100"; root29.style.minHeight = "100"; @@ -66374,10 +66815,10 @@ class ContextMenu { true ); this.root = root29; - if (options4.title) { + if (options22.title) { const element = document.createElement("div"); element.className = "litemenu-title"; - element.innerHTML = options4.title; + element.innerHTML = options22.title; root29.appendChild(element); } for (let i2 = 0; i2 < values.length; i2++) { @@ -66386,25 +66827,25 @@ class ContextMenu { if (typeof name2 !== "string") { name2 = name2 != null ? name2.content === void 0 ? String(name2) : name2.content : name2; } - this.addItem(name2, value4, options4); + this.addItem(name2, value4, options22); } LiteGraph.pointerListenerAdd(root29, "enter", function() { if (root29.closing_timer) { clearTimeout(root29.closing_timer); } }); - const ownerDocument = (options4.event?.target).ownerDocument; + const ownerDocument = (options22.event?.target).ownerDocument; const root_document = ownerDocument || document; if (root_document.fullscreenElement) root_document.fullscreenElement.appendChild(root29); else root_document.body.appendChild(root29); - let left = options4.left || 0; - let top = options4.top || 0; - if (options4.event) { - left = options4.event.clientX - 10; - top = options4.event.clientY - 10; - if (options4.title) top -= 20; + let left = options22.left || 0; + let top = options22.top || 0; + if (options22.event) { + left = options22.event.clientX - 10; + top = options22.event.clientY - 10; + if (options22.title) top -= 20; if (parent) { const rect = parent.root.getBoundingClientRect(); left = rect.left + rect.width; @@ -66420,12 +66861,12 @@ class ContextMenu { } root29.style.left = left + "px"; root29.style.top = top + "px"; - if (LiteGraph.context_menu_scaling && options4.scale) { - root29.style.transform = `scale(${Math.round(options4.scale * 4) * 0.25})`; + if (LiteGraph.context_menu_scaling && options22.scale) { + root29.style.transform = `scale(${Math.round(options22.scale * 4) * 0.25})`; } } - addItem(name2, value4, options4) { - options4 ||= {}; + addItem(name2, value4, options22) { + options22 ||= {}; const element = document.createElement("div"); element.className = "litemenu-entry submenu"; let disabled2 = false; @@ -66459,7 +66900,7 @@ class ContextMenu { } this.root.appendChild(element); if (!disabled2) element.addEventListener("click", inner_onclick); - if (!disabled2 && options4.autoopen) + if (!disabled2 && options22.autoopen) LiteGraph.pointerListenerAdd(element, "enter", inner_over); const setAriaExpanded = /* @__PURE__ */ __name(() => { const entries = this.root.querySelectorAll("div.litemenu-entry.has_submenu"); @@ -66485,26 +66926,26 @@ class ContextMenu { if (value22?.has_submenu || value22?.submenu) { setAriaExpanded(); } - if (options4.callback) { - const r2 = options4.callback.call( + if (options22.callback) { + const r2 = options22.callback.call( this, value22, - options4, + options22, e2, that, - options4.node + options22.node ); if (r2 === true) close_parent = false; } if (typeof value22 === "object") { - if (value22.callback && !options4.ignore_item_callbacks && value22.disabled !== true) { + if (value22.callback && !options22.ignore_item_callbacks && value22.disabled !== true) { const r2 = value22.callback.call( this, value22, - options4, + options22, e2, that, - options4.extra + options22.extra ); if (r2 === true) close_parent = false; } @@ -66517,7 +66958,7 @@ class ContextMenu { ignore_item_callbacks: value22.submenu.ignore_item_callbacks, title: value22.submenu.title, extra: value22.submenu.extra, - autoopen: options4.autoopen + autoopen: options22.autoopen }); close_parent = false; } @@ -66648,9 +67089,9 @@ class CurveEditor { const h2 = this.size[1] - this.margin * 2; const x2 = localpos[0] - this.margin; const y2 = localpos[1] - this.margin; - const pos2 = [x2, y2]; + const pos = [x2, y2]; const max_dist = 30 / graphcanvas.ds.scale; - this.selected = this.getCloserPoint(pos2, max_dist); + this.selected = this.getCloserPoint(pos, max_dist); if (this.selected == -1) { const point = [x2 / w2, 1 - y2 / h2]; points.push(point); @@ -66698,7 +67139,7 @@ class CurveEditor { this.selected = -1; return false; } - getCloserPoint(pos2, max_dist) { + getCloserPoint(pos, max_dist) { const points = this.points; if (!points) return -1; max_dist = max_dist || 30; @@ -66712,7 +67153,7 @@ class CurveEditor { const p3 = points[i2]; p2[0] = p3[0] * w2; p2[1] = (1 - p3[1]) * h2; - const dist3 = distance(pos2, p2); + const dist3 = distance(pos, p2); if (dist3 > min_dist || dist3 > max_dist) continue; closest = i2; min_dist = dist3; @@ -66771,6 +67212,7 @@ class LiteGraphGlobal { DEFAULT_POSITION = [100, 100]; /** ,"circle" */ VALID_SHAPES = ["default", "box", "round", "card"]; + ROUND_RADIUS = 8; // shapes are used for nodes but also for slots BOX_SHAPE = RenderShape.BOX; ROUND_SHAPE = RenderShape.ROUND; @@ -66969,8 +67411,8 @@ class LiteGraphGlobal { base_class.type = type; if (this.debug) console.log("Node registered: " + type); const classname = base_class.name; - const pos2 = type.lastIndexOf("/"); - base_class.category = type.substring(0, pos2); + const pos = type.lastIndexOf("/"); + base_class.category = type.substring(0, pos); base_class.title ||= classname; for (const i2 in LGraphNode.prototype) { base_class.prototype[i2] ||= LGraphNode.prototype[i2]; @@ -66979,44 +67421,6 @@ class LiteGraphGlobal { if (prev2) { console.log("replacing node type: " + type); } - if (!Object.prototype.hasOwnProperty.call(base_class.prototype, "shape")) { - Object.defineProperty(base_class.prototype, "shape", { - set(v2) { - switch (v2) { - case "default": - delete this._shape; - break; - case "box": - this._shape = RenderShape.BOX; - break; - case "round": - this._shape = RenderShape.ROUND; - break; - case "circle": - this._shape = RenderShape.CIRCLE; - break; - case "card": - this._shape = RenderShape.CARD; - break; - default: - this._shape = v2; - } - }, - get() { - return this._shape; - }, - enumerable: true, - configurable: true - }); - if (base_class.supported_extensions) { - for (const i2 in base_class.supported_extensions) { - const ext = base_class.supported_extensions[i2]; - if (ext && typeof ext === "string") { - this.node_types_by_file_extension[ext.toLowerCase()] = base_class; - } - } - } - } this.registered_node_types[type] = base_class; if (base_class.constructor.name) this.Nodes[classname] = base_class; this.onNodeTypeRegistered?.(type, base_class); @@ -67068,41 +67472,6 @@ class LiteGraphGlobal { } } } - /** - * Create a new nodetype by passing a function, it wraps it with a proper class and - * generates inputs according to the parameters of the function. - * Useful to wrap simple methods that do not require properties, and that only process some input to generate an output. - * @param name node name with namespace (p.e.: 'math/sum') - * @param func - * @param param_types [optional] an array containing the type of every parameter, - * otherwise parameters will accept any type - * @param return_type [optional] string with the return type, otherwise it will be generic - * @param properties [optional] properties to be configurable - */ - wrapFunctionAsNode(name2, func, param_types, return_type, properties) { - const params = Array(func.length); - let code2 = ""; - const names = this.getParameterNames(func); - for (let i2 = 0; i2 < names.length; ++i2) { - code2 += `this.addInput('${names[i2]}',${param_types && param_types[i2] ? `'${param_types[i2]}'` : "0"}); -`; - } - code2 += `this.addOutput('out',${return_type ? `'${return_type}'` : 0}); -`; - if (properties) code2 += `this.properties = ${JSON.stringify(properties)}; -`; - const classobj = Function(code2); - classobj.title = name2.split("/").pop(); - classobj.desc = "Generated from " + func.name; - classobj.prototype.onExecute = /* @__PURE__ */ __name(function onExecute() { - for (let i2 = 0; i2 < params.length; ++i2) { - params[i2] = this.getInputData(i2); - } - const r2 = func.apply(this, params); - this.setOutputData(0, r2); - }, "onExecute"); - this.registerNodeType(name2, classobj); - } /** * Removes all previously registered node's types */ @@ -67131,7 +67500,7 @@ class LiteGraphGlobal { * @param title a name to distinguish from other nodes * @param options to set options */ - createNode(type, title, options4) { + createNode(type, title, options22) { const base_class = this.registered_node_types[type]; if (!base_class) { if (this.debug) console.log(`GraphNode type "${type}" not registered.`); @@ -67157,9 +67526,9 @@ class LiteGraphGlobal { node22.size ||= node22.computeSize(); node22.pos ||= this.DEFAULT_POSITION.concat(); node22.mode ||= LGraphEventMode.ALWAYS; - if (options4) { - for (const i2 in options4) { - node22[i2] = options4[i2]; + if (options22) { + for (const i2 in options22) { + node22[i2] = options22[i2]; } } node22.onNodeCreated?.(); @@ -67299,54 +67668,6 @@ class LiteGraphGlobal { data: data26 }; } - /** - * Wrapper to load files (from url using fetch or from file using FileReader) - * @param url the url of the file (or the file itself) - * @param type an string to know how to fetch it: "text","arraybuffer","json","blob" - * @param on_complete callback(data) - * @param on_error in case of an error - * @returns returns the object used to - */ - fetchFile(url, type, on_complete, on_error) { - if (!url) return null; - type = type || "text"; - if (typeof url === "string") { - if (url.substr(0, 4) == "http" && this.proxy) - url = this.proxy + url.substr(url.indexOf(":") + 3); - return fetch(url).then(function(response) { - if (!response.ok) - throw new Error("File not found"); - if (type == "arraybuffer") - return response.arrayBuffer(); - else if (type == "text" || type == "string") - return response.text(); - else if (type == "json") - return response.json(); - else if (type == "blob") - return response.blob(); - }).then(function(data26) { - on_complete?.(data26); - }).catch(function(error2) { - console.error("error fetching file:", url); - on_error?.(error2); - }); - } else if (url instanceof File || url instanceof Blob) { - const reader = new FileReader(); - reader.onload = function(e2) { - let v2 = e2.target.result; - if (type == "json") - v2 = JSON.parse(v2); - on_complete?.(v2); - }; - if (type == "arraybuffer") - return reader.readAsArrayBuffer(url); - else if (type == "text" || type == "json") - return reader.readAsText(url); - else if (type == "blob") - return reader.readAsBinaryString(url); - } - return null; - } // used to create nodes from wrapping functions getParameterNames(func) { return (func + "").replace(/[/][/].*$/gm, "").replace(/\s+/g, "").replace(/[/][*][^/*]*[*][/]/g, "").split("){", 1)[0].replace(/^[^(]*[(]/, "").replace(/=[^,]+/g, "").split(",").filter(Boolean); @@ -72536,6 +72857,16 @@ function inputSpec(spec, allowUpcast = true) { ]); } __name(inputSpec, "inputSpec"); +const zRemoteWidgetConfig = z.object({ + route: z.string().url().or(z.string().startsWith("/")), + refresh: z.number().gte(128).safe().or(z.number().lte(0).safe()).optional(), + response_key: z.string().optional(), + query_params: z.record(z.string(), z.string()).optional(), + refresh_button: z.boolean().optional(), + control_after_refresh: z.enum(["first", "last"]).optional(), + timeout: z.number().gte(0).optional(), + max_retries: z.number().gte(0).optional() +}); const zBaseInputSpecValue = z.object({ default: z.any().optional(), defaultInput: z.boolean().optional(), @@ -72554,7 +72885,12 @@ const zIntInputSpec = inputSpec([ step: z.number().optional(), // Note: Many node authors are using INT to pass list of INT. // TODO: Add list of ints type. - default: z.union([z.number(), z.array(z.number())]).optional() + default: z.union([z.number(), z.array(z.number())]).optional(), + /** + * If true, a linked widget will be added to the node to select the mode + * of `control_after_generate`. + */ + control_after_generate: z.boolean().optional() }) ]); const zFloatInputSpec = inputSpec([ @@ -72588,17 +72924,26 @@ const zStringInputSpec = inputSpec([ placeholder: z.string().optional() }) ]); +const zComboInputProps = zBaseInputSpecValue.extend({ + control_after_generate: z.boolean().optional(), + image_upload: z.boolean().optional(), + image_folder: z.enum(["input", "output", "temp"]).optional(), + remote: zRemoteWidgetConfig.optional() +}); const zComboInputSpec = inputSpec( - [ - z.array(z.any()), - zBaseInputSpecValue.extend({ - control_after_generate: z.boolean().optional(), - image_upload: z.boolean().optional() - }) - ], + [z.array(z.any()), zComboInputProps], /* allowUpcast=*/ false ); +const zComboInputSpecV2 = inputSpec( + [z.literal("COMBO"), zComboInputProps], + /* allowUpcast=*/ + false +); +function isComboInputSpecV1(inputSpec2) { + return Array.isArray(inputSpec2[0]); +} +__name(isComboInputSpecV1, "isComboInputSpecV1"); const excludedLiterals = /* @__PURE__ */ new Set(["INT", "FLOAT", "BOOLEAN", "STRING", "COMBO"]); const zCustomInputSpec = inputSpec([ z.string().refine((value4) => !excludedLiterals.has(value4)), @@ -72610,6 +72955,7 @@ const zInputSpec = z.union([ zBooleanInputSpec, zStringInputSpec, zComboInputSpec, + zComboInputSpecV2, zCustomInputSpec ]); const zComfyInputsSpec = z.object({ @@ -72794,7 +73140,8 @@ const zSettings = z.record(z.any()).and( "Comfy.Server.LaunchArgs": z.record(z.string(), z.string()), "LiteGraph.Canvas.MaximumFps": z.number(), "Comfy.Workflow.ConfirmDelete": z.boolean(), - "Comfy.RerouteBeta": z.boolean() + "Comfy.RerouteBeta": z.boolean(), + "LiteGraph.Canvas.LowQualityRenderingZoomThreshold": z.number() }).optional() ); class ComfyApi extends EventTarget { @@ -73523,7 +73870,7 @@ const router = createRouter({ { path: "", name: "GraphView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./GraphView-D9ZzDQZV.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./GraphView-CLFBgoGf.js"), true ? __vite__mapDeps([0,1,2,3,4,5,6]) : void 0, import.meta.url), "component"), beforeEnter: /* @__PURE__ */ __name(async (to, from2, next2) => { const userStore = useUserStore(); await userStore.initialize(); @@ -73537,60 +73884,66 @@ const router = createRouter({ { path: "user-select", name: "UserSelectView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./UserSelectView-wxa07xPk.js"), true ? __vite__mapDeps([6,7]) : void 0, import.meta.url), "component") + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./UserSelectView-CRPNAEVJ.js"), true ? __vite__mapDeps([7,8]) : void 0, import.meta.url), "component") }, { path: "server-start", name: "ServerStartView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ServerStartView-BpH4TXPO.js"), true ? __vite__mapDeps([8,7,9]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ServerStartView-BENqs5bD.js"), true ? __vite__mapDeps([9,8,10]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "install", name: "InstallView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./InstallView-CVZcZZXJ.js"), true ? __vite__mapDeps([10,11,12,7,13]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./InstallView-x9XCq0hC.js"), true ? __vite__mapDeps([11,12,13,8,14]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "welcome", name: "WelcomeView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./WelcomeView-BrXELNIm.js"), true ? __vite__mapDeps([14,7,15]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./WelcomeView-Cvtvw05C.js"), true ? __vite__mapDeps([15,8,16]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "not-supported", name: "NotSupportedView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./NotSupportedView-BUpntA4x.js"), true ? __vite__mapDeps([16,7,17]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./NotSupportedView-BzM0uuqA.js"), true ? __vite__mapDeps([17,8,18]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "download-git", name: "DownloadGitView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DownloadGitView-DVXUne-M.js"), true ? __vite__mapDeps([18,7]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DownloadGitView-SPK8AXQU.js"), true ? __vite__mapDeps([19,8]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "manual-configuration", name: "ManualConfigurationView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ManualConfigurationView-Cz0_f_T-.js"), true ? __vite__mapDeps([19,7,20]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ManualConfigurationView-D3on5kXY.js"), true ? __vite__mapDeps([20,8,21]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "/metrics-consent", name: "MetricsConsentView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MetricsConsentView-B5NlgqrS.js"), true ? __vite__mapDeps([21,7]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MetricsConsentView-DK20ednB.js"), true ? __vite__mapDeps([22,8]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "desktop-start", name: "DesktopStartView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopStartView-FKlxS2Lt.js"), true ? __vite__mapDeps([22,7]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopStartView-B2BMUZxW.js"), true ? __vite__mapDeps([23,8]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "maintenance", name: "MaintenanceView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MaintenanceView-Df7CHNWW.js"), true ? __vite__mapDeps([23,1,2,24,11,7,25]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MaintenanceView-BUmTZX1d.js"), true ? __vite__mapDeps([24,3,1,2,25,26,12,8,27]) : void 0, import.meta.url), "component"), + beforeEnter: guardElectronAccess + }, + { + path: "desktop-update", + name: "DesktopUpdateView", + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopUpdateView-DWsew03S.js"), true ? __vite__mapDeps([28,3,26,8,29]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess } ] @@ -75201,9 +75554,9 @@ function watchTriggerable(source, cb, options4 = {}) { cleanupFn = callback; } __name(onCleanup, "onCleanup"); - const _cb = /* @__PURE__ */ __name((value4, oldValue2) => { + const _cb = /* @__PURE__ */ __name((value4, oldValue) => { onEffect(); - return cb(value4, oldValue2, onCleanup); + return cb(value4, oldValue, onCleanup); }, "_cb"); const res = watchIgnorable(source, _cb, options4); const { ignoreUpdates } = res; @@ -76320,12 +76673,12 @@ function useBase64(target2, options4) { const img = _target.cloneNode(false); img.crossOrigin = "Anonymous"; imgLoaded(img).then(() => { - const canvas = document.createElement("canvas"); - const ctx = canvas.getContext("2d"); - canvas.width = img.width; - canvas.height = img.height; - ctx.drawImage(img, 0, 0, canvas.width, canvas.height); - resolve2(canvas.toDataURL(options4 == null ? void 0 : options4.type, options4 == null ? void 0 : options4.quality)); + const canvas2 = document.createElement("canvas"); + const ctx = canvas2.getContext("2d"); + canvas2.width = img.width; + canvas2.height = img.height; + ctx.drawImage(img, 0, 0, canvas2.width, canvas2.height); + resolve2(canvas2.toDataURL(options4 == null ? void 0 : options4.type, options4 == null ? void 0 : options4.quality)); }).catch(reject3); } else if (typeof _target === "object") { const _serializeFn = (options4 == null ? void 0 : options4.serializer) || getDefaultSerialization(_target); @@ -77040,12 +77393,12 @@ function useStorage(key, defaults2, storage, options4 = {}) { } if (!initOnMounted) update(); - function dispatchWriteEvent(oldValue2, newValue2) { + function dispatchWriteEvent(oldValue, newValue2) { if (window2 && !(storage instanceof Storage)) { window2.dispatchEvent(new CustomEvent(customStorageEventName, { detail: { key, - oldValue: oldValue2, + oldValue, newValue: newValue2, storageArea: storage } @@ -77055,15 +77408,15 @@ function useStorage(key, defaults2, storage, options4 = {}) { __name(dispatchWriteEvent, "dispatchWriteEvent"); function write(v2) { try { - const oldValue2 = storage.getItem(key); + const oldValue = storage.getItem(key); if (v2 == null) { - dispatchWriteEvent(oldValue2, null); + dispatchWriteEvent(oldValue, null); storage.removeItem(key); } else { const serialized = serializer.write(v2); - if (oldValue2 !== serialized) { + if (oldValue !== serialized) { storage.setItem(key, serialized); - dispatchWriteEvent(oldValue2, serialized); + dispatchWriteEvent(oldValue, serialized); } } } catch (e2) { @@ -77817,13 +78170,13 @@ function useDraggable(target2, options4 = {}) { const container = toValue$3(containerElement); const containerRect = (_a22 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a22.call(container); const targetRect = toValue$3(target2).getBoundingClientRect(); - const pos2 = { + const pos = { x: e2.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left), y: e2.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top) }; - if ((onStart == null ? void 0 : onStart(pos2, e2)) === false) + if ((onStart == null ? void 0 : onStart(pos, e2)) === false) return; - pressedDelta.value = pos2; + pressedDelta.value = pos; handleEvent(e2); }, "start"); const move = /* @__PURE__ */ __name((e2) => { @@ -78544,13 +78897,13 @@ function useFetch(url, ...args) { const errorEvent = createEventHook(); const finallyEvent = createEventHook(); const isFinished = ref(false); - const isFetching = ref(false); + const isFetching2 = ref(false); const aborted = ref(false); const statusCode = ref(null); const response = shallowRef(null); const error2 = shallowRef(null); const data26 = shallowRef(initialData || null); - const canAbort = computed(() => supportsAbort && isFetching.value); + const canAbort = computed(() => supportsAbort && isFetching2.value); let controller; let timer; const abort = /* @__PURE__ */ __name(() => { @@ -78565,7 +78918,7 @@ function useFetch(url, ...args) { } }, "abort"); const loading2 = /* @__PURE__ */ __name((isLoading) => { - isFetching.value = isLoading; + isFetching2.value = isLoading; isFinished.value = !isLoading; }, "loading"); if (timeout) @@ -78675,7 +79028,7 @@ function useFetch(url, ...args) { ); const shell = { isFinished: readonly(isFinished), - isFetching: readonly(isFetching), + isFetching: readonly(isFetching2), statusCode, response, error: error2, @@ -78704,7 +79057,7 @@ function useFetch(url, ...args) { }; function setMethod(method) { return (payload, payloadType) => { - if (!isFetching.value) { + if (!isFetching2.value) { config2.method = method; config2.payload = payload; config2.payloadType = payloadType; @@ -78737,7 +79090,7 @@ function useFetch(url, ...args) { __name(waitUntilFinished, "waitUntilFinished"); function setType2(type) { return () => { - if (!isFetching.value) { + if (!isFetching2.value) { config2.type = type; return { ...shell, @@ -80049,10 +80402,10 @@ function useMouse(options4 = {}) { const scrollHandler = /* @__PURE__ */ __name(() => { if (!_prevMouseEvent || !window2) return; - const pos2 = extractor(_prevMouseEvent); - if (_prevMouseEvent instanceof MouseEvent && pos2) { - x2.value = pos2[0] + window2.scrollX; - y2.value = pos2[1] + window2.scrollY; + const pos = extractor(_prevMouseEvent); + if (_prevMouseEvent instanceof MouseEvent && pos) { + x2.value = pos[0] + window2.scrollX; + y2.value = pos[1] + window2.scrollY; } }, "scrollHandler"); const reset2 = /* @__PURE__ */ __name(() => { @@ -80774,8 +81127,8 @@ function usePrevious(value4, initialValue) { const previous = shallowRef(initialValue); watch( toRef(value4), - (_2, oldValue2) => { - previous.value = oldValue2; + (_2, oldValue) => { + previous.value = oldValue; }, { flush: "sync" } ); @@ -84799,12 +85152,12 @@ var classes$B = { mask: /* @__PURE__ */ __name(function mask2(_ref3) { var props = _ref3.props; var positions = ["left", "right", "top", "topleft", "topright", "bottom", "bottomleft", "bottomright"]; - var pos2 = positions.find(function(item3) { + var pos = positions.find(function(item3) { return item3 === props.position; }); return ["p-dialog-mask", { "p-overlay-mask p-overlay-mask-enter": props.modal - }, pos2 ? "p-dialog-".concat(pos2) : ""]; + }, pos ? "p-dialog-".concat(pos) : ""]; }, "mask"), root: /* @__PURE__ */ __name(function root4(_ref4) { var props = _ref4.props, instance = _ref4.instance; @@ -85608,7 +85961,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({ }); const config$1 = { app_title: "ComfyUI", - app_version: "1.8.14" + app_version: "1.9.17" }; /*! * shared v9.13.1 @@ -86016,12 +86369,12 @@ function createTokenizer(source, options4 = {}) { }; const context = /* @__PURE__ */ __name(() => _context, "context"); const { onError } = options4; - function emitError(code2, pos2, offset, ...args) { + function emitError(code2, pos, offset, ...args) { const ctx = context(); - pos2.column += offset; - pos2.offset += offset; + pos.column += offset; + pos.offset += offset; if (onError) { - const loc = location2 ? createLocation(ctx.startLoc, pos2) : null; + const loc = location2 ? createLocation(ctx.startLoc, pos) : null; const err = createCompileError(code2, loc, { domain: ERROR_DOMAIN$3, args @@ -86758,14 +87111,14 @@ function createParser(options4 = {}) { return node3; } __name(startNode, "startNode"); - function endNode(node3, offset, pos2, type) { + function endNode(node3, offset, pos, type) { if (type) { node3.type = type; } if (location2) { node3.end = offset; if (node3.loc) { - node3.loc.end = pos2; + node3.loc.end = pos; } } } @@ -91962,7 +92315,8 @@ const g$5 = { workflow: "Workflow", success: "Success", ok: "OK", - feedback: "Feedback" + feedback: "Feedback", + "continue": "Continue" }; const issueReport$5 = { submitErrorReport: "Submit Error Report (Optional)", @@ -91989,6 +92343,39 @@ const color$5 = { yellow: "Yellow", custom: "Custom" }; +const contextMenu$5 = { + Inputs: "Inputs", + Outputs: "Outputs", + Properties: "Properties", + "Properties Panel": "Properties Panel", + Title: "Title", + Mode: "Mode", + Resize: "Resize", + Collapse: "Collapse", + Expand: "Expand", + Pin: "Pin", + Unpin: "Unpin", + Clone: "Clone", + Remove: "Remove", + Colors: "Colors", + Shapes: "Shapes", + Bypass: "Bypass", + "Copy (Clipspace)": "Copy (Clipspace)", + "Convert Widget to Input": "Convert Widget to Input", + "Convert Input to Widget": "Convert Input to Widget", + "Add Node": "Add Node", + "Add Group": "Add Group", + "Convert to Group Node": "Convert to Group Node", + "Manage Group Nodes": "Manage Group Nodes", + "Add Group For Selected Nodes": "Add Group For Selected Nodes", + "Save Selected as Template": "Save Selected as Template", + "Node Templates": "Node Templates", + Manage: "Manage", + "Convert ": "Convert ", + " to input": " to input", + " to widget": " to widget", + Search: "Search" +}; const icon$5 = { bookmark: "Bookmark", folder: "Folder", @@ -92170,6 +92557,7 @@ const sideToolbar$5 = { deleteFailed: "Attempt to delete the workflow failed.", dirtyCloseTitle: "Save Changes?", dirtyClose: "The files below have been changed. Would you like to save them before closing?", + dirtyCloseHint: "Hold Shift to close without prompt", confirmOverwriteTitle: "Overwrite existing file?", confirmOverwrite: "The file below already exists. Would you like to overwrite it?", workflowTreeType: { @@ -92591,6 +92979,7 @@ const dataTypes$5 = { WEBCAM: "WEBCAM" }; const maintenance$5 = { + title: "Maintenance", allOk: "No issues were detected.", status: "Status", detected: "Detected", @@ -92600,9 +92989,12 @@ const maintenance$5 = { Skipped: "Skipped", showManual: "Show maintenance tasks", confirmTitle: "Are you sure?", + terminalDefaultMessage: "When you run a troubleshooting command, any output will be shown here.", + consoleLogs: "Console Logs", error: { toastTitle: "Task error", taskFailed: "Task failed to run.", + cannotContinue: "Unable to continue - errors remain", defaultDescription: "An error occurred while running a maintenance task." } }; @@ -92611,10 +93003,29 @@ const missingModelsDialog$5 = { missingModels: "Missing Models", missingModelsMessage: "When loading the graph, the following models were not found" }; +const desktopUpdate$5 = { + title: "Updating ComfyUI Desktop", + description: "ComfyUI Desktop is installing new dependencies. This may take a few minutes.", + terminalDefaultMessage: "Any console output from the update will be shown here." +}; +const clipboard$5 = { + successMessage: "Copied to clipboard", + errorMessage: "Failed to copy to clipboard", + errorNotSupported: "Clipboard API not supported in your browser" +}; +const load3d$5 = { + switchCamera: "Switch Camera", + showGrid: "Show Grid", + backgroundColor: "Background Color", + lightIntensity: "Light Intensity", + fov: "FOV", + previewOutput: "Preview Output" +}; const en = { g: g$5, issueReport: issueReport$5, color: color$5, + contextMenu: contextMenu$5, icon: icon$5, welcome: welcome$5, userSelect: userSelect$5, @@ -92640,7 +93051,10 @@ const en = { nodeCategories: nodeCategories$5, dataTypes: dataTypes$5, maintenance: maintenance$5, - missingModelsDialog: missingModelsDialog$5 + missingModelsDialog: missingModelsDialog$5, + desktopUpdate: desktopUpdate$5, + clipboard: clipboard$5, + load3d: load3d$5 }; const AddNoise$5 = { display_name: "AddNoise", @@ -98766,13 +99180,20 @@ const Comfy_Workflow_WorkflowTabsPosition$5 = { "Topbar (2nd-row)": "Topbar (2nd-row)" } }; +const LiteGraph_Canvas_LowQualityRenderingZoomThreshold$5 = { + name: "Low quality rendering zoom threshold", + tooltip: "Render low quality shapes when zoomed out" +}; const LiteGraph_Canvas_MaximumFps$5 = { - name: "Maxium FPS", + name: "Maximum FPS", tooltip: "The maximum frames per second that the canvas is allowed to render. Caps GPU usage at the cost of smoothness. If 0, the screen refresh rate is used. Default: 0" }; const LiteGraph_ContextMenu_Scaling$5 = { name: "Scale node combo widget menus (lists) when zoomed in" }; +const LiteGraph_Node_TooltipDelay$5 = { + name: "Tooltip Delay" +}; const pysssss_SnapToGrid$5 = { name: "Always snap to grid" }; @@ -98870,8 +99291,10 @@ const enSettings = { Comfy_Workflow_ShowMissingNodesWarning: Comfy_Workflow_ShowMissingNodesWarning$5, Comfy_Workflow_SortNodeIdOnSave: Comfy_Workflow_SortNodeIdOnSave$5, Comfy_Workflow_WorkflowTabsPosition: Comfy_Workflow_WorkflowTabsPosition$5, + LiteGraph_Canvas_LowQualityRenderingZoomThreshold: LiteGraph_Canvas_LowQualityRenderingZoomThreshold$5, LiteGraph_Canvas_MaximumFps: LiteGraph_Canvas_MaximumFps$5, LiteGraph_ContextMenu_Scaling: LiteGraph_ContextMenu_Scaling$5, + LiteGraph_Node_TooltipDelay: LiteGraph_Node_TooltipDelay$5, pysssss_SnapToGrid: pysssss_SnapToGrid$5 }; const Comfy_BrowseTemplates$4 = { @@ -99125,6 +99548,11 @@ const frCommands = { Workspace_ToggleSidebarTab_queue: Workspace_ToggleSidebarTab_queue$4, Workspace_ToggleSidebarTab_workflows: Workspace_ToggleSidebarTab_workflows$4 }; +const clipboard$4 = { + errorMessage: "Échec de la copie dans le presse-papiers", + errorNotSupported: "L'API du presse-papiers n'est pas prise en charge par votre navigateur", + successMessage: "Copié dans le presse-papiers" +}; const color$4 = { blue: "Bleu", custom: "Personnalisé", @@ -99134,6 +99562,39 @@ const color$4 = { red: "Rouge", yellow: "Jaune" }; +const contextMenu$4 = { + " to input": " en entrée", + " to widget": " en widget", + "Add Group": "Ajouter un Groupe", + "Add Group For Selected Nodes": "Ajouter un Groupe pour les Nœuds Sélectionnés", + "Add Node": "Ajouter un Nœud", + Bypass: "Contourner", + Clone: "Cloner", + Collapse: "Réduire", + Colors: "Couleurs", + "Convert ": "Convertir ", + "Convert Input to Widget": "Convertir l'Entrée en Widget", + "Convert Widget to Input": "Convertir le Widget en Entrée", + "Convert to Group Node": "Convertir en Nœud de Groupe", + "Copy (Clipspace)": "Copier (Clipspace)", + Expand: "Développer", + Inputs: "Entrées", + Manage: "Gérer", + "Manage Group Nodes": "Gérer les Nœuds de Groupe", + Mode: "Mode", + "Node Templates": "Modèles de Nœuds", + Outputs: "Sorties", + Pin: "Épingler", + Properties: "Propriétés", + "Properties Panel": "Panneau des Propriétés", + Remove: "Supprimer", + Resize: "Redimensionner", + "Save Selected as Template": "Enregistrer la Sélection comme Modèle", + Search: "Recherche", + Shapes: "Formes", + Title: "Titre", + Unpin: "Désépingler" +}; const dataTypes$4 = { AUDIO: "AUDIO", BOOLEAN: "BOOLEAN", @@ -99174,6 +99635,11 @@ const desktopMenu$4 = { quit: "Quitter", reinstall: "Réinstaller" }; +const desktopUpdate$4 = { + description: "ComfyUI Desktop installe de nouvelles dépendances. Cela peut prendre quelques minutes.", + terminalDefaultMessage: "Toute sortie de console de la mise à jour sera affichée ici.", + title: "Mise à jour de ComfyUI Desktop" +}; const downloadGit$4 = { gitWebsite: "Télécharger git", instructions: "Veuillez télécharger et installer la dernière version pour votre système d'exploitation. Le bouton Télécharger git ci-dessous ouvre la page de téléchargement de git-scm.com.", @@ -99200,6 +99666,7 @@ const g$4 = { comingSoon: "Bientôt disponible", command: "Commande", confirm: "Confirmer", + "continue": "Continuer", copyToClipboard: "Copier dans le presse-papiers", currentUser: "Utilisateur actuel", customize: "Personnaliser", @@ -99393,21 +99860,33 @@ const issueReport$4 = { maxLength: "Message trop long" } }; +const load3d$4 = { + backgroundColor: "Couleur de fond", + fov: "FOV", + lightIntensity: "Intensité de la lumière", + previewOutput: "Aperçu de la sortie", + showGrid: "Afficher la grille", + switchCamera: "Changer de caméra" +}; const maintenance$4 = { None: "Aucun", OK: "OK", Skipped: "Ignoré", allOk: "Aucun problème détecté.", confirmTitle: "Êtes-vous sûr ?", + consoleLogs: "Journaux de la console", detected: "Détecté", error: { + cannotContinue: "Impossible de continuer - des erreurs subsistent", defaultDescription: "Une erreur s'est produite lors de l'exécution d'une tâche de maintenance.", taskFailed: "La tâche a échoué.", toastTitle: "Erreur de tâche" }, refreshing: "Actualisation", showManual: "Afficher les tâches de maintenance", - status: "Statut" + status: "Statut", + terminalDefaultMessage: "Lorsque vous exécutez une commande de dépannage, toute sortie sera affichée ici.", + title: "Maintenance" }; const menu$4 = { autoQueue: "File d'attente automatique", @@ -99805,6 +100284,7 @@ const sideToolbar$4 = { deleteFailedTitle: "Échec de la suppression", deleted: "Flux de travail supprimé", dirtyClose: "Les fichiers ci-dessous ont été modifiés. Souhaitez-vous les enregistrer avant de fermer ?", + dirtyCloseHint: "Maintenez Shift pour fermer sans invite", dirtyCloseTitle: "Enregistrer les modifications ?", workflowTreeType: { bookmarks: "Favoris", @@ -99849,9 +100329,12 @@ const workflowService$4 = { saveWorkflow: "Enregistrer le flux de travail" }; const fr = { + clipboard: clipboard$4, color: color$4, + contextMenu: contextMenu$4, dataTypes: dataTypes$4, desktopMenu: desktopMenu$4, + desktopUpdate: desktopUpdate$4, downloadGit: downloadGit$4, electronFileDownload: electronFileDownload$4, g: g$4, @@ -99860,6 +100343,7 @@ const fr = { icon: icon$4, install: install$4, issueReport: issueReport$4, + load3d: load3d$4, maintenance: maintenance$4, menu: menu$4, menuLabels: menuLabels$4, @@ -106003,6 +106487,10 @@ const Comfy_Workflow_WorkflowTabsPosition$4 = { "Topbar (2nd-row)": "Barre supérieure (2ème rangée)" } }; +const LiteGraph_Canvas_LowQualityRenderingZoomThreshold$4 = { + name: "Seuil de zoom pour le rendu de faible qualité", + tooltip: "Rendre des formes de faible qualité lorsqu'on est dézoomé" +}; const LiteGraph_Canvas_MaximumFps$4 = { name: "FPS maximum", tooltip: "Le nombre maximum d'images par seconde que le canevas est autorisé à rendre. Limite l'utilisation du GPU au détriment de la fluidité. Si 0, le taux de rafraîchissement de l'écran est utilisé. Par défaut : 0" @@ -106010,6 +106498,9 @@ const LiteGraph_Canvas_MaximumFps$4 = { const LiteGraph_ContextMenu_Scaling$4 = { name: "Mise à l'échelle des menus de widgets combinés de nœuds (listes) lors du zoom" }; +const LiteGraph_Node_TooltipDelay$4 = { + name: "Délai d'infobulle" +}; const pysssss_SnapToGrid$4 = { name: "Toujours aligner sur la grille" }; @@ -106107,8 +106598,10 @@ const frSettings = { Comfy_Workflow_ShowMissingNodesWarning: Comfy_Workflow_ShowMissingNodesWarning$4, Comfy_Workflow_SortNodeIdOnSave: Comfy_Workflow_SortNodeIdOnSave$4, Comfy_Workflow_WorkflowTabsPosition: Comfy_Workflow_WorkflowTabsPosition$4, + LiteGraph_Canvas_LowQualityRenderingZoomThreshold: LiteGraph_Canvas_LowQualityRenderingZoomThreshold$4, LiteGraph_Canvas_MaximumFps: LiteGraph_Canvas_MaximumFps$4, LiteGraph_ContextMenu_Scaling: LiteGraph_ContextMenu_Scaling$4, + LiteGraph_Node_TooltipDelay: LiteGraph_Node_TooltipDelay$4, pysssss_SnapToGrid: pysssss_SnapToGrid$4 }; const Comfy_BrowseTemplates$3 = { @@ -106121,10 +106614,10 @@ const Comfy_Canvas_ResetView$3 = { label: "ビューをリセット" }; const Comfy_Canvas_ToggleLinkVisibility$3 = { - label: "キャンバスのリンクの可視性を切り替え" + label: "キャンバスのリンク表示を切り替える" }; const Comfy_Canvas_ToggleLock$3 = { - label: "キャンバスのロックを切り替え" + label: "キャンバスのロックを切り替える" }; const Comfy_Canvas_ToggleSelectedNodes_Bypass$3 = { label: "選択したノードのバイパス/バイパス解除" @@ -106202,7 +106695,7 @@ const Comfy_LoadDefaultWorkflow$3 = { label: "デフォルトのワークフローを読み込む" }; const Comfy_NewBlankWorkflow$3 = { - label: "新しい空白のワークフロー" + label: "新しい空のワークフロー" }; const Comfy_OpenClipspace$3 = { label: "クリップスペース" @@ -106250,7 +106743,7 @@ const Workspace_SearchBox_Toggle$3 = { label: "検索ボックスの切り替え" }; const Workspace_ToggleBottomPanel$3 = { - label: "ボトムパネルの切り替え" + label: "パネル下部の切り替え" }; const Workspace_ToggleFocusMode$3 = { label: "フォーカスモードの切り替え" @@ -106345,10 +106838,10 @@ const jaCommands = { Workspace_SearchBox_Toggle: Workspace_SearchBox_Toggle$3, Workspace_ToggleBottomPanel: Workspace_ToggleBottomPanel$3, "Workspace_ToggleBottomPanelTab_command-terminal": { - label: "ターミナルボトムパネルの切り替え" + label: "ターミナルパネル下部の切り替え" }, "Workspace_ToggleBottomPanelTab_logs-terminal": { - label: "ログボトムパネルの切り替え" + label: "ログパネル下部の切り替え" }, Workspace_ToggleFocusMode: Workspace_ToggleFocusMode$3, "Workspace_ToggleSidebarTab_model-library": { @@ -106362,6 +106855,11 @@ const jaCommands = { Workspace_ToggleSidebarTab_queue: Workspace_ToggleSidebarTab_queue$3, Workspace_ToggleSidebarTab_workflows: Workspace_ToggleSidebarTab_workflows$3 }; +const clipboard$3 = { + errorMessage: "クリップボードへのコピーに失敗しました", + errorNotSupported: "お使いのブラウザではクリップボードAPIがサポートされていません", + successMessage: "クリップボードにコピーしました" +}; const color$3 = { blue: "青", custom: "カスタム", @@ -106371,6 +106869,39 @@ const color$3 = { red: "赤", yellow: "黄色" }; +const contextMenu$3 = { + " to input": " 入力へ", + " to widget": " ウィジェットへ", + "Add Group": "グループを追加", + "Add Group For Selected Nodes": "選択したノードのグループを追加", + "Add Node": "ノードを追加", + Bypass: "バイパス", + Clone: "クローン", + Collapse: "折りたたむ", + Colors: "色", + "Convert ": "変換 ", + "Convert Input to Widget": "入力をウィジェットに変換", + "Convert Widget to Input": "ウィジェットを入力に変換", + "Convert to Group Node": "グループノードに変換", + "Copy (Clipspace)": "コピー (Clipspace)", + Expand: "展開", + Inputs: "入力", + Manage: "管理", + "Manage Group Nodes": "グループノードを管理", + Mode: "モード", + "Node Templates": "ノードテンプレート", + Outputs: "出力", + Pin: "ピン", + Properties: "プロパティ", + "Properties Panel": "プロパティパネル", + Remove: "削除", + Resize: "リサイズ", + "Save Selected as Template": "選択したものをテンプレートとして保存", + Search: "検索", + Shapes: "形", + Title: "タイトル", + Unpin: "ピンを解除" +}; const dataTypes$3 = { AUDIO: "オーディオ", BOOLEAN: "ブール", @@ -106400,20 +106931,25 @@ const dataTypes$3 = { SIGMAS: "シグマ", STRING: "文字列", STYLE_MODEL: "スタイルモデル", - TIMESTEPS_RANGE: "タイムステップ範囲", + TIMESTEPS_RANGE: "タイムステップの範囲", UPSCALE_MODEL: "アップスケールモデル", VAE: "VAE", WEBCAM: "ウェブカメラ" }; const desktopMenu$3 = { - confirmQuit: "保存されていないワークフローが開いています。保存されていない変更はすべて失われます。これを無視して終了しますか?", + confirmQuit: "保存されていないワークフローを終了しようとしています。保存されていない変更はすべて失われます。これを無視して終了しますか?", confirmReinstall: "これにより、extra_models_config.yamlファイルがクリアされ、再インストールが開始されます。本当によろしいですか?", quit: "終了", reinstall: "再インストール" }; +const desktopUpdate$3 = { + description: "ComfyUIデスクトップは新しい依存関係をインストールしています。これには数分かかる場合があります。", + terminalDefaultMessage: "更新からの任意のコンソール出力はここに表示されます。", + title: "ComfyUIデスクトップの更新" +}; const downloadGit$3 = { gitWebsite: "Gitをダウンロード", - instructions: "お使いのオペレーティングシステムに最新バージョンをダウンロードしてインストールしてください。以下の「Gitをダウンロード」ボタンをクリックすると、git-scm.comのダウンロードページが開きます。", + instructions: "お使いのオペレーティングシステムに最新のバージョンをダウンロードしてインストールしてください。以下の「Gitをダウンロード」ボタンをクリックすると、git-scm.comのダウンロードページが開きます。", message: "Gitを見つけることができません。正常に動作するためには、Gitの作業コピーが必要です。", skip: "スキップ", title: "Gitをダウンロード", @@ -106437,6 +106973,7 @@ const g$3 = { comingSoon: "近日公開", command: "コマンド", confirm: "確認", + "continue": "続ける", copyToClipboard: "クリップボードにコピー", currentUser: "現在のユーザー", customize: "カスタマイズ", @@ -106454,7 +106991,7 @@ const g$3 = { extensionName: "拡張機能名", feedback: "フィードバック", findIssues: "問題を見つける", - firstTimeUIMessage: "新しいUIを初めて使用しています。「メニュー > 新しいメニューを使用 > 無効」を選択して古いUIに戻してください。", + firstTimeUIMessage: "新しいUIを初めて使用しています。「メニュー > 新しいメニューを使用 > 無効」を選択することで古いUIに戻すことが可能です。", goToNode: "ノードに移動", icon: "アイコン", imageFailedToLoad: "画像の読み込みに失敗しました", @@ -106488,7 +107025,7 @@ const g$3 = { resetKeybindingsTooltip: "キーバインディングをデフォルトにリセット", save: "保存", searchExtensions: "拡張機能を検索", - searchFailedMessage: "検索に一致する設定が見つかりませんでした。検索用語を調整してみてください。", + searchFailedMessage: "検索に一致する設定が見つかりませんでした。検索キーワードを調整してみてください。", searchKeybindings: "キーバインディングを検索", searchModels: "モデルを検索", searchNodes: "ノードを検索", @@ -106541,7 +107078,7 @@ const install$3 = { gpu: "GPU", gpuSelection: { cpuMode: "CPUモード", - cpuModeDescription: "CPUモードは開発者やまれなエッジケースのみを対象としています。", + cpuModeDescription: "CPUモードは開発者や、まれなエッジケースのみを対象としています。", cpuModeDescription2: "これが絶対に必要であることが確定していない場合は、このボックスを無視して上でGPUを選択してください。", customComfyNeedsPython: "ComfyUIはpythonがセットアップされるまで動作しません", customInstallRequirements: "すべての要件と依存関係をインストールする(例:カスタムtorch)", @@ -106566,13 +107103,13 @@ const install$3 = { title: "マニュアル設定", virtualEnvironmentPath: "仮想環境のパス" }, - metricsDisabled: "メトリクス無効", - metricsEnabled: "メトリクス有効", + metricsDisabled: "メトリクスを無効にする", + metricsEnabled: "メトリクスを有効にする", migrateFromExistingInstallation: "既存のインストールから移行", migration: "移行", migrationOptional: "移行は任意です。既存のインストールがない場合、このステップをスキップできます。", migrationSourcePathDescription: "既存のComfyUIインストールがある場合、既存のユーザーファイルとモデルを新しいインストールにコピー/リンクすることができます。既存のComfyUIインストールは影響を受けません。", - moreInfo: "詳細は、私たちの", + moreInfo: "詳しくはこちらをご覧ください", parentMissing: "パスが存在しません - 最初に含まれるディレクトリを作成してください", pathExists: "ディレクトリはすでに存在します - すべてのデータをバックアップしたことを確認してください", pathValidationFailed: "パスの検証に失敗しました", @@ -106612,7 +107149,7 @@ const install$3 = { }, systemLocations: "システムの場所", unhandledError: "未知のエラー", - updateConsent: "以前はクラッシュの報告に同意していました。現在、バグの特定とアプリの改善を助けるためにイベントベースのメトリクスを追跡しています。個人を特定できる情報は収集されません。" + updateConsent: "以前、クラッシュレポートを報告することに同意していました。現在、バグの特定とアプリの改善を助けるためにイベントベースのメトリクスを追跡しています。個人を特定できる情報は収集されません。" }; const issueReport$3 = { contactFollowUp: "フォローアップのために私に連絡する", @@ -106630,21 +107167,33 @@ const issueReport$3 = { maxLength: "メッセージが長すぎます" } }; +const load3d$3 = { + backgroundColor: "背景色", + fov: "FOV", + lightIntensity: "光の強度", + previewOutput: "出力のプレビュー", + showGrid: "グリッドを表示", + switchCamera: "カメラを切り替える" +}; const maintenance$3 = { None: "なし", OK: "OK", Skipped: "スキップされました", allOk: "問題は検出されませんでした。", confirmTitle: "よろしいですか?", + consoleLogs: "コンソールログ", detected: "検出されました", error: { + cannotContinue: "続行できません - エラーが残っています", defaultDescription: "メンテナンスタスクの実行中にエラーが発生しました。", taskFailed: "タスクの実行に失敗しました。", toastTitle: "タスクエラー" }, refreshing: "更新中", showManual: "メンテナンスタスクを表示", - status: "ステータス" + status: "ステータス", + terminalDefaultMessage: "トラブルシューティングコマンドを実行すると、出力はここに表示されます。", + title: "メンテナンス" }; const menu$3 = { autoQueue: "自動キュー", @@ -106725,12 +107274,12 @@ const menuLabels$3 = { "Show Settings Dialog": "設定ダイアログを表示", "Toggle Bottom Panel": "下部パネルの切り替え", "Toggle Focus Mode": "フォーカスモードの切り替え", - "Toggle Logs Bottom Panel": "ログボトムパネルを切り替え", + "Toggle Logs Bottom Panel": "ログパネル下部を切り替え", "Toggle Model Library Sidebar": "モデルライブラリサイドバーを切り替え", "Toggle Node Library Sidebar": "ノードライブラリサイドバーを切り替え", "Toggle Queue Sidebar": "キューサイドバーを切り替え", "Toggle Search Box": "検索ボックスの切り替え", - "Toggle Terminal Bottom Panel": "ターミナルボトムパネルを切り替え", + "Toggle Terminal Bottom Panel": "ターミナルパネル下部を切り替え", "Toggle Theme (Dark/Light)": "テーマを切り替え(ダーク/ライト)", "Toggle Workflows Sidebar": "ワークフローサイドバーを切り替え", Undo: "元に戻す", @@ -106749,7 +107298,7 @@ const nodeCategories$3 = { "3d_models": "3Dモデル", DevTools: "デブツール", _for_testing: "_テスト用", - advanced: "高度な", + advanced: "高度な機能", animation: "アニメーション", api: "API", attention_experiments: "アテンション実験", @@ -107042,6 +107591,7 @@ const sideToolbar$3 = { deleteFailedTitle: "削除に失敗しました", deleted: "ワークフローが削除されました", dirtyClose: "以下のファイルが変更されました。閉じる前に保存しますか?", + dirtyCloseHint: "Shiftキーを押しながら閉じると、プロンプトなしで閉じます", dirtyCloseTitle: "変更を保存しますか?", workflowTreeType: { bookmarks: "ブックマーク", @@ -107086,9 +107636,12 @@ const workflowService$3 = { saveWorkflow: "ワークフローを保存" }; const ja = { + clipboard: clipboard$3, color: color$3, + contextMenu: contextMenu$3, dataTypes: dataTypes$3, desktopMenu: desktopMenu$3, + desktopUpdate: desktopUpdate$3, downloadGit: downloadGit$3, electronFileDownload: electronFileDownload$3, g: g$3, @@ -107097,6 +107650,7 @@ const ja = { icon: icon$3, install: install$3, issueReport: issueReport$3, + load3d: load3d$3, maintenance: maintenance$3, menu: menu$3, menuLabels: menuLabels$3, @@ -113240,6 +113794,10 @@ const Comfy_Workflow_WorkflowTabsPosition$3 = { "Topbar (2nd-row)": "トップバー(2行目)" } }; +const LiteGraph_Canvas_LowQualityRenderingZoomThreshold$3 = { + name: "低品質レンダリングズーム閾値", + tooltip: "ズームアウト時に低品質の形状をレンダリングする" +}; const LiteGraph_Canvas_MaximumFps$3 = { name: "最大FPS", tooltip: "キャンバスがレンダリングできる最大フレーム数です。スムーズさの代わりにGPU使用量を制限します。0の場合、画面のリフレッシュレートが使用されます。デフォルト:0" @@ -113247,6 +113805,9 @@ const LiteGraph_Canvas_MaximumFps$3 = { const LiteGraph_ContextMenu_Scaling$3 = { name: "ズームイン時にノードコンボウィジェットメニュー(リスト)をスケーリングする" }; +const LiteGraph_Node_TooltipDelay$3 = { + name: "ツールチップ遅延" +}; const pysssss_SnapToGrid$3 = { name: "常にグリッドにスナップ" }; @@ -113344,8 +113905,10 @@ const jaSettings = { Comfy_Workflow_ShowMissingNodesWarning: Comfy_Workflow_ShowMissingNodesWarning$3, Comfy_Workflow_SortNodeIdOnSave: Comfy_Workflow_SortNodeIdOnSave$3, Comfy_Workflow_WorkflowTabsPosition: Comfy_Workflow_WorkflowTabsPosition$3, + LiteGraph_Canvas_LowQualityRenderingZoomThreshold: LiteGraph_Canvas_LowQualityRenderingZoomThreshold$3, LiteGraph_Canvas_MaximumFps: LiteGraph_Canvas_MaximumFps$3, LiteGraph_ContextMenu_Scaling: LiteGraph_ContextMenu_Scaling$3, + LiteGraph_Node_TooltipDelay: LiteGraph_Node_TooltipDelay$3, pysssss_SnapToGrid: pysssss_SnapToGrid$3 }; const Comfy_BrowseTemplates$2 = { @@ -113599,6 +114162,11 @@ const koCommands = { Workspace_ToggleSidebarTab_queue: Workspace_ToggleSidebarTab_queue$2, Workspace_ToggleSidebarTab_workflows: Workspace_ToggleSidebarTab_workflows$2 }; +const clipboard$2 = { + errorMessage: "클립보드에 복사하지 못했습니다", + errorNotSupported: "브라우저가 클립보드 API를 지원하지 않습니다.", + successMessage: "클립보드에 복사됨" +}; const color$2 = { blue: "파란색", custom: "사용자 정의", @@ -113608,6 +114176,39 @@ const color$2 = { red: "빨간색", yellow: "노란색" }; +const contextMenu$2 = { + " to input": " 위젯을 입력으로", + " to widget": " 입력을 위젯으로", + "Add Group": "그룹 추가", + "Add Group For Selected Nodes": "선택한 노드 그룹 추가", + "Add Node": "노드 추가", + Bypass: "실행 건너뛰기", + Clone: "복제", + Collapse: "접기", + Colors: "색상", + "Convert ": "[변환] ", + "Convert Input to Widget": "입력을 위젯으로 변환", + "Convert Widget to Input": "위젯을 입력으로 변환", + "Convert to Group Node": "그룹 노드로 변환", + "Copy (Clipspace)": "복사 (Clipspace)", + Expand: "확장", + Inputs: "입력", + Manage: "관리", + "Manage Group Nodes": "그룹 노드 관리", + Mode: "모드", + "Node Templates": "노드 템플릿", + Outputs: "출력", + Pin: "고정", + Properties: "속성", + "Properties Panel": "속성 패널", + Remove: "제거", + Resize: "크기 조정", + "Save Selected as Template": "선택된 부분을 템플릿으로 저장", + Search: "검색", + Shapes: "형태", + Title: "제목", + Unpin: "고정 해제" +}; const dataTypes$2 = { AUDIO: "오디오", BOOLEAN: "논리값", @@ -113648,6 +114249,11 @@ const desktopMenu$2 = { quit: "종료", reinstall: "재설치" }; +const desktopUpdate$2 = { + description: "ComfyUI 데스크톱이 새로운 종속성을 설치하고 있습니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.", + terminalDefaultMessage: "업데이트 콘솔 출력은 여기에 표시됩니다.", + title: "ComfyUI 데스크톱 업데이트 중" +}; const downloadGit$2 = { gitWebsite: "git 프로그램 다운로드", instructions: "운영 체제에 맞는 최신 버전을 다운로드하여 설치하십시오. 아래의 'git 프로그램 다운로드' 버튼을 클릭하면 git-scm.com 다운로드 페이지가 열립니다.", @@ -113674,6 +114280,7 @@ const g$2 = { comingSoon: "곧 출시 예정", command: "명령", confirm: "확인", + "continue": "계속", copyToClipboard: "클립보드에 복사", currentUser: "현재 사용자", customize: "사용자 정의", @@ -113867,21 +114474,33 @@ const issueReport$2 = { maxLength: "메시지가 너무 깁니다" } }; +const load3d$2 = { + backgroundColor: "배경색", + fov: "FOV", + lightIntensity: "조명 강도", + previewOutput: "출력 미리보기", + showGrid: "그리드 표시", + switchCamera: "카메라 전환" +}; const maintenance$2 = { None: "없음", OK: "확인", Skipped: "건너뜀", allOk: "문제가 발견되지 않았습니다.", confirmTitle: "확실합니까?", + consoleLogs: "콘솔 로그", detected: "감지됨", error: { + cannotContinue: "계속할 수 없습니다 - 오류가 남아 있습니다", defaultDescription: "유지 보수 작업을 실행하는 동안 오류가 발생했습니다.", taskFailed: "작업 실행에 실패했습니다.", toastTitle: "작업 오류" }, refreshing: "새로 고침 중", showManual: "유지 보수 작업 보기", - status: "상태" + status: "상태", + terminalDefaultMessage: "문제 해결 명령을 실행하면 출력이 여기에 표시됩니다.", + title: "유지 보수" }; const menu$2 = { autoQueue: "자동 실행 큐", @@ -114279,6 +114898,7 @@ const sideToolbar$2 = { deleteFailedTitle: "삭제 실패", deleted: "워크플로가 삭제되었습니다.", dirtyClose: "아래 파일들이 변경되었습니다. 닫기 전에 저장하시겠습니까?", + dirtyCloseHint: "프롬프트 없이 닫으려면 Shift를 누르세요", dirtyCloseTitle: "변경 사항 저장", workflowTreeType: { bookmarks: "북마크", @@ -114323,9 +114943,12 @@ const workflowService$2 = { saveWorkflow: "워크플로 저장" }; const ko = { + clipboard: clipboard$2, color: color$2, + contextMenu: contextMenu$2, dataTypes: dataTypes$2, desktopMenu: desktopMenu$2, + desktopUpdate: desktopUpdate$2, downloadGit: downloadGit$2, electronFileDownload: electronFileDownload$2, g: g$2, @@ -114334,6 +114957,7 @@ const ko = { icon: icon$2, install: install$2, issueReport: issueReport$2, + load3d: load3d$2, maintenance: maintenance$2, menu: menu$2, menuLabels: menuLabels$2, @@ -120477,6 +121101,10 @@ const Comfy_Workflow_WorkflowTabsPosition$2 = { "Topbar (2nd-row)": "상단바 (2번째 행)" } }; +const LiteGraph_Canvas_LowQualityRenderingZoomThreshold$2 = { + name: "저품질 렌더링 줌 임계값", + tooltip: "줌 아웃시 저품질 도형 렌더링" +}; const LiteGraph_Canvas_MaximumFps$2 = { name: "최대 FPS", tooltip: "캔버스가 렌더링할 수 있는 최대 프레임 수입니다. 부드럽게 동작하도록 GPU 사용률을 제한 합니다. 0이면 화면 주사율로 작동 합니다. 기본값: 0" @@ -120484,6 +121112,9 @@ const LiteGraph_Canvas_MaximumFps$2 = { const LiteGraph_ContextMenu_Scaling$2 = { name: "확대시 노드 콤보 위젯 메뉴 (목록) 스케일링" }; +const LiteGraph_Node_TooltipDelay$2 = { + name: "툴팁 지연" +}; const pysssss_SnapToGrid$2 = { name: "항상 그리드에 스냅" }; @@ -120581,8 +121212,10 @@ const koSettings = { Comfy_Workflow_ShowMissingNodesWarning: Comfy_Workflow_ShowMissingNodesWarning$2, Comfy_Workflow_SortNodeIdOnSave: Comfy_Workflow_SortNodeIdOnSave$2, Comfy_Workflow_WorkflowTabsPosition: Comfy_Workflow_WorkflowTabsPosition$2, + LiteGraph_Canvas_LowQualityRenderingZoomThreshold: LiteGraph_Canvas_LowQualityRenderingZoomThreshold$2, LiteGraph_Canvas_MaximumFps: LiteGraph_Canvas_MaximumFps$2, LiteGraph_ContextMenu_Scaling: LiteGraph_ContextMenu_Scaling$2, + LiteGraph_Node_TooltipDelay: LiteGraph_Node_TooltipDelay$2, pysssss_SnapToGrid: pysssss_SnapToGrid$2 }; const Comfy_BrowseTemplates$1 = { @@ -120836,6 +121469,11 @@ const ruCommands = { Workspace_ToggleSidebarTab_queue: Workspace_ToggleSidebarTab_queue$1, Workspace_ToggleSidebarTab_workflows: Workspace_ToggleSidebarTab_workflows$1 }; +const clipboard$1 = { + errorMessage: "Не удалось скопировать в буфер обмена", + errorNotSupported: "API буфера обмена не поддерживается в вашем браузере", + successMessage: "Скопировано в буфер обмена" +}; const color$1 = { blue: "Синий", custom: "Пользовательский", @@ -120845,6 +121483,39 @@ const color$1 = { red: "Красный", yellow: "Жёлтый" }; +const contextMenu$1 = { + " to input": " во вход", + " to widget": " в виджет", + "Add Group": "Добавить группу", + "Add Group For Selected Nodes": "Добавить группу для выбранных узлов", + "Add Node": "Добавить узел", + Bypass: "Обход", + Clone: "Клонировать", + Collapse: "Свернуть", + Colors: "Цвета", + "Convert ": "Преобразовать ", + "Convert Input to Widget": "Преобразовать вход в виджет", + "Convert Widget to Input": "Преобразовать виджет во вход", + "Convert to Group Node": "Преобразовать в групповой узел", + "Copy (Clipspace)": "Копировать (Clipspace)", + Expand: "Развернуть", + Inputs: "Входы", + Manage: "Управлять", + "Manage Group Nodes": "Управление групповыми узлами", + Mode: "Режим", + "Node Templates": "Шаблоны узлов", + Outputs: "Выходы", + Pin: "Закрепить", + Properties: "Свойства", + "Properties Panel": "Панель свойств", + Remove: "Удалить", + Resize: "Изменить размер", + "Save Selected as Template": "Сохранить выбранное как шаблон", + Search: "Поиск", + Shapes: "Формы", + Title: "Заголовок", + Unpin: "Открепить" +}; const dataTypes$1 = { AUDIO: "АУДИО", BOOLEAN: "БУЛЕВО", @@ -120885,6 +121556,11 @@ const desktopMenu$1 = { quit: "Выйти", reinstall: "Переустановить" }; +const desktopUpdate$1 = { + description: "ComfyUI Desktop устанавливает новые зависимости. Это может занять несколько минут.", + terminalDefaultMessage: "Любой вывод консоли из обновления будет отображаться здесь.", + title: "Обновление ComfyUI Desktop" +}; const downloadGit$1 = { gitWebsite: "Скачать git", instructions: "Пожалуйста, скачайте и установите последнюю версию для вашей операционной системы. Кнопка «Скачать git» ниже открывает страницу загрузок git-scm.com.", @@ -120911,6 +121587,7 @@ const g$1 = { comingSoon: "Скоро будет", command: "Команда", confirm: "Подтвердить", + "continue": "Продолжить", copyToClipboard: "Скопировать в буфер обмена", currentUser: "Текущий пользователь", customize: "Настроить", @@ -121104,21 +121781,33 @@ const issueReport$1 = { maxLength: "Сообщение слишком длинное" } }; +const load3d$1 = { + backgroundColor: "Цвет фона", + fov: "Угол обзора", + lightIntensity: "Интенсивность света", + previewOutput: "Предварительный просмотр", + showGrid: "Показать сетку", + switchCamera: "Переключить камеру" +}; const maintenance$1 = { None: "Нет", OK: "OK", Skipped: "Пропущено", allOk: "Проблем не обнаружено.", confirmTitle: "Вы уверены?", + consoleLogs: "Консольные журналы", detected: "Обнаружено", error: { + cannotContinue: "Невозможно продолжить - остались ошибки", defaultDescription: "Произошла ошибка при выполнении задачи по обслуживанию.", taskFailed: "Не удалось выполнить задачу.", toastTitle: "Ошибка задачи" }, refreshing: "Обновление", showManual: "Показать задачи по обслуживанию", - status: "Статус" + status: "Статус", + terminalDefaultMessage: "Когда вы запускаете команду для устранения неполадок, любой вывод будет отображаться здесь.", + title: "Обслуживание" }; const menu$1 = { autoQueue: "Автоочередь", @@ -121516,6 +122205,7 @@ const sideToolbar$1 = { deleteFailedTitle: "Не удалось удалить", deleted: "Рабочий процесс удалён", dirtyClose: "Файлы ниже были изменены. Вы хотите сохранить их перед закрытием?", + dirtyCloseHint: "Удерживайте Shift, чтобы закрыть без подсказки", dirtyCloseTitle: "Сохранить изменения?", workflowTreeType: { bookmarks: "Закладки", @@ -121560,9 +122250,12 @@ const workflowService$1 = { saveWorkflow: "Сохранить рабочий процесс" }; const ru = { + clipboard: clipboard$1, color: color$1, + contextMenu: contextMenu$1, dataTypes: dataTypes$1, desktopMenu: desktopMenu$1, + desktopUpdate: desktopUpdate$1, downloadGit: downloadGit$1, electronFileDownload: electronFileDownload$1, g: g$1, @@ -121571,6 +122264,7 @@ const ru = { icon: icon$1, install: install$1, issueReport: issueReport$1, + load3d: load3d$1, maintenance: maintenance$1, menu: menu$1, menuLabels: menuLabels$1, @@ -127714,6 +128408,10 @@ const Comfy_Workflow_WorkflowTabsPosition$1 = { "Topbar (2nd-row)": "Топбар (2-й ряд)" } }; +const LiteGraph_Canvas_LowQualityRenderingZoomThreshold$1 = { + name: "Порог масштабирования для рендеринга низкого качества", + tooltip: "Рендеринг фигур низкого качества при уменьшении масштаба" +}; const LiteGraph_Canvas_MaximumFps$1 = { name: "Максимум FPS", tooltip: "Максимальное количество кадров в секунду, которое холст может рендерить. Ограничивает использование GPU за счёт плавности. Если 0, используется частота обновления экрана. По умолчанию: 0" @@ -127721,6 +128419,9 @@ const LiteGraph_Canvas_MaximumFps$1 = { const LiteGraph_ContextMenu_Scaling$1 = { name: "Масштабирование комбинированных виджетов меню узлов (списков) при увеличении" }; +const LiteGraph_Node_TooltipDelay$1 = { + name: "Задержка всплывающей подсказки" +}; const pysssss_SnapToGrid$1 = { name: "Всегда привязываться к сетке" }; @@ -127818,8 +128519,10 @@ const ruSettings = { Comfy_Workflow_ShowMissingNodesWarning: Comfy_Workflow_ShowMissingNodesWarning$1, Comfy_Workflow_SortNodeIdOnSave: Comfy_Workflow_SortNodeIdOnSave$1, Comfy_Workflow_WorkflowTabsPosition: Comfy_Workflow_WorkflowTabsPosition$1, + LiteGraph_Canvas_LowQualityRenderingZoomThreshold: LiteGraph_Canvas_LowQualityRenderingZoomThreshold$1, LiteGraph_Canvas_MaximumFps: LiteGraph_Canvas_MaximumFps$1, LiteGraph_ContextMenu_Scaling: LiteGraph_ContextMenu_Scaling$1, + LiteGraph_Node_TooltipDelay: LiteGraph_Node_TooltipDelay$1, pysssss_SnapToGrid: pysssss_SnapToGrid$1 }; const Comfy_BrowseTemplates = { @@ -128073,6 +128776,11 @@ const zhCommands = { Workspace_ToggleSidebarTab_queue, Workspace_ToggleSidebarTab_workflows }; +const clipboard = { + errorMessage: "复制到剪贴板失败", + errorNotSupported: "您的浏览器不支持剪贴板API", + successMessage: "已复制到剪贴板" +}; const color = { blue: "蓝色", custom: "自定义", @@ -128082,6 +128790,39 @@ const color = { red: "红色", yellow: "黄色" }; +const contextMenu = { + " to input": " 为输入", + " to widget": " 为控件", + "Add Group": "添加组", + "Add Group For Selected Nodes": "为选定节点添加组", + "Add Node": "添加节点", + Bypass: "绕过", + Clone: "克隆", + Collapse: "折叠", + Colors: "颜色", + "Convert ": "转换 ", + "Convert Input to Widget": "将输入转换为控件", + "Convert Widget to Input": "将控件转换为输入", + "Convert to Group Node": "转换为组节点", + "Copy (Clipspace)": "复制 (Clipspace)", + Expand: "展开", + Inputs: "输入", + Manage: "管理", + "Manage Group Nodes": "管理组节点", + Mode: "模式", + "Node Templates": "节点模板", + Outputs: "输出", + Pin: "固定", + Properties: "属性", + "Properties Panel": "属性面板", + Remove: "删除", + Resize: "调整大小", + "Save Selected as Template": "将选定节点另存为模板", + Search: "搜索", + Shapes: "形状", + Title: "标题", + Unpin: "取消固定" +}; const dataTypes = { AUDIO: "音频", BOOLEAN: "布尔", @@ -128122,6 +128863,11 @@ const desktopMenu = { quit: "退出", reinstall: "重新安装" }; +const desktopUpdate = { + description: "ComfyUI桌面正在安装新的依赖项。这可能需要几分钟的时间。", + terminalDefaultMessage: "更新过程中的任何控制台输出都将在这里显示。", + title: "正在更新ComfyUI桌面" +}; const downloadGit = { gitWebsite: "下载 git", instructions: "请下载并安装适合您操作系统的最新版本。下面的下载 git 按钮将打开 git-scm.com 下载页面。", @@ -128148,6 +128894,7 @@ const g = { comingSoon: "即将推出", command: "指令", confirm: "确认", + "continue": "继续", copyToClipboard: "复制到剪贴板", currentUser: "当前用户", customize: "自定义", @@ -128341,21 +129088,33 @@ const issueReport = { maxLength: "消息过长" } }; +const load3d = { + backgroundColor: "背景颜色", + fov: "视场", + lightIntensity: "光照强度", + previewOutput: "预览输出", + showGrid: "显示网格", + switchCamera: "切换摄像头" +}; const maintenance = { None: "无", OK: "确定", Skipped: "跳过", allOk: "未检测到任何问题。", confirmTitle: "你确定吗?", + consoleLogs: "控制台日志", detected: "检测到", error: { + cannotContinue: "无法继续 - 仍有错误", defaultDescription: "运行维护任务时发生错误。", taskFailed: "任务运行失败。", toastTitle: "任务错误" }, refreshing: "刷新中", showManual: "显示维护任务", - status: "状态" + status: "状态", + terminalDefaultMessage: "当你运行一个故障排除命令时,任何输出都会在这里显示。", + title: "维护" }; const menu = { autoQueue: "自动执行", @@ -128753,6 +129512,7 @@ const sideToolbar = { deleteFailedTitle: "删除失败", deleted: "工作流已删除", dirtyClose: "以下文件已被更改。您想在关闭之前保存它们吗?", + dirtyCloseHint: "按住 Shift 关闭而不提示", dirtyCloseTitle: "保存更改?", workflowTreeType: { bookmarks: "书签", @@ -128797,9 +129557,12 @@ const workflowService = { saveWorkflow: "保存工作流" }; const zh = { + clipboard, color, + contextMenu, dataTypes, desktopMenu, + desktopUpdate, downloadGit, electronFileDownload, g, @@ -128808,6 +129571,7 @@ const zh = { icon, install, issueReport, + load3d, maintenance, menu, menuLabels, @@ -134951,6 +135715,10 @@ const Comfy_Workflow_WorkflowTabsPosition = { "Topbar (2nd-row)": "顶部栏 (第二行)" } }; +const LiteGraph_Canvas_LowQualityRenderingZoomThreshold = { + name: "低质量渲染缩放阈值", + tooltip: "在缩小时渲染低质量形状" +}; const LiteGraph_Canvas_MaximumFps = { name: "最大FPS", tooltip: "画布允许渲染的最大帧数。限制GPU使用以换取流畅度。如果为0,则使用屏幕刷新率。默认值:0" @@ -134958,6 +135726,9 @@ const LiteGraph_Canvas_MaximumFps = { const LiteGraph_ContextMenu_Scaling = { name: "放大时缩放节点组合部件菜单(列表)" }; +const LiteGraph_Node_TooltipDelay = { + name: "工具提示延迟" +}; const pysssss_SnapToGrid = { name: "始终吸附到网格" }; @@ -135055,8 +135826,10 @@ const zhSettings = { Comfy_Workflow_ShowMissingNodesWarning, Comfy_Workflow_SortNodeIdOnSave, Comfy_Workflow_WorkflowTabsPosition, + LiteGraph_Canvas_LowQualityRenderingZoomThreshold, LiteGraph_Canvas_MaximumFps, LiteGraph_ContextMenu_Scaling, + LiteGraph_Node_TooltipDelay, pysssss_SnapToGrid }; function buildLocale(main, nodes, commands2, settings) { @@ -141171,7 +141944,219 @@ var lodash = lodash$1.exports; })(lodash$1, lodash$1.exports); var lodashExports = lodash$1.exports; const _ = /* @__PURE__ */ getDefaultExportFromCjs(lodashExports); -const _hoisted_1$17 = { class: "prompt-dialog-content flex flex-col gap-6 m-2 mt-4" }; +var theme$w = /* @__PURE__ */ __name(function theme10(_ref) { + var dt2 = _ref.dt; + return "\n.p-message {\n border-radius: ".concat(dt2("message.border.radius"), ";\n outline-width: ").concat(dt2("message.border.width"), ";\n outline-style: solid;\n}\n\n.p-message-content {\n display: flex;\n align-items: center;\n padding: ").concat(dt2("message.content.padding"), ";\n gap: ").concat(dt2("message.content.gap"), ";\n height: 100%;\n}\n\n.p-message-icon {\n flex-shrink: 0;\n}\n\n.p-message-close-button {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-inline-start: auto;\n overflow: hidden;\n position: relative;\n width: ").concat(dt2("message.close.button.width"), ";\n height: ").concat(dt2("message.close.button.height"), ";\n border-radius: ").concat(dt2("message.close.button.border.radius"), ";\n background: transparent;\n transition: background ").concat(dt2("message.transition.duration"), ", color ").concat(dt2("message.transition.duration"), ", outline-color ").concat(dt2("message.transition.duration"), ", box-shadow ").concat(dt2("message.transition.duration"), ", opacity 0.3s;\n outline-color: transparent;\n color: inherit;\n padding: 0;\n border: none;\n cursor: pointer;\n user-select: none;\n}\n\n.p-message-close-icon {\n font-size: ").concat(dt2("message.close.icon.size"), ";\n width: ").concat(dt2("message.close.icon.size"), ";\n height: ").concat(dt2("message.close.icon.size"), ";\n}\n\n.p-message-close-button:focus-visible {\n outline-width: ").concat(dt2("message.close.button.focus.ring.width"), ";\n outline-style: ").concat(dt2("message.close.button.focus.ring.style"), ";\n outline-offset: ").concat(dt2("message.close.button.focus.ring.offset"), ";\n}\n\n.p-message-info {\n background: ").concat(dt2("message.info.background"), ";\n outline-color: ").concat(dt2("message.info.border.color"), ";\n color: ").concat(dt2("message.info.color"), ";\n box-shadow: ").concat(dt2("message.info.shadow"), ";\n}\n\n.p-message-info .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.info.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.info.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-info .p-message-close-button:hover {\n background: ").concat(dt2("message.info.close.button.hover.background"), ";\n}\n\n.p-message-info.p-message-outlined {\n color: ").concat(dt2("message.info.outlined.color"), ";\n outline-color: ").concat(dt2("message.info.outlined.border.color"), ";\n}\n\n.p-message-info.p-message-simple {\n color: ").concat(dt2("message.info.simple.color"), ";\n}\n\n.p-message-success {\n background: ").concat(dt2("message.success.background"), ";\n outline-color: ").concat(dt2("message.success.border.color"), ";\n color: ").concat(dt2("message.success.color"), ";\n box-shadow: ").concat(dt2("message.success.shadow"), ";\n}\n\n.p-message-success .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.success.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.success.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-success .p-message-close-button:hover {\n background: ").concat(dt2("message.success.close.button.hover.background"), ";\n}\n\n.p-message-success.p-message-outlined {\n color: ").concat(dt2("message.success.outlined.color"), ";\n outline-color: ").concat(dt2("message.success.outlined.border.color"), ";\n}\n\n.p-message-success.p-message-simple {\n color: ").concat(dt2("message.success.simple.color"), ";\n}\n\n.p-message-warn {\n background: ").concat(dt2("message.warn.background"), ";\n outline-color: ").concat(dt2("message.warn.border.color"), ";\n color: ").concat(dt2("message.warn.color"), ";\n box-shadow: ").concat(dt2("message.warn.shadow"), ";\n}\n\n.p-message-warn .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.warn.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.warn.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-warn .p-message-close-button:hover {\n background: ").concat(dt2("message.warn.close.button.hover.background"), ";\n}\n\n.p-message-warn.p-message-outlined {\n color: ").concat(dt2("message.warn.outlined.color"), ";\n outline-color: ").concat(dt2("message.warn.outlined.border.color"), ";\n}\n\n.p-message-warn.p-message-simple {\n color: ").concat(dt2("message.warn.simple.color"), ";\n}\n\n.p-message-error {\n background: ").concat(dt2("message.error.background"), ";\n outline-color: ").concat(dt2("message.error.border.color"), ";\n color: ").concat(dt2("message.error.color"), ";\n box-shadow: ").concat(dt2("message.error.shadow"), ";\n}\n\n.p-message-error .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.error.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.error.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-error .p-message-close-button:hover {\n background: ").concat(dt2("message.error.close.button.hover.background"), ";\n}\n\n.p-message-error.p-message-outlined {\n color: ").concat(dt2("message.error.outlined.color"), ";\n outline-color: ").concat(dt2("message.error.outlined.border.color"), ";\n}\n\n.p-message-error.p-message-simple {\n color: ").concat(dt2("message.error.simple.color"), ";\n}\n\n.p-message-secondary {\n background: ").concat(dt2("message.secondary.background"), ";\n outline-color: ").concat(dt2("message.secondary.border.color"), ";\n color: ").concat(dt2("message.secondary.color"), ";\n box-shadow: ").concat(dt2("message.secondary.shadow"), ";\n}\n\n.p-message-secondary .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.secondary.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.secondary.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-secondary .p-message-close-button:hover {\n background: ").concat(dt2("message.secondary.close.button.hover.background"), ";\n}\n\n.p-message-secondary.p-message-outlined {\n color: ").concat(dt2("message.secondary.outlined.color"), ";\n outline-color: ").concat(dt2("message.secondary.outlined.border.color"), ";\n}\n\n.p-message-secondary.p-message-simple {\n color: ").concat(dt2("message.secondary.simple.color"), ";\n}\n\n.p-message-contrast {\n background: ").concat(dt2("message.contrast.background"), ";\n outline-color: ").concat(dt2("message.contrast.border.color"), ";\n color: ").concat(dt2("message.contrast.color"), ";\n box-shadow: ").concat(dt2("message.contrast.shadow"), ";\n}\n\n.p-message-contrast .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.contrast.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.contrast.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-contrast .p-message-close-button:hover {\n background: ").concat(dt2("message.contrast.close.button.hover.background"), ";\n}\n\n.p-message-contrast.p-message-outlined {\n color: ").concat(dt2("message.contrast.outlined.color"), ";\n outline-color: ").concat(dt2("message.contrast.outlined.border.color"), ";\n}\n\n.p-message-contrast.p-message-simple {\n color: ").concat(dt2("message.contrast.simple.color"), ";\n}\n\n.p-message-text {\n font-size: ").concat(dt2("message.text.font.size"), ";\n font-weight: ").concat(dt2("message.text.font.weight"), ";\n}\n\n.p-message-icon {\n font-size: ").concat(dt2("message.icon.size"), ";\n width: ").concat(dt2("message.icon.size"), ";\n height: ").concat(dt2("message.icon.size"), ";\n}\n\n.p-message-enter-from {\n opacity: 0;\n}\n\n.p-message-enter-active {\n transition: opacity 0.3s;\n}\n\n.p-message.p-message-leave-from {\n max-height: 1000px;\n}\n\n.p-message.p-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin: 0;\n}\n\n.p-message-leave-active {\n overflow: hidden;\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin 0.3s;\n}\n\n.p-message-leave-active .p-message-close-button {\n opacity: 0;\n}\n\n.p-message-sm .p-message-content {\n padding: ").concat(dt2("message.content.sm.padding"), ";\n}\n\n.p-message-sm .p-message-text {\n font-size: ").concat(dt2("message.text.sm.font.size"), ";\n}\n\n.p-message-sm .p-message-icon {\n font-size: ").concat(dt2("message.icon.sm.size"), ";\n width: ").concat(dt2("message.icon.sm.size"), ";\n height: ").concat(dt2("message.icon.sm.size"), ";\n}\n\n.p-message-sm .p-message-close-icon {\n font-size: ").concat(dt2("message.close.icon.sm.size"), ";\n width: ").concat(dt2("message.close.icon.sm.size"), ";\n height: ").concat(dt2("message.close.icon.sm.size"), ";\n}\n\n.p-message-lg .p-message-content {\n padding: ").concat(dt2("message.content.lg.padding"), ";\n}\n\n.p-message-lg .p-message-text {\n font-size: ").concat(dt2("message.text.lg.font.size"), ";\n}\n\n.p-message-lg .p-message-icon {\n font-size: ").concat(dt2("message.icon.lg.size"), ";\n width: ").concat(dt2("message.icon.lg.size"), ";\n height: ").concat(dt2("message.icon.lg.size"), ";\n}\n\n.p-message-lg .p-message-close-icon {\n font-size: ").concat(dt2("message.close.icon.lg.size"), ";\n width: ").concat(dt2("message.close.icon.lg.size"), ";\n height: ").concat(dt2("message.close.icon.lg.size"), ";\n}\n\n.p-message-outlined {\n background: transparent;\n outline-width: ").concat(dt2("message.outlined.border.width"), ";\n}\n\n.p-message-simple {\n background: transparent;\n outline-color: transparent;\n box-shadow: none;\n}\n\n.p-message-simple .p-message-content {\n padding: ").concat(dt2("message.simple.content.padding"), ";\n}\n\n.p-message-outlined .p-message-close-button:hover,\n.p-message-simple .p-message-close-button:hover {\n background: transparent;\n}\n"); +}, "theme"); +var classes$A = { + root: /* @__PURE__ */ __name(function root5(_ref2) { + var props = _ref2.props; + return ["p-message p-component p-message-" + props.severity, { + "p-message-outlined": props.variant === "outlined", + "p-message-simple": props.variant === "simple", + "p-message-sm": props.size === "small", + "p-message-lg": props.size === "large" + }]; + }, "root"), + content: "p-message-content", + icon: "p-message-icon", + text: "p-message-text", + closeButton: "p-message-close-button", + closeIcon: "p-message-close-icon" +}; +var MessageStyle = BaseStyle$1.extend({ + name: "message", + theme: theme$w, + classes: classes$A +}); +var script$1$A = { + name: "BaseMessage", + "extends": script$14, + props: { + severity: { + type: String, + "default": "info" + }, + closable: { + type: Boolean, + "default": false + }, + life: { + type: Number, + "default": null + }, + icon: { + type: String, + "default": void 0 + }, + closeIcon: { + type: String, + "default": void 0 + }, + closeButtonProps: { + type: null, + "default": null + }, + size: { + type: String, + "default": null + }, + variant: { + type: String, + "default": null + } + }, + style: MessageStyle, + provide: /* @__PURE__ */ __name(function provide9() { + return { + $pcMessage: this, + $parentInstance: this + }; + }, "provide") +}; +var script$S = { + name: "Message", + "extends": script$1$A, + inheritAttrs: false, + emits: ["close", "life-end"], + timeout: null, + data: /* @__PURE__ */ __name(function data5() { + return { + visible: true + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted6() { + var _this = this; + if (this.life) { + setTimeout(function() { + _this.visible = false; + _this.$emit("life-end"); + }, this.life); + } + }, "mounted"), + methods: { + close: /* @__PURE__ */ __name(function close3(event) { + this.visible = false; + this.$emit("close", event); + }, "close") + }, + computed: { + closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel2() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0; + }, "closeAriaLabel") + }, + directives: { + ripple: Ripple + }, + components: { + TimesIcon: script$_ + } +}; +function _typeof$g(o2) { + "@babel/helpers - typeof"; + return _typeof$g = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { + return typeof o3; + } : function(o3) { + return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3; + }, _typeof$g(o2); +} +__name(_typeof$g, "_typeof$g"); +function ownKeys$i(e2, r2) { + var t2 = Object.keys(e2); + if (Object.getOwnPropertySymbols) { + var o2 = Object.getOwnPropertySymbols(e2); + r2 && (o2 = o2.filter(function(r3) { + return Object.getOwnPropertyDescriptor(e2, r3).enumerable; + })), t2.push.apply(t2, o2); + } + return t2; +} +__name(ownKeys$i, "ownKeys$i"); +function _objectSpread$i(e2) { + for (var r2 = 1; r2 < arguments.length; r2++) { + var t2 = null != arguments[r2] ? arguments[r2] : {}; + r2 % 2 ? ownKeys$i(Object(t2), true).forEach(function(r3) { + _defineProperty$i(e2, r3, t2[r3]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$i(Object(t2)).forEach(function(r3) { + Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3)); + }); + } + return e2; +} +__name(_objectSpread$i, "_objectSpread$i"); +function _defineProperty$i(e2, r2, t2) { + return (r2 = _toPropertyKey$f(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; +} +__name(_defineProperty$i, "_defineProperty$i"); +function _toPropertyKey$f(t2) { + var i2 = _toPrimitive$f(t2, "string"); + return "symbol" == _typeof$g(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$f, "_toPropertyKey$f"); +function _toPrimitive$f(t2, r2) { + if ("object" != _typeof$g(t2) || !t2) return t2; + var e2 = t2[Symbol.toPrimitive]; + if (void 0 !== e2) { + var i2 = e2.call(t2, r2 || "default"); + if ("object" != _typeof$g(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r2 ? String : Number)(t2); +} +__name(_toPrimitive$f, "_toPrimitive$f"); +var _hoisted_1$17 = ["aria-label"]; +function render$Q(_ctx, _cache, $props, $setup, $data, $options) { + var _component_TimesIcon = resolveComponent("TimesIcon"); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createBlock(Transition, mergeProps$2({ + name: "p-message", + appear: "" + }, _ctx.ptmi("transition")), { + "default": withCtx(function() { + return [withDirectives(createBaseVNode("div", mergeProps$2({ + "class": _ctx.cx("root"), + role: "alert", + "aria-live": "assertive", + "aria-atomic": "true" + }, _ctx.ptm("root")), [_ctx.$slots.container ? renderSlot(_ctx.$slots, "container", { + key: 0, + closeCallback: $options.close + }) : (openBlock(), createElementBlock("div", mergeProps$2({ + key: 1, + "class": _ctx.cx("content") + }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "icon", { + "class": normalizeClass(_ctx.cx("icon")) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon ? "span" : null), mergeProps$2({ + "class": [_ctx.cx("icon"), _ctx.icon] + }, _ctx.ptm("icon")), null, 16, ["class"]))]; + }), _ctx.$slots["default"] ? (openBlock(), createElementBlock("div", mergeProps$2({ + key: 0, + "class": _ctx.cx("text") + }, _ctx.ptm("text")), [renderSlot(_ctx.$slots, "default")], 16)) : createCommentVNode("", true), _ctx.closable ? withDirectives((openBlock(), createElementBlock("button", mergeProps$2({ + key: 1, + "class": _ctx.cx("closeButton"), + "aria-label": $options.closeAriaLabel, + type: "button", + onClick: _cache[0] || (_cache[0] = function($event) { + return $options.close($event); + }) + }, _objectSpread$i(_objectSpread$i({}, _ctx.closeButtonProps), _ctx.ptm("closeButton"))), [renderSlot(_ctx.$slots, "closeicon", {}, function() { + return [_ctx.closeIcon ? (openBlock(), createElementBlock("i", mergeProps$2({ + key: 0, + "class": [_ctx.cx("closeIcon"), _ctx.closeIcon] + }, _ctx.ptm("closeIcon")), null, 16)) : (openBlock(), createBlock(_component_TimesIcon, mergeProps$2({ + key: 1, + "class": [_ctx.cx("closeIcon"), _ctx.closeIcon] + }, _ctx.ptm("closeIcon")), null, 16, ["class"]))]; + })], 16, _hoisted_1$17)), [[_directive_ripple]]) : createCommentVNode("", true)], 16))], 16), [[vShow, $data.visible]])]; + }), + _: 3 + }, 16); +} +__name(render$Q, "render$Q"); +script$S.render = render$Q; +const _hoisted_1$16 = { class: "prompt-dialog-content flex flex-col gap-6 m-2 mt-4" }; const _hoisted_2$L = { key: 0, class: "pl-4 m-0 flex flex-col gap-2" @@ -141183,7 +142168,8 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({ message: {}, type: {}, onConfirm: { type: Function }, - itemList: {} + itemList: {}, + hint: {} }, setup(__props) { const props = __props; @@ -141197,13 +142183,25 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({ useDialogStore().closeDialog(); }, "onConfirm"); return (_ctx, _cache) => { - return openBlock(), createElementBlock("section", _hoisted_1$17, [ + return openBlock(), createElementBlock("section", _hoisted_1$16, [ createBaseVNode("span", null, toDisplayString$1(_ctx.message), 1), _ctx.itemList?.length ? (openBlock(), createElementBlock("ul", _hoisted_2$L, [ (openBlock(true), createElementBlock(Fragment$1, null, renderList(_ctx.itemList, (item3) => { return openBlock(), createElementBlock("li", { key: item3 }, toDisplayString$1(item3), 1); }), 128)) ])) : createCommentVNode("", true), + _ctx.hint ? (openBlock(), createBlock(unref(script$S), { + key: 1, + icon: "pi pi-info-circle", + severity: "secondary", + size: "small", + variant: "simple" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString$1(_ctx.hint), 1) + ]), + _: 1 + })) : createCommentVNode("", true), createBaseVNode("div", _hoisted_3$u, [ createVNode(unref(script$V), { label: _ctx.$t("g.cancel"), @@ -141260,13 +142258,13 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({ }; } }); -const ConfirmationDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["__scopeId", "data-v-3df70997"]]); -var theme$w = /* @__PURE__ */ __name(function theme10(_ref) { +const ConfirmationDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["__scopeId", "data-v-4f1e3bbe"]]); +var theme$v = /* @__PURE__ */ __name(function theme11(_ref) { var dt2 = _ref.dt; return "\n.p-divider-horizontal {\n display: flex;\n width: 100%;\n position: relative;\n align-items: center;\n margin: ".concat(dt2("divider.horizontal.margin"), ";\n padding: ").concat(dt2("divider.horizontal.padding"), ';\n}\n\n.p-divider-horizontal:before {\n position: absolute;\n display: block;\n inset-block-start: 50%;\n inset-inline-start: 0;\n width: 100%;\n content: "";\n border-block-start: 1px solid ').concat(dt2("divider.border.color"), ";\n}\n\n.p-divider-horizontal .p-divider-content {\n padding: ").concat(dt2("divider.horizontal.content.padding"), ";\n}\n\n.p-divider-vertical {\n min-height: 100%;\n display: flex;\n position: relative;\n justify-content: center;\n margin: ").concat(dt2("divider.vertical.margin"), ";\n padding: ").concat(dt2("divider.vertical.padding"), ';\n}\n\n.p-divider-vertical:before {\n position: absolute;\n display: block;\n inset-block-start: 0;\n inset-inline-start: 50%;\n height: 100%;\n content: "";\n border-inline-start: 1px solid ').concat(dt2("divider.border.color"), ";\n}\n\n.p-divider.p-divider-vertical .p-divider-content {\n padding: ").concat(dt2("divider.vertical.content.padding"), ";\n}\n\n.p-divider-content {\n z-index: 1;\n background: ").concat(dt2("divider.content.background"), ";\n color: ").concat(dt2("divider.content.color"), ";\n}\n\n.p-divider-solid.p-divider-horizontal:before {\n border-block-start-style: solid;\n}\n\n.p-divider-solid.p-divider-vertical:before {\n border-inline-start-style: solid;\n}\n\n.p-divider-dashed.p-divider-horizontal:before {\n border-block-start-style: dashed;\n}\n\n.p-divider-dashed.p-divider-vertical:before {\n border-inline-start-style: dashed;\n}\n\n.p-divider-dotted.p-divider-horizontal:before {\n border-block-start-style: dotted;\n}\n\n.p-divider-dotted.p-divider-vertical:before {\n border-inline-start-style: dotted;\n}\n\n.p-divider-left:dir(rtl),\n.p-divider-right:dir(rtl) {\n flex-direction: row-reverse;\n}\n"); }, "theme"); var inlineStyles$3 = { - root: /* @__PURE__ */ __name(function root5(_ref2) { + root: /* @__PURE__ */ __name(function root6(_ref2) { var props = _ref2.props; return { justifyContent: props.layout === "horizontal" ? props.align === "center" || props.align === null ? "center" : props.align === "left" ? "flex-start" : props.align === "right" ? "flex-end" : null : null, @@ -141274,8 +142272,8 @@ var inlineStyles$3 = { }; }, "root") }; -var classes$A = { - root: /* @__PURE__ */ __name(function root6(_ref3) { +var classes$z = { + root: /* @__PURE__ */ __name(function root7(_ref3) { var props = _ref3.props; return ["p-divider p-component", "p-divider-" + props.layout, "p-divider-" + props.type, { "p-divider-left": props.layout === "horizontal" && (!props.align || props.align === "left") @@ -141295,11 +142293,11 @@ var classes$A = { }; var DividerStyle = BaseStyle$1.extend({ name: "divider", - theme: theme$w, - classes: classes$A, + theme: theme$v, + classes: classes$z, inlineStyles: inlineStyles$3 }); -var script$1$A = { +var script$1$z = { name: "BaseDivider", "extends": script$14, props: { @@ -141317,20 +142315,20 @@ var script$1$A = { } }, style: DividerStyle, - provide: /* @__PURE__ */ __name(function provide9() { + provide: /* @__PURE__ */ __name(function provide10() { return { $pcDivider: this, $parentInstance: this }; }, "provide") }; -var script$S = { +var script$R = { name: "Divider", - "extends": script$1$A, + "extends": script$1$z, inheritAttrs: false }; -var _hoisted_1$16 = ["aria-orientation"]; -function render$Q(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$15 = ["aria-orientation"]; +function render$P(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", mergeProps$2({ "class": _ctx.cx("root"), style: _ctx.sx("root"), @@ -141339,15 +142337,15 @@ function render$Q(_ctx, _cache, $props, $setup, $data, $options) { }, _ctx.ptmi("root")), [_ctx.$slots["default"] ? (openBlock(), createElementBlock("div", mergeProps$2({ key: 0, "class": _ctx.cx("content") - }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$16); + }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$15); } -__name(render$Q, "render$Q"); -script$S.render = render$Q; -var theme$v = /* @__PURE__ */ __name(function theme11(_ref) { +__name(render$P, "render$P"); +script$R.render = render$P; +var theme$u = /* @__PURE__ */ __name(function theme12(_ref) { var dt2 = _ref.dt; return "\n.p-scrollpanel-content-container {\n overflow: hidden;\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n float: left;\n}\n\n.p-scrollpanel-content {\n height: calc(100% + calc(2 * ".concat(dt2("scrollpanel.bar.size"), "));\n width: calc(100% + calc(2 * ").concat(dt2("scrollpanel.bar.size"), "));\n padding-inline: 0 calc(2 * ").concat(dt2("scrollpanel.bar.size"), ");\n padding-block: 0 calc(2 * ").concat(dt2("scrollpanel.bar.size"), ");\n position: relative;\n overflow: auto;\n box-sizing: border-box;\n scrollbar-width: none;\n}\n\n.p-scrollpanel-content::-webkit-scrollbar {\n display: none;\n}\n\n.p-scrollpanel-bar {\n position: relative;\n border-radius: ").concat(dt2("scrollpanel.bar.border.radius"), ";\n z-index: 2;\n cursor: pointer;\n opacity: 0;\n outline-color: transparent;\n background: ").concat(dt2("scrollpanel.bar.background"), ";\n border: 0 none;\n transition: outline-color ").concat(dt2("scrollpanel.transition.duration"), ", opacity ").concat(dt2("scrollpanel.transition.duration"), ";\n}\n\n.p-scrollpanel-bar:focus-visible {\n box-shadow: ").concat(dt2("scrollpanel.bar.focus.ring.shadow"), ";\n outline: ").concat(dt2("scrollpanel.barfocus.ring.width"), " ").concat(dt2("scrollpanel.bar.focus.ring.style"), " ").concat(dt2("scrollpanel.bar.focus.ring.color"), ";\n outline-offset: ").concat(dt2("scrollpanel.barfocus.ring.offset"), ";\n}\n\n.p-scrollpanel-bar-y {\n width: ").concat(dt2("scrollpanel.bar.size"), ";\n inset-block-start: 0;\n}\n\n.p-scrollpanel-bar-x {\n height: ").concat(dt2("scrollpanel.bar.size"), ";\n inset-block-end: 0;\n}\n\n.p-scrollpanel-hidden {\n visibility: hidden;\n}\n\n.p-scrollpanel:hover .p-scrollpanel-bar,\n.p-scrollpanel:active .p-scrollpanel-bar {\n opacity: 1;\n}\n\n.p-scrollpanel-grabbed {\n user-select: none;\n}\n"); }, "theme"); -var classes$z = { +var classes$y = { root: "p-scrollpanel p-component", contentContainer: "p-scrollpanel-content-container", content: "p-scrollpanel-content", @@ -141356,10 +142354,10 @@ var classes$z = { }; var ScrollPanelStyle = BaseStyle$1.extend({ name: "scrollpanel", - theme: theme$v, - classes: classes$z + theme: theme$u, + classes: classes$y }); -var script$1$z = { +var script$1$y = { name: "BaseScrollPanel", "extends": script$14, props: { @@ -141369,16 +142367,16 @@ var script$1$z = { } }, style: ScrollPanelStyle, - provide: /* @__PURE__ */ __name(function provide10() { + provide: /* @__PURE__ */ __name(function provide11() { return { $pcScrollPanel: this, $parentInstance: this }; }, "provide") }; -var script$R = { +var script$Q = { name: "ScrollPanel", - "extends": script$1$z, + "extends": script$1$y, inheritAttrs: false, initialized: false, documentResizeListener: null, @@ -141393,7 +142391,7 @@ var script$R = { lastPageY: null, timer: null, outsideClickListener: null, - data: /* @__PURE__ */ __name(function data5() { + data: /* @__PURE__ */ __name(function data6() { return { id: this.$attrs.id, orientation: "vertical", @@ -141406,7 +142404,7 @@ var script$R = { this.id = newValue2 || UniqueComponentId(); }, "$attrsId") }, - mounted: /* @__PURE__ */ __name(function mounted6() { + mounted: /* @__PURE__ */ __name(function mounted7() { this.id = this.id || UniqueComponentId(); if (this.$el.offsetParent) { this.initialize(); @@ -141675,10 +142673,10 @@ var script$R = { }, "contentId") } }; -var _hoisted_1$15 = ["id"]; +var _hoisted_1$14 = ["id"]; var _hoisted_2$K = ["aria-controls", "aria-valuenow"]; var _hoisted_3$t = ["aria-controls", "aria-valuenow"]; -function render$P(_ctx, _cache, $props, $setup, $data, $options) { +function render$O(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", mergeProps$2({ "class": _ctx.cx("root") }, _ctx.ptmi("root")), [createBaseVNode("div", mergeProps$2({ @@ -141693,7 +142691,7 @@ function render$P(_ctx, _cache, $props, $setup, $data, $options) { onMouseenter: _cache[1] || (_cache[1] = function() { return $options.moveBar && $options.moveBar.apply($options, arguments); }) - }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$15)], 16), createBaseVNode("div", mergeProps$2({ + }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$14)], 16), createBaseVNode("div", mergeProps$2({ ref: "xBar", "class": _ctx.cx("barx"), tabindex: "0", @@ -141742,13 +142740,13 @@ function render$P(_ctx, _cache, $props, $setup, $data, $options) { "data-pc-group-section": "bar" }), null, 16, _hoisted_3$t)], 16); } -__name(render$P, "render$P"); -script$R.render = render$P; -var theme$u = /* @__PURE__ */ __name(function theme12(_ref) { +__name(render$O, "render$O"); +script$Q.render = render$O; +var theme$t = /* @__PURE__ */ __name(function theme13(_ref) { var dt2 = _ref.dt; return "\n.p-card {\n background: ".concat(dt2("card.background"), ";\n color: ").concat(dt2("card.color"), ";\n box-shadow: ").concat(dt2("card.shadow"), ";\n border-radius: ").concat(dt2("card.border.radius"), ";\n display: flex;\n flex-direction: column;\n}\n\n.p-card-caption {\n display: flex;\n flex-direction: column;\n gap: ").concat(dt2("card.caption.gap"), ";\n}\n\n.p-card-body {\n padding: ").concat(dt2("card.body.padding"), ";\n display: flex;\n flex-direction: column;\n gap: ").concat(dt2("card.body.gap"), ";\n}\n\n.p-card-title {\n font-size: ").concat(dt2("card.title.font.size"), ";\n font-weight: ").concat(dt2("card.title.font.weight"), ";\n}\n\n.p-card-subtitle {\n color: ").concat(dt2("card.subtitle.color"), ";\n}\n"); }, "theme"); -var classes$y = { +var classes$x = { root: "p-card p-component", header: "p-card-header", body: "p-card-body", @@ -141760,26 +142758,26 @@ var classes$y = { }; var CardStyle = BaseStyle$1.extend({ name: "card", - theme: theme$u, - classes: classes$y + theme: theme$t, + classes: classes$x }); -var script$1$y = { +var script$1$x = { name: "BaseCard", "extends": script$14, style: CardStyle, - provide: /* @__PURE__ */ __name(function provide11() { + provide: /* @__PURE__ */ __name(function provide12() { return { $pcCard: this, $parentInstance: this }; }, "provide") }; -var script$Q = { +var script$P = { name: "Card", - "extends": script$1$y, + "extends": script$1$x, inheritAttrs: false }; -function render$O(_ctx, _cache, $props, $setup, $data, $options) { +function render$N(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", mergeProps$2({ "class": _ctx.cx("root") }, _ctx.ptmi("root")), [_ctx.$slots.header ? (openBlock(), createElementBlock("div", mergeProps$2({ @@ -141803,9 +142801,9 @@ function render$O(_ctx, _cache, $props, $setup, $data, $options) { "class": _ctx.cx("footer") }, _ctx.ptm("footer")), [renderSlot(_ctx.$slots, "footer")], 16)) : createCommentVNode("", true)], 16)], 16); } -__name(render$O, "render$O"); -script$Q.render = render$O; -const _hoisted_1$14 = { class: "flex flex-col items-center" }; +__name(render$N, "render$N"); +script$P.render = render$N; +const _hoisted_1$13 = { class: "flex flex-col items-center" }; const _hoisted_2$J = { class: "whitespace-pre-line text-center" }; const _sfc_main$Z = /* @__PURE__ */ defineComponent({ __name: "NoResultsPlaceholder", @@ -141823,9 +142821,9 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({ return openBlock(), createElementBlock("div", { class: normalizeClass(["no-results-placeholder p-8 h-full", props.class]) }, [ - createVNode(unref(script$Q), null, { + createVNode(unref(script$P), null, { content: withCtx(() => [ - createBaseVNode("div", _hoisted_1$14, [ + createBaseVNode("div", _hoisted_1$13, [ createBaseVNode("i", { class: normalizeClass(_ctx.icon), style: { "font-size": "3rem", "margin-bottom": "1rem" } @@ -141881,22 +142879,22 @@ function useCopyToClipboard() { await copy2(text2); toast.add({ severity: "success", - summary: "Success", - detail: "Copied to clipboard", + summary: t("g.success"), + detail: t("clipboard.successMessage"), life: 3e3 }); } catch (err) { toast.add({ severity: "error", - summary: "Error", - detail: "Failed to copy report" + summary: t("g.error"), + detail: t("clipboard.errorMessage") }); } } else { toast.add({ severity: "error", - summary: "Error", - detail: "Clipboard API not supported in your browser" + summary: t("g.error"), + detail: t("clipboard.errorNotSupported") }); } }, "copyToClipboard"); @@ -143351,15 +144349,15 @@ function handler() { } __name(handler, "handler"); var ZIndex = handler(); -function _typeof$g(o2) { +function _typeof$f(o2) { "@babel/helpers - typeof"; - return _typeof$g = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { + return _typeof$f = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { return typeof o3; } : function(o3) { return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3; - }, _typeof$g(o2); + }, _typeof$f(o2); } -__name(_typeof$g, "_typeof$g"); +__name(_typeof$f, "_typeof$f"); function _slicedToArray$4(r2, e2) { return _arrayWithHoles$4(r2) || _iterableToArrayLimit$4(r2, e2) || _unsupportedIterableToArray$g(r2, e2) || _nonIterableRest$4(); } @@ -143406,7 +144404,7 @@ function _arrayWithHoles$4(r2) { if (Array.isArray(r2)) return r2; } __name(_arrayWithHoles$4, "_arrayWithHoles$4"); -function ownKeys$i(e2, r2) { +function ownKeys$h(e2, r2) { var t2 = Object.keys(e2); if (Object.getOwnPropertySymbols) { var o2 = Object.getOwnPropertySymbols(e2); @@ -143416,39 +144414,39 @@ function ownKeys$i(e2, r2) { } return t2; } -__name(ownKeys$i, "ownKeys$i"); -function _objectSpread$i(e2) { +__name(ownKeys$h, "ownKeys$h"); +function _objectSpread$h(e2) { for (var r2 = 1; r2 < arguments.length; r2++) { var t2 = null != arguments[r2] ? arguments[r2] : {}; - r2 % 2 ? ownKeys$i(Object(t2), true).forEach(function(r3) { - _defineProperty$i(e2, r3, t2[r3]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$i(Object(t2)).forEach(function(r3) { + r2 % 2 ? ownKeys$h(Object(t2), true).forEach(function(r3) { + _defineProperty$h(e2, r3, t2[r3]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$h(Object(t2)).forEach(function(r3) { Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3)); }); } return e2; } -__name(_objectSpread$i, "_objectSpread$i"); -function _defineProperty$i(e2, r2, t2) { - return (r2 = _toPropertyKey$f(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; +__name(_objectSpread$h, "_objectSpread$h"); +function _defineProperty$h(e2, r2, t2) { + return (r2 = _toPropertyKey$e(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; } -__name(_defineProperty$i, "_defineProperty$i"); -function _toPropertyKey$f(t2) { - var i2 = _toPrimitive$f(t2, "string"); - return "symbol" == _typeof$g(i2) ? i2 : i2 + ""; +__name(_defineProperty$h, "_defineProperty$h"); +function _toPropertyKey$e(t2) { + var i2 = _toPrimitive$e(t2, "string"); + return "symbol" == _typeof$f(i2) ? i2 : i2 + ""; } -__name(_toPropertyKey$f, "_toPropertyKey$f"); -function _toPrimitive$f(t2, r2) { - if ("object" != _typeof$g(t2) || !t2) return t2; +__name(_toPropertyKey$e, "_toPropertyKey$e"); +function _toPrimitive$e(t2, r2) { + if ("object" != _typeof$f(t2) || !t2) return t2; var e2 = t2[Symbol.toPrimitive]; if (void 0 !== e2) { var i2 = e2.call(t2, r2 || "default"); - if ("object" != _typeof$g(i2)) return i2; + if ("object" != _typeof$f(i2)) return i2; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r2 ? String : Number)(t2); } -__name(_toPrimitive$f, "_toPrimitive$f"); +__name(_toPrimitive$e, "_toPrimitive$e"); function _regeneratorRuntime() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = /* @__PURE__ */ __name(function _regeneratorRuntime2() { @@ -143512,7 +144510,7 @@ function _regeneratorRuntime() { var c3 = tryCatch(t3[r4], t3, o3); if ("throw" !== c3.type) { var u3 = c3.arg, h3 = u3.value; - return h3 && "object" == _typeof$g(h3) && n2.call(h3, "__await") ? e3.resolve(h3.__await).then(function(t4) { + return h3 && "object" == _typeof$f(h3) && n2.call(h3, "__await") ? e3.resolve(h3.__await).then(function(t4) { invoke2("next", t4, i3, a3); }, function(t4) { invoke2("throw", t4, i3, a3); @@ -143606,7 +144604,7 @@ function _regeneratorRuntime() { return i3.next = i3; } } - throw new TypeError(_typeof$g(e3) + " is not iterable"); + throw new TypeError(_typeof$f(e3) + " is not iterable"); } __name(values, "values"); return GeneratorFunction.prototype = GeneratorFunctionPrototype, o2(g2, "constructor", { value: GeneratorFunctionPrototype, configurable: true }), o2(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: true }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u2, "GeneratorFunction"), e2.isGeneratorFunction = function(t3) { @@ -143852,11 +144850,11 @@ var useForm = /* @__PURE__ */ __name(function useForm2() { }; watch(function() { return states[field2].value; - }, function(newValue2, oldValue2) { + }, function(newValue2, oldValue) { if (states[field2].pristine) { states[field2].pristine = false; } - if (newValue2 !== oldValue2) { + if (newValue2 !== oldValue) { states[field2].dirty = true; } validateFieldOn(field2, fieldOptions, "validateOnValueUpdate", true); @@ -143874,7 +144872,7 @@ var useForm = /* @__PURE__ */ __name(function useForm2() { return validateOn("validateOnSubmit", true); case 2: results = _context2.sent; - return _context2.abrupt("return", callback(_objectSpread$i({ + return _context2.abrupt("return", callback(_objectSpread$h({ originalEvent: event, valid: toValue$4(valid), states: toValue$4(states), @@ -143974,7 +144972,7 @@ var useForm = /* @__PURE__ */ __name(function useForm2() { _context3.t5 = {}; case 33: fieldResult = _context3.t5; - isArray$7(fieldResult.errors) && (fieldResult.errors = _defineProperty$i({}, fieldName, fieldResult.errors)); + isArray$7(fieldResult.errors) && (fieldResult.errors = _defineProperty$h({}, fieldName, fieldResult.errors)); result = mergeKeys$1(result, fieldResult); case 36: errors2 = (_result$errors$fieldN = result.errors[fieldName]) !== null && _result$errors$fieldN !== void 0 ? _result$errors$fieldN : []; @@ -144746,16 +145744,16 @@ var Base = { this._loadedStyleNames.clear(); }, "clearLoadedStyleNames") }; -function _typeof$f(o2) { +function _typeof$e(o2) { "@babel/helpers - typeof"; - return _typeof$f = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { + return _typeof$e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { return typeof o3; } : function(o3) { return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3; - }, _typeof$f(o2); + }, _typeof$e(o2); } -__name(_typeof$f, "_typeof$f"); -function ownKeys$h(e2, r2) { +__name(_typeof$e, "_typeof$e"); +function ownKeys$g(e2, r2) { var t2 = Object.keys(e2); if (Object.getOwnPropertySymbols) { var o2 = Object.getOwnPropertySymbols(e2); @@ -144765,39 +145763,39 @@ function ownKeys$h(e2, r2) { } return t2; } -__name(ownKeys$h, "ownKeys$h"); -function _objectSpread$h(e2) { +__name(ownKeys$g, "ownKeys$g"); +function _objectSpread$g(e2) { for (var r2 = 1; r2 < arguments.length; r2++) { var t2 = null != arguments[r2] ? arguments[r2] : {}; - r2 % 2 ? ownKeys$h(Object(t2), true).forEach(function(r3) { - _defineProperty$h(e2, r3, t2[r3]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$h(Object(t2)).forEach(function(r3) { + r2 % 2 ? ownKeys$g(Object(t2), true).forEach(function(r3) { + _defineProperty$g(e2, r3, t2[r3]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$g(Object(t2)).forEach(function(r3) { Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3)); }); } return e2; } -__name(_objectSpread$h, "_objectSpread$h"); -function _defineProperty$h(e2, r2, t2) { - return (r2 = _toPropertyKey$e(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; +__name(_objectSpread$g, "_objectSpread$g"); +function _defineProperty$g(e2, r2, t2) { + return (r2 = _toPropertyKey$d(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; } -__name(_defineProperty$h, "_defineProperty$h"); -function _toPropertyKey$e(t2) { - var i2 = _toPrimitive$e(t2, "string"); - return "symbol" == _typeof$f(i2) ? i2 : i2 + ""; +__name(_defineProperty$g, "_defineProperty$g"); +function _toPropertyKey$d(t2) { + var i2 = _toPrimitive$d(t2, "string"); + return "symbol" == _typeof$e(i2) ? i2 : i2 + ""; } -__name(_toPropertyKey$e, "_toPropertyKey$e"); -function _toPrimitive$e(t2, r2) { - if ("object" != _typeof$f(t2) || !t2) return t2; +__name(_toPropertyKey$d, "_toPropertyKey$d"); +function _toPrimitive$d(t2, r2) { + if ("object" != _typeof$e(t2) || !t2) return t2; var e2 = t2[Symbol.toPrimitive]; if (void 0 !== e2) { var i2 = e2.call(t2, r2 || "default"); - if ("object" != _typeof$f(i2)) return i2; + if ("object" != _typeof$e(i2)) return i2; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r2 ? String : Number)(t2); } -__name(_toPrimitive$e, "_toPrimitive$e"); +__name(_toPrimitive$d, "_toPrimitive$d"); function tryOnMounted(fn) { var sync = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; if (getCurrentInstance()) onMounted(fn); @@ -144818,7 +145816,7 @@ function useStyle(css4) { var load3 = /* @__PURE__ */ __name(function load4(_css) { var _props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; if (!document2) return; - var _styleProps = _objectSpread$h(_objectSpread$h({}, props), _props); + var _styleProps = _objectSpread$g(_objectSpread$g({}, props), _props); var _name = _styleProps.name || name2, _id2 = _styleProps.id || id3, _nonce = _styleProps.nonce || nonce; styleRef.value = document2.querySelector('style[data-primevue-style-id="'.concat(_name, '"]')) || document2.getElementById(_id2) || document2.createElement("style"); if (!styleRef.value.isConnected) { @@ -144866,15 +145864,15 @@ function useStyle(css4) { }; } __name(useStyle, "useStyle"); -function _typeof$e(o2) { +function _typeof$d(o2) { "@babel/helpers - typeof"; - return _typeof$e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { + return _typeof$d = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { return typeof o3; } : function(o3) { return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3; - }, _typeof$e(o2); + }, _typeof$d(o2); } -__name(_typeof$e, "_typeof$e"); +__name(_typeof$d, "_typeof$d"); function _slicedToArray$3(r2, e2) { return _arrayWithHoles$3(r2) || _iterableToArrayLimit$3(r2, e2) || _unsupportedIterableToArray$f(r2, e2) || _nonIterableRest$3(); } @@ -144921,7 +145919,7 @@ function _arrayWithHoles$3(r2) { if (Array.isArray(r2)) return r2; } __name(_arrayWithHoles$3, "_arrayWithHoles$3"); -function ownKeys$g(e2, r2) { +function ownKeys$f(e2, r2) { var t2 = Object.keys(e2); if (Object.getOwnPropertySymbols) { var o2 = Object.getOwnPropertySymbols(e2); @@ -144931,40 +145929,40 @@ function ownKeys$g(e2, r2) { } return t2; } -__name(ownKeys$g, "ownKeys$g"); -function _objectSpread$g(e2) { +__name(ownKeys$f, "ownKeys$f"); +function _objectSpread$f(e2) { for (var r2 = 1; r2 < arguments.length; r2++) { var t2 = null != arguments[r2] ? arguments[r2] : {}; - r2 % 2 ? ownKeys$g(Object(t2), true).forEach(function(r3) { - _defineProperty$g(e2, r3, t2[r3]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$g(Object(t2)).forEach(function(r3) { + r2 % 2 ? ownKeys$f(Object(t2), true).forEach(function(r3) { + _defineProperty$f(e2, r3, t2[r3]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$f(Object(t2)).forEach(function(r3) { Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3)); }); } return e2; } -__name(_objectSpread$g, "_objectSpread$g"); -function _defineProperty$g(e2, r2, t2) { - return (r2 = _toPropertyKey$d(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; +__name(_objectSpread$f, "_objectSpread$f"); +function _defineProperty$f(e2, r2, t2) { + return (r2 = _toPropertyKey$c(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; } -__name(_defineProperty$g, "_defineProperty$g"); -function _toPropertyKey$d(t2) { - var i2 = _toPrimitive$d(t2, "string"); - return "symbol" == _typeof$e(i2) ? i2 : i2 + ""; +__name(_defineProperty$f, "_defineProperty$f"); +function _toPropertyKey$c(t2) { + var i2 = _toPrimitive$c(t2, "string"); + return "symbol" == _typeof$d(i2) ? i2 : i2 + ""; } -__name(_toPropertyKey$d, "_toPropertyKey$d"); -function _toPrimitive$d(t2, r2) { - if ("object" != _typeof$e(t2) || !t2) return t2; +__name(_toPropertyKey$c, "_toPropertyKey$c"); +function _toPrimitive$c(t2, r2) { + if ("object" != _typeof$d(t2) || !t2) return t2; var e2 = t2[Symbol.toPrimitive]; if (void 0 !== e2) { var i2 = e2.call(t2, r2 || "default"); - if ("object" != _typeof$e(i2)) return i2; + if ("object" != _typeof$d(i2)) return i2; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r2 ? String : Number)(t2); } -__name(_toPrimitive$d, "_toPrimitive$d"); -var theme$t = /* @__PURE__ */ __name(function theme13(_ref) { +__name(_toPrimitive$c, "_toPrimitive$c"); +var theme$s = /* @__PURE__ */ __name(function theme14(_ref) { var dt2 = _ref.dt; return "\n*,\n::before,\n::after {\n box-sizing: border-box;\n}\n\n/* Non vue overlay animations */\n.p-connected-overlay {\n opacity: 0;\n transform: scaleY(0.8);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1),\n opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-connected-overlay-visible {\n opacity: 1;\n transform: scaleY(1);\n}\n\n.p-connected-overlay-hidden {\n opacity: 0;\n transform: scaleY(1);\n transition: opacity 0.1s linear;\n}\n\n/* Vue based overlay animations */\n.p-connected-overlay-enter-from {\n opacity: 0;\n transform: scaleY(0.8);\n}\n\n.p-connected-overlay-leave-to {\n opacity: 0;\n}\n\n.p-connected-overlay-enter-active {\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1),\n opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-connected-overlay-leave-active {\n transition: opacity 0.1s linear;\n}\n\n/* Toggleable Content */\n.p-toggleable-content-enter-from,\n.p-toggleable-content-leave-to {\n max-height: 0;\n}\n\n.p-toggleable-content-enter-to,\n.p-toggleable-content-leave-from {\n max-height: 1000px;\n}\n\n.p-toggleable-content-leave-active {\n overflow: hidden;\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1);\n}\n\n.p-toggleable-content-enter-active {\n overflow: hidden;\n transition: max-height 1s ease-in-out;\n}\n\n.p-disabled,\n.p-disabled * {\n cursor: default;\n pointer-events: none;\n user-select: none;\n}\n\n.p-disabled,\n.p-component:disabled {\n opacity: ".concat(dt2("disabled.opacity"), ";\n}\n\n.pi {\n font-size: ").concat(dt2("icon.size"), ";\n}\n\n.p-icon {\n width: ").concat(dt2("icon.size"), ";\n height: ").concat(dt2("icon.size"), ";\n}\n\n.p-overlay-mask {\n background: ").concat(dt2("mask.background"), ";\n color: ").concat(dt2("mask.color"), ";\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.p-overlay-mask-enter {\n animation: p-overlay-mask-enter-animation ").concat(dt2("mask.transition.duration"), " forwards;\n}\n\n.p-overlay-mask-leave {\n animation: p-overlay-mask-leave-animation ").concat(dt2("mask.transition.duration"), " forwards;\n}\n\n@keyframes p-overlay-mask-enter-animation {\n from {\n background: transparent;\n }\n to {\n background: ").concat(dt2("mask.background"), ";\n }\n}\n@keyframes p-overlay-mask-leave-animation {\n from {\n background: ").concat(dt2("mask.background"), ";\n }\n to {\n background: transparent;\n }\n}\n"); }, "theme"); @@ -144972,13 +145970,13 @@ var css$1 = /* @__PURE__ */ __name(function css3(_ref2) { var dt2 = _ref2.dt; return "\n.p-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.p-hidden-accessible input,\n.p-hidden-accessible select {\n transform: scale(0);\n}\n\n.p-overflow-hidden {\n overflow: hidden;\n padding-right: ".concat(dt2("scrollbar.width"), ";\n}\n"); }, "css"); -var classes$x = {}; +var classes$w = {}; var inlineStyles$2 = {}; var BaseStyle = { name: "base", css: css$1, - theme: theme$t, - classes: classes$x, + theme: theme$s, + classes: classes$w, inlineStyles: inlineStyles$2, load: /* @__PURE__ */ __name(function load2(style2) { var options4 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; @@ -144988,7 +145986,7 @@ var BaseStyle = { var computedStyle = transform2(resolve$1(style2, { dt })); - return isNotEmpty$1(computedStyle) ? useStyle(minifyCSS$1(computedStyle), _objectSpread$g({ + return isNotEmpty$1(computedStyle) ? useStyle(minifyCSS$1(computedStyle), _objectSpread$f({ name: this.name }, options4)) : {}; }, "load"), @@ -145058,7 +146056,7 @@ var BaseStyle = { return css4.join(""); }, "getThemeStyleSheet"), extend: /* @__PURE__ */ __name(function extend4(style2) { - return _objectSpread$g(_objectSpread$g({}, this), {}, { + return _objectSpread$f(_objectSpread$f({}, this), {}, { css: void 0, theme: void 0 }, style2); @@ -145067,15 +146065,15 @@ var BaseStyle = { var BaseComponentStyle = BaseStyle.extend({ name: "common" }); -function _typeof$d(o2) { +function _typeof$c(o2) { "@babel/helpers - typeof"; - return _typeof$d = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { + return _typeof$c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { return typeof o3; } : function(o3) { return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3; - }, _typeof$d(o2); + }, _typeof$c(o2); } -__name(_typeof$d, "_typeof$d"); +__name(_typeof$c, "_typeof$c"); function _toArray(r2) { return _arrayWithHoles$2(r2) || _iterableToArray$b(r2) || _unsupportedIterableToArray$e(r2) || _nonIterableRest$2(); } @@ -145132,7 +146130,7 @@ function _arrayWithHoles$2(r2) { if (Array.isArray(r2)) return r2; } __name(_arrayWithHoles$2, "_arrayWithHoles$2"); -function ownKeys$f(e2, r2) { +function ownKeys$e(e2, r2) { var t2 = Object.keys(e2); if (Object.getOwnPropertySymbols) { var o2 = Object.getOwnPropertySymbols(e2); @@ -145142,40 +146140,40 @@ function ownKeys$f(e2, r2) { } return t2; } -__name(ownKeys$f, "ownKeys$f"); -function _objectSpread$f(e2) { +__name(ownKeys$e, "ownKeys$e"); +function _objectSpread$e(e2) { for (var r2 = 1; r2 < arguments.length; r2++) { var t2 = null != arguments[r2] ? arguments[r2] : {}; - r2 % 2 ? ownKeys$f(Object(t2), true).forEach(function(r3) { - _defineProperty$f(e2, r3, t2[r3]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$f(Object(t2)).forEach(function(r3) { + r2 % 2 ? ownKeys$e(Object(t2), true).forEach(function(r3) { + _defineProperty$e(e2, r3, t2[r3]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$e(Object(t2)).forEach(function(r3) { Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3)); }); } return e2; } -__name(_objectSpread$f, "_objectSpread$f"); -function _defineProperty$f(e2, r2, t2) { - return (r2 = _toPropertyKey$c(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; +__name(_objectSpread$e, "_objectSpread$e"); +function _defineProperty$e(e2, r2, t2) { + return (r2 = _toPropertyKey$b(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; } -__name(_defineProperty$f, "_defineProperty$f"); -function _toPropertyKey$c(t2) { - var i2 = _toPrimitive$c(t2, "string"); - return "symbol" == _typeof$d(i2) ? i2 : i2 + ""; +__name(_defineProperty$e, "_defineProperty$e"); +function _toPropertyKey$b(t2) { + var i2 = _toPrimitive$b(t2, "string"); + return "symbol" == _typeof$c(i2) ? i2 : i2 + ""; } -__name(_toPropertyKey$c, "_toPropertyKey$c"); -function _toPrimitive$c(t2, r2) { - if ("object" != _typeof$d(t2) || !t2) return t2; +__name(_toPropertyKey$b, "_toPropertyKey$b"); +function _toPrimitive$b(t2, r2) { + if ("object" != _typeof$c(t2) || !t2) return t2; var e2 = t2[Symbol.toPrimitive]; if (void 0 !== e2) { var i2 = e2.call(t2, r2 || "default"); - if ("object" != _typeof$d(i2)) return i2; + if ("object" != _typeof$c(i2)) return i2; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r2 ? String : Number)(t2); } -__name(_toPrimitive$c, "_toPrimitive$c"); -var script$P = { +__name(_toPrimitive$b, "_toPrimitive$b"); +var script$O = { name: "BaseComponent", props: { pt: { @@ -145247,7 +146245,7 @@ var script$P = { this.rootEl = findSingle(this.$el, '[data-pc-name="'.concat(toFlatCase$1(this.$.type.name), '"]')); if (this.rootEl) { this.$attrSelector && !this.rootEl.hasAttribute(this.$attrSelector) && this.rootEl.setAttribute(this.$attrSelector, ""); - this.rootEl.$pc = _objectSpread$f({ + this.rootEl.$pc = _objectSpread$e({ name: this.$.type.name, attrSelector: this.$attrSelector }, this.$params); @@ -145255,7 +146253,7 @@ var script$P = { this._loadStyles(); this._hook("onBeforeMount"); }, "beforeMount"), - mounted: /* @__PURE__ */ __name(function mounted7() { + mounted: /* @__PURE__ */ __name(function mounted8() { this._hook("onMounted"); }, "mounted"), beforeUpdate: /* @__PURE__ */ __name(function beforeUpdate2() { @@ -145309,7 +146307,7 @@ var script$P = { }, "_loadCoreStyles"), _loadGlobalStyles: /* @__PURE__ */ __name(function _loadGlobalStyles2() { var globalCSS = this._useGlobalPT(this._getOptionValue, "global.css", this.$params); - isNotEmpty$1(globalCSS) && BaseStyle.load(globalCSS, _objectSpread$f({ + isNotEmpty$1(globalCSS) && BaseStyle.load(globalCSS, _objectSpread$e({ name: "global" }, this.$styleOptions)); }, "_loadGlobalStyles"), @@ -145319,16 +146317,16 @@ var script$P = { if (!config_default.isStyleNameLoaded("common")) { var _this$$style3, _this$$style3$getComm; var _ref3 = ((_this$$style3 = this.$style) === null || _this$$style3 === void 0 || (_this$$style3$getComm = _this$$style3.getCommonTheme) === null || _this$$style3$getComm === void 0 ? void 0 : _this$$style3$getComm.call(_this$$style3)) || {}, primitive = _ref3.primitive, semantic = _ref3.semantic, global2 = _ref3.global, style2 = _ref3.style; - BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread$f({ + BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread$e({ name: "primitive-variables" }, this.$styleOptions)); - BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread$f({ + BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread$e({ name: "semantic-variables" }, this.$styleOptions)); - BaseStyle.load(global2 === null || global2 === void 0 ? void 0 : global2.css, _objectSpread$f({ + BaseStyle.load(global2 === null || global2 === void 0 ? void 0 : global2.css, _objectSpread$e({ name: "global-variables" }, this.$styleOptions)); - BaseStyle.loadTheme(_objectSpread$f({ + BaseStyle.loadTheme(_objectSpread$e({ name: "global-style" }, this.$styleOptions), style2); config_default.setLoadedStyleName("common"); @@ -145336,10 +146334,10 @@ var script$P = { if (!config_default.isStyleNameLoaded((_this$$style4 = this.$style) === null || _this$$style4 === void 0 ? void 0 : _this$$style4.name) && (_this$$style5 = this.$style) !== null && _this$$style5 !== void 0 && _this$$style5.name) { var _this$$style6, _this$$style6$getComp, _this$$style7, _this$$style8; var _ref4 = ((_this$$style6 = this.$style) === null || _this$$style6 === void 0 || (_this$$style6$getComp = _this$$style6.getComponentTheme) === null || _this$$style6$getComp === void 0 ? void 0 : _this$$style6$getComp.call(_this$$style6)) || {}, css4 = _ref4.css, _style = _ref4.style; - (_this$$style7 = this.$style) === null || _this$$style7 === void 0 || _this$$style7.load(css4, _objectSpread$f({ + (_this$$style7 = this.$style) === null || _this$$style7 === void 0 || _this$$style7.load(css4, _objectSpread$e({ name: "".concat(this.$style.name, "-variables") }, this.$styleOptions)); - (_this$$style8 = this.$style) === null || _this$$style8 === void 0 || _this$$style8.loadTheme(_objectSpread$f({ + (_this$$style8 = this.$style) === null || _this$$style8 === void 0 || _this$$style8.loadTheme(_objectSpread$e({ name: "".concat(this.$style.name, "-style") }, this.$styleOptions), _style); config_default.setLoadedStyleName(this.$style.name); @@ -145347,7 +146345,7 @@ var script$P = { if (!config_default.isStyleNameLoaded("layer-order")) { var _this$$style9, _this$$style9$getLaye; var layerOrder = (_this$$style9 = this.$style) === null || _this$$style9 === void 0 || (_this$$style9$getLaye = _this$$style9.getLayerOrderThemeCSS) === null || _this$$style9$getLaye === void 0 ? void 0 : _this$$style9$getLaye.call(_this$$style9); - BaseStyle.load(layerOrder, _objectSpread$f({ + BaseStyle.load(layerOrder, _objectSpread$e({ name: "layer-order", first: true }, this.$styleOptions)); @@ -145357,7 +146355,7 @@ var script$P = { _loadScopedThemeStyles: /* @__PURE__ */ __name(function _loadScopedThemeStyles3(preset) { var _this$$style10, _this$$style10$getPre, _this$$style11; var _ref5 = ((_this$$style10 = this.$style) === null || _this$$style10 === void 0 || (_this$$style10$getPre = _this$$style10.getPresetTheme) === null || _this$$style10$getPre === void 0 ? void 0 : _this$$style10$getPre.call(_this$$style10, preset, "[".concat(this.$attrSelector, "]"))) || {}, css4 = _ref5.css; - var scopedStyle = (_this$$style11 = this.$style) === null || _this$$style11 === void 0 ? void 0 : _this$$style11.load(css4, _objectSpread$f({ + var scopedStyle = (_this$$style11 = this.$style) === null || _this$$style11 === void 0 ? void 0 : _this$$style11.load(css4, _objectSpread$e({ name: "".concat(this.$attrSelector, "-").concat(this.$style.name) }, this.$styleOptions)); this.scopedStyleEl = scopedStyle.el; @@ -145393,11 +146391,11 @@ var script$P = { var searchOut = /./g.test(key) && !!params[key.split(".")[0]]; var _ref6 = this._getPropValue("ptOptions") || ((_this$$primevueConfig2 = this.$primevueConfig) === null || _this$$primevueConfig2 === void 0 ? void 0 : _this$$primevueConfig2.ptOptions) || {}, _ref6$mergeSections = _ref6.mergeSections, mergeSections = _ref6$mergeSections === void 0 ? true : _ref6$mergeSections, _ref6$mergeProps = _ref6.mergeProps, useMergeProps = _ref6$mergeProps === void 0 ? false : _ref6$mergeProps; var global2 = searchInDefaultPT ? searchOut ? this._useGlobalPT(this._getPTClassValue, key, params) : this._useDefaultPT(this._getPTClassValue, key, params) : void 0; - var self2 = searchOut ? void 0 : this._getPTSelf(obj, this._getPTClassValue, key, _objectSpread$f(_objectSpread$f({}, params), {}, { + var self2 = searchOut ? void 0 : this._getPTSelf(obj, this._getPTClassValue, key, _objectSpread$e(_objectSpread$e({}, params), {}, { global: global2 || {} })); var datasets = this._getPTDatasets(key); - return mergeSections || !mergeSections && self2 ? useMergeProps ? this._mergeProps(useMergeProps, global2, self2, datasets) : _objectSpread$f(_objectSpread$f(_objectSpread$f({}, global2), self2), datasets) : _objectSpread$f(_objectSpread$f({}, self2), datasets); + return mergeSections || !mergeSections && self2 ? useMergeProps ? this._mergeProps(useMergeProps, global2, self2, datasets) : _objectSpread$e(_objectSpread$e(_objectSpread$e({}, global2), self2), datasets) : _objectSpread$e(_objectSpread$e({}, self2), datasets); }, "_getPTValue"), _getPTSelf: /* @__PURE__ */ __name(function _getPTSelf2() { var obj = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; @@ -145416,7 +146414,7 @@ var script$P = { var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; var datasetPrefix = "data-pc-"; var isExtended = key === "root" && isNotEmpty$1((_this$pt4 = this.pt) === null || _this$pt4 === void 0 ? void 0 : _this$pt4["data-pc-section"]); - return key !== "transition" && _objectSpread$f(_objectSpread$f({}, key === "root" && _objectSpread$f(_objectSpread$f(_defineProperty$f({}, "".concat(datasetPrefix, "name"), toFlatCase$1(isExtended ? (_this$pt5 = this.pt) === null || _this$pt5 === void 0 ? void 0 : _this$pt5["data-pc-section"] : this.$.type.name)), isExtended && _defineProperty$f({}, "".concat(datasetPrefix, "extend"), toFlatCase$1(this.$.type.name))), isClient() && _defineProperty$f({}, "".concat(this.$attrSelector), ""))), {}, _defineProperty$f({}, "".concat(datasetPrefix, "section"), toFlatCase$1(key))); + return key !== "transition" && _objectSpread$e(_objectSpread$e({}, key === "root" && _objectSpread$e(_objectSpread$e(_defineProperty$e({}, "".concat(datasetPrefix, "name"), toFlatCase$1(isExtended ? (_this$pt5 = this.pt) === null || _this$pt5 === void 0 ? void 0 : _this$pt5["data-pc-section"] : this.$.type.name)), isExtended && _defineProperty$e({}, "".concat(datasetPrefix, "extend"), toFlatCase$1(this.$.type.name))), isClient() && _defineProperty$e({}, "".concat(this.$attrSelector), ""))), {}, _defineProperty$e({}, "".concat(datasetPrefix, "section"), toFlatCase$1(key))); }, "_getPTDatasets"), _getPTClassValue: /* @__PURE__ */ __name(function _getPTClassValue2() { var value4 = this._getOptionValue.apply(this, arguments); @@ -145454,7 +146452,7 @@ var script$P = { if (originalValue === void 0 && value4 === void 0) return void 0; else if (isString$5(value4)) return value4; else if (isString$5(originalValue)) return originalValue; - return mergeSections || !mergeSections && value4 ? useMergeProps ? this._mergeProps(useMergeProps, originalValue, value4) : _objectSpread$f(_objectSpread$f({}, originalValue), value4) : value4; + return mergeSections || !mergeSections && value4 ? useMergeProps ? this._mergeProps(useMergeProps, originalValue, value4) : _objectSpread$e(_objectSpread$e({}, originalValue), value4) : value4; } return fn(pt); }, "_usePT"), @@ -145467,7 +146465,7 @@ var script$P = { ptm: /* @__PURE__ */ __name(function ptm2() { var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - return this._getPTValue(this.pt, key, _objectSpread$f(_objectSpread$f({}, this.$params), params)); + return this._getPTValue(this.pt, key, _objectSpread$e(_objectSpread$e({}, this.$params), params)); }, "ptm"), ptmi: /* @__PURE__ */ __name(function ptmi2() { var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; @@ -145478,22 +146476,22 @@ var script$P = { var obj = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; var params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; - return this._getPTValue(obj, key, _objectSpread$f({ + return this._getPTValue(obj, key, _objectSpread$e({ instance: this }, params), false); }, "ptmo"), cx: /* @__PURE__ */ __name(function cx2() { var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - return !this.isUnstyled ? this._getOptionValue(this.$style.classes, key, _objectSpread$f(_objectSpread$f({}, this.$params), params)) : void 0; + return !this.isUnstyled ? this._getOptionValue(this.$style.classes, key, _objectSpread$e(_objectSpread$e({}, this.$params), params)) : void 0; }, "cx"), sx: /* @__PURE__ */ __name(function sx2() { var key = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; var when = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; var params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (when) { - var self2 = this._getOptionValue(this.$style.inlineStyles, key, _objectSpread$f(_objectSpread$f({}, this.$params), params)); - var base2 = this._getOptionValue(BaseComponentStyle.inlineStyles, key, _objectSpread$f(_objectSpread$f({}, this.$params), params)); + var self2 = this._getOptionValue(this.$style.inlineStyles, key, _objectSpread$e(_objectSpread$e({}, this.$params), params)); + var base2 = this._getOptionValue(BaseComponentStyle.inlineStyles, key, _objectSpread$e(_objectSpread$e({}, this.$params), params)); return [base2, self2]; } return void 0; @@ -145511,7 +146509,7 @@ var script$P = { defaultPT: /* @__PURE__ */ __name(function defaultPT2() { var _this$$primevueConfig5, _this5 = this; return this._getPT((_this$$primevueConfig5 = this.$primevueConfig) === null || _this$$primevueConfig5 === void 0 ? void 0 : _this$$primevueConfig5.pt, void 0, function(value4) { - return _this5._getOptionValue(value4, _this5.$name, _objectSpread$f({}, _this5.$params)) || resolve$1(value4, _objectSpread$f({}, _this5.$params)); + return _this5._getOptionValue(value4, _this5.$name, _objectSpread$e({}, _this5.$params)) || resolve$1(value4, _objectSpread$e({}, _this5.$params)); }); }, "defaultPT"), isUnstyled: /* @__PURE__ */ __name(function isUnstyled2() { @@ -145531,7 +146529,7 @@ var script$P = { return (_this$$primevueConfig7 = this.$primevueConfig) === null || _this$$primevueConfig7 === void 0 ? void 0 : _this$$primevueConfig7.theme; }, "$theme"), $style: /* @__PURE__ */ __name(function $style2() { - return _objectSpread$f(_objectSpread$f({ + return _objectSpread$e(_objectSpread$e({ classes: void 0, inlineStyles: void 0, load: /* @__PURE__ */ __name(function load3() { @@ -145596,16 +146594,16 @@ var script$P = { }, "$_attrsWithoutPT") } }; -var classes$w = { +var classes$v = { root: "p-form p-component" }; var FormStyle = BaseStyle.extend({ name: "form", - classes: classes$w + classes: classes$v }); -var script$1$x = { +var script$1$w = { name: "BaseForm", - "extends": script$P, + "extends": script$O, style: FormStyle, props: { resolver: { @@ -145633,198 +146631,9 @@ var script$1$x = { "default": true } }, - provide: /* @__PURE__ */ __name(function provide12() { - return { - $pcForm: this, - $parentInstance: this - }; - }, "provide") -}; -function _typeof$c(o2) { - "@babel/helpers - typeof"; - return _typeof$c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { - return typeof o3; - } : function(o3) { - return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3; - }, _typeof$c(o2); -} -__name(_typeof$c, "_typeof$c"); -function ownKeys$e(e2, r2) { - var t2 = Object.keys(e2); - if (Object.getOwnPropertySymbols) { - var o2 = Object.getOwnPropertySymbols(e2); - r2 && (o2 = o2.filter(function(r3) { - return Object.getOwnPropertyDescriptor(e2, r3).enumerable; - })), t2.push.apply(t2, o2); - } - return t2; -} -__name(ownKeys$e, "ownKeys$e"); -function _objectSpread$e(e2) { - for (var r2 = 1; r2 < arguments.length; r2++) { - var t2 = null != arguments[r2] ? arguments[r2] : {}; - r2 % 2 ? ownKeys$e(Object(t2), true).forEach(function(r3) { - _defineProperty$e(e2, r3, t2[r3]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$e(Object(t2)).forEach(function(r3) { - Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3)); - }); - } - return e2; -} -__name(_objectSpread$e, "_objectSpread$e"); -function _defineProperty$e(e2, r2, t2) { - return (r2 = _toPropertyKey$b(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; -} -__name(_defineProperty$e, "_defineProperty$e"); -function _toPropertyKey$b(t2) { - var i2 = _toPrimitive$b(t2, "string"); - return "symbol" == _typeof$c(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$b, "_toPropertyKey$b"); -function _toPrimitive$b(t2, r2) { - if ("object" != _typeof$c(t2) || !t2) return t2; - var e2 = t2[Symbol.toPrimitive]; - if (void 0 !== e2) { - var i2 = e2.call(t2, r2 || "default"); - if ("object" != _typeof$c(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r2 ? String : Number)(t2); -} -__name(_toPrimitive$b, "_toPrimitive$b"); -function _slicedToArray$1(r2, e2) { - return _arrayWithHoles$1(r2) || _iterableToArrayLimit$1(r2, e2) || _unsupportedIterableToArray$d(r2, e2) || _nonIterableRest$1(); -} -__name(_slicedToArray$1, "_slicedToArray$1"); -function _nonIterableRest$1() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} -__name(_nonIterableRest$1, "_nonIterableRest$1"); -function _unsupportedIterableToArray$d(r2, a2) { - if (r2) { - if ("string" == typeof r2) return _arrayLikeToArray$d(r2, a2); - var t2 = {}.toString.call(r2).slice(8, -1); - return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$d(r2, a2) : void 0; - } -} -__name(_unsupportedIterableToArray$d, "_unsupportedIterableToArray$d"); -function _arrayLikeToArray$d(r2, a2) { - (null == a2 || a2 > r2.length) && (a2 = r2.length); - for (var e2 = 0, n2 = Array(a2); e2 < a2; e2++) n2[e2] = r2[e2]; - return n2; -} -__name(_arrayLikeToArray$d, "_arrayLikeToArray$d"); -function _iterableToArrayLimit$1(r2, l2) { - var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"]; - if (null != t2) { - var e2, n2, i2, u2, a2 = [], f2 = true, o2 = false; - try { - if (i2 = (t2 = t2.call(r2)).next, 0 === l2) ; - else for (; !(f2 = (e2 = i2.call(t2)).done) && (a2.push(e2.value), a2.length !== l2); f2 = true) ; - } catch (r3) { - o2 = true, n2 = r3; - } finally { - try { - if (!f2 && null != t2["return"] && (u2 = t2["return"](), Object(u2) !== u2)) return; - } finally { - if (o2) throw n2; - } - } - return a2; - } -} -__name(_iterableToArrayLimit$1, "_iterableToArrayLimit$1"); -function _arrayWithHoles$1(r2) { - if (Array.isArray(r2)) return r2; -} -__name(_arrayWithHoles$1, "_arrayWithHoles$1"); -var script$O = { - name: "Form", - "extends": script$1$x, - inheritAttrs: false, - emits: ["submit"], - setup: /* @__PURE__ */ __name(function setup2(props, _ref) { - var emit2 = _ref.emit; - var $form = useForm(props); - var register3 = /* @__PURE__ */ __name(function register4(field2, options4) { - var _$form$defineField = $form.defineField(field2, options4), _$form$defineField2 = _slicedToArray$1(_$form$defineField, 2), fieldProps = _$form$defineField2[1]; - return fieldProps; - }, "register"); - var onSubmit = $form.handleSubmit(function(e2) { - emit2("submit", e2); - }); - return _objectSpread$e({ - register: register3, - onSubmit - }, omit$1($form, ["handleSubmit"])); - }, "setup") -}; -function render$N(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock("form", mergeProps$2({ - onSubmit: _cache[0] || (_cache[0] = withModifiers(function() { - return $setup.onSubmit && $setup.onSubmit.apply($setup, arguments); - }, ["prevent"])), - "class": _ctx.cx("root") - }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default", mergeProps$2({ - register: $setup.register, - valid: _ctx.valid, - reset: _ctx.reset - }, _ctx.states))], 16); -} -__name(render$N, "render$N"); -script$O.render = render$N; -var classes$v = { - root: "p-formfield p-component" -}; -var FormFieldStyle = BaseStyle.extend({ - name: "formfield", - classes: classes$v -}); -var script$1$w = { - name: "BaseFormField", - "extends": script$P, - style: FormFieldStyle, - props: { - name: { - type: String, - "default": void 0 - }, - resolver: { - type: Function, - "default": void 0 - }, - initialValue: { - type: null, - "default": void 0 - }, - validateOnValueUpdate: { - type: Boolean, - "default": void 0 - }, - validateOnBlur: { - type: Boolean, - "default": void 0 - }, - validateOnMount: { - type: Boolean, - "default": void 0 - }, - validateOnSubmit: { - type: Boolean, - "default": void 0 - }, - as: { - type: [String, Object], - "default": "DIV" - }, - asChild: { - type: Boolean, - "default": false - } - }, provide: /* @__PURE__ */ __name(function provide13() { return { - $pcFormField: this, + $pcForm: this, $parentInstance: this }; }, "provide") @@ -145881,10 +146690,199 @@ function _toPrimitive$a(t2, r2) { return ("string" === r2 ? String : Number)(t2); } __name(_toPrimitive$a, "_toPrimitive$a"); +function _slicedToArray$1(r2, e2) { + return _arrayWithHoles$1(r2) || _iterableToArrayLimit$1(r2, e2) || _unsupportedIterableToArray$d(r2, e2) || _nonIterableRest$1(); +} +__name(_slicedToArray$1, "_slicedToArray$1"); +function _nonIterableRest$1() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableRest$1, "_nonIterableRest$1"); +function _unsupportedIterableToArray$d(r2, a2) { + if (r2) { + if ("string" == typeof r2) return _arrayLikeToArray$d(r2, a2); + var t2 = {}.toString.call(r2).slice(8, -1); + return "Object" === t2 && r2.constructor && (t2 = r2.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r2) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$d(r2, a2) : void 0; + } +} +__name(_unsupportedIterableToArray$d, "_unsupportedIterableToArray$d"); +function _arrayLikeToArray$d(r2, a2) { + (null == a2 || a2 > r2.length) && (a2 = r2.length); + for (var e2 = 0, n2 = Array(a2); e2 < a2; e2++) n2[e2] = r2[e2]; + return n2; +} +__name(_arrayLikeToArray$d, "_arrayLikeToArray$d"); +function _iterableToArrayLimit$1(r2, l2) { + var t2 = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"]; + if (null != t2) { + var e2, n2, i2, u2, a2 = [], f2 = true, o2 = false; + try { + if (i2 = (t2 = t2.call(r2)).next, 0 === l2) ; + else for (; !(f2 = (e2 = i2.call(t2)).done) && (a2.push(e2.value), a2.length !== l2); f2 = true) ; + } catch (r3) { + o2 = true, n2 = r3; + } finally { + try { + if (!f2 && null != t2["return"] && (u2 = t2["return"](), Object(u2) !== u2)) return; + } finally { + if (o2) throw n2; + } + } + return a2; + } +} +__name(_iterableToArrayLimit$1, "_iterableToArrayLimit$1"); +function _arrayWithHoles$1(r2) { + if (Array.isArray(r2)) return r2; +} +__name(_arrayWithHoles$1, "_arrayWithHoles$1"); var script$N = { - name: "FormField", + name: "Form", "extends": script$1$w, inheritAttrs: false, + emits: ["submit"], + setup: /* @__PURE__ */ __name(function setup2(props, _ref) { + var emit2 = _ref.emit; + var $form = useForm(props); + var register3 = /* @__PURE__ */ __name(function register4(field2, options4) { + var _$form$defineField = $form.defineField(field2, options4), _$form$defineField2 = _slicedToArray$1(_$form$defineField, 2), fieldProps = _$form$defineField2[1]; + return fieldProps; + }, "register"); + var onSubmit = $form.handleSubmit(function(e2) { + emit2("submit", e2); + }); + return _objectSpread$d({ + register: register3, + onSubmit + }, omit$1($form, ["handleSubmit"])); + }, "setup") +}; +function render$M(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("form", mergeProps$2({ + onSubmit: _cache[0] || (_cache[0] = withModifiers(function() { + return $setup.onSubmit && $setup.onSubmit.apply($setup, arguments); + }, ["prevent"])), + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default", mergeProps$2({ + register: $setup.register, + valid: _ctx.valid, + reset: _ctx.reset + }, _ctx.states))], 16); +} +__name(render$M, "render$M"); +script$N.render = render$M; +var classes$u = { + root: "p-formfield p-component" +}; +var FormFieldStyle = BaseStyle.extend({ + name: "formfield", + classes: classes$u +}); +var script$1$v = { + name: "BaseFormField", + "extends": script$O, + style: FormFieldStyle, + props: { + name: { + type: String, + "default": void 0 + }, + resolver: { + type: Function, + "default": void 0 + }, + initialValue: { + type: null, + "default": void 0 + }, + validateOnValueUpdate: { + type: Boolean, + "default": void 0 + }, + validateOnBlur: { + type: Boolean, + "default": void 0 + }, + validateOnMount: { + type: Boolean, + "default": void 0 + }, + validateOnSubmit: { + type: Boolean, + "default": void 0 + }, + as: { + type: [String, Object], + "default": "DIV" + }, + asChild: { + type: Boolean, + "default": false + } + }, + provide: /* @__PURE__ */ __name(function provide14() { + return { + $pcFormField: this, + $parentInstance: this + }; + }, "provide") +}; +function _typeof$a(o2) { + "@babel/helpers - typeof"; + return _typeof$a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { + return typeof o3; + } : function(o3) { + return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3; + }, _typeof$a(o2); +} +__name(_typeof$a, "_typeof$a"); +function ownKeys$c(e2, r2) { + var t2 = Object.keys(e2); + if (Object.getOwnPropertySymbols) { + var o2 = Object.getOwnPropertySymbols(e2); + r2 && (o2 = o2.filter(function(r3) { + return Object.getOwnPropertyDescriptor(e2, r3).enumerable; + })), t2.push.apply(t2, o2); + } + return t2; +} +__name(ownKeys$c, "ownKeys$c"); +function _objectSpread$c(e2) { + for (var r2 = 1; r2 < arguments.length; r2++) { + var t2 = null != arguments[r2] ? arguments[r2] : {}; + r2 % 2 ? ownKeys$c(Object(t2), true).forEach(function(r3) { + _defineProperty$c(e2, r3, t2[r3]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$c(Object(t2)).forEach(function(r3) { + Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3)); + }); + } + return e2; +} +__name(_objectSpread$c, "_objectSpread$c"); +function _defineProperty$c(e2, r2, t2) { + return (r2 = _toPropertyKey$9(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; +} +__name(_defineProperty$c, "_defineProperty$c"); +function _toPropertyKey$9(t2) { + var i2 = _toPrimitive$9(t2, "string"); + return "symbol" == _typeof$a(i2) ? i2 : i2 + ""; +} +__name(_toPropertyKey$9, "_toPropertyKey$9"); +function _toPrimitive$9(t2, r2) { + if ("object" != _typeof$a(t2) || !t2) return t2; + var e2 = t2[Symbol.toPrimitive]; + if (void 0 !== e2) { + var i2 = e2.call(t2, r2 || "default"); + if ("object" != _typeof$a(i2)) return i2; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r2 ? String : Number)(t2); +} +__name(_toPrimitive$9, "_toPrimitive$9"); +var script$M = { + name: "FormField", + "extends": script$1$v, + inheritAttrs: false, inject: { $pcForm: { "default": void 0 @@ -145916,11 +146914,11 @@ var script$N = { return ((_this$$pcForm2 = this.$pcForm) === null || _this$$pcForm2 === void 0 || (_this$$pcForm2 = _this$$pcForm2.fields) === null || _this$$pcForm2 === void 0 ? void 0 : _this$$pcForm2[this.name]) || {}; }, "field"), fieldAttrs: /* @__PURE__ */ __name(function fieldAttrs() { - return _objectSpread$d(_objectSpread$d({}, this.field.props), this.field.states); + return _objectSpread$c(_objectSpread$c({}, this.field.props), this.field.states); }, "fieldAttrs") } }; -function render$M(_ctx, _cache, $props, $setup, $data, $options) { +function render$L(_ctx, _cache, $props, $setup, $data, $options) { return !_ctx.asChild ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps$2({ key: 0, "class": _ctx.cx("root") @@ -145937,8 +146935,8 @@ function render$M(_ctx, _cache, $props, $setup, $data, $options) { props: $options.field.props }, $options.fieldAttrs)); } -__name(render$M, "render$M"); -script$N.render = render$M; +__name(render$L, "render$L"); +script$M.render = render$L; var __defProp$1 = Object.defineProperty; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; @@ -146836,9 +147834,9 @@ var defineProperty$1 = function() { } catch (e2) { } }(); -var _defineProperty$b = defineProperty$1; -const _defineProperty$c = /* @__PURE__ */ getDefaultExportFromCjs(_defineProperty$b); -var defineProperty = _defineProperty$b; +var _defineProperty$a = defineProperty$1; +const _defineProperty$b = /* @__PURE__ */ getDefaultExportFromCjs(_defineProperty$a); +var defineProperty = _defineProperty$a; function baseAssignValue$2(object, key, value4) { if (key == "__proto__" && defineProperty) { defineProperty(object, key, { @@ -147533,11 +148531,11 @@ function cloneDeep(value4) { __name(cloneDeep, "cloneDeep"); var cloneDeep_1 = cloneDeep; const cloneDeep$1 = /* @__PURE__ */ getDefaultExportFromCjs(cloneDeep_1); -var script$M = { +var script$L = { name: "CheckIcon", "extends": script$$ }; -function render$L(_ctx, _cache, $props, $setup, $data, $options) { +function render$K(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps$2({ width: "14", height: "14", @@ -147549,13 +148547,13 @@ function render$L(_ctx, _cache, $props, $setup, $data, $options) { fill: "currentColor" }, null, -1)]), 16); } -__name(render$L, "render$L"); -script$M.render = render$L; -var script$L = { +__name(render$K, "render$K"); +script$L.render = render$K; +var script$K = { name: "MinusIcon", "extends": script$$ }; -function render$K(_ctx, _cache, $props, $setup, $data, $options) { +function render$J(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("svg", mergeProps$2({ width: "14", height: "14", @@ -147567,14 +148565,14 @@ function render$K(_ctx, _cache, $props, $setup, $data, $options) { fill: "currentColor" }, null, -1)]), 16); } -__name(render$K, "render$K"); -script$L.render = render$K; -var theme$s = /* @__PURE__ */ __name(function theme14(_ref) { +__name(render$J, "render$J"); +script$K.render = render$J; +var theme$r = /* @__PURE__ */ __name(function theme15(_ref) { var dt2 = _ref.dt; return "\n.p-checkbox {\n position: relative;\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n width: ".concat(dt2("checkbox.width"), ";\n height: ").concat(dt2("checkbox.height"), ";\n}\n\n.p-checkbox-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border: 1px solid transparent;\n border-radius: ").concat(dt2("checkbox.border.radius"), ";\n}\n\n.p-checkbox-box {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: ").concat(dt2("checkbox.border.radius"), ";\n border: 1px solid ").concat(dt2("checkbox.border.color"), ";\n background: ").concat(dt2("checkbox.background"), ";\n width: ").concat(dt2("checkbox.width"), ";\n height: ").concat(dt2("checkbox.height"), ";\n transition: background ").concat(dt2("checkbox.transition.duration"), ", color ").concat(dt2("checkbox.transition.duration"), ", border-color ").concat(dt2("checkbox.transition.duration"), ", box-shadow ").concat(dt2("checkbox.transition.duration"), ", outline-color ").concat(dt2("checkbox.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt2("checkbox.shadow"), ";\n}\n\n.p-checkbox-icon {\n transition-duration: ").concat(dt2("checkbox.transition.duration"), ";\n color: ").concat(dt2("checkbox.icon.color"), ";\n font-size: ").concat(dt2("checkbox.icon.size"), ";\n width: ").concat(dt2("checkbox.icon.size"), ";\n height: ").concat(dt2("checkbox.icon.size"), ";\n}\n\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n border-color: ").concat(dt2("checkbox.hover.border.color"), ";\n}\n\n.p-checkbox-checked .p-checkbox-box {\n border-color: ").concat(dt2("checkbox.checked.border.color"), ";\n background: ").concat(dt2("checkbox.checked.background"), ";\n}\n\n.p-checkbox-checked .p-checkbox-icon {\n color: ").concat(dt2("checkbox.icon.checked.color"), ";\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n background: ").concat(dt2("checkbox.checked.hover.background"), ";\n border-color: ").concat(dt2("checkbox.checked.hover.border.color"), ";\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-icon {\n color: ").concat(dt2("checkbox.icon.checked.hover.color"), ";\n}\n\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\n border-color: ").concat(dt2("checkbox.focus.border.color"), ";\n box-shadow: ").concat(dt2("checkbox.focus.ring.shadow"), ";\n outline: ").concat(dt2("checkbox.focus.ring.width"), " ").concat(dt2("checkbox.focus.ring.style"), " ").concat(dt2("checkbox.focus.ring.color"), ";\n outline-offset: ").concat(dt2("checkbox.focus.ring.offset"), ";\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\n border-color: ").concat(dt2("checkbox.checked.focus.border.color"), ";\n}\n\n.p-checkbox.p-invalid > .p-checkbox-box {\n border-color: ").concat(dt2("checkbox.invalid.border.color"), ";\n}\n\n.p-checkbox.p-variant-filled .p-checkbox-box {\n background: ").concat(dt2("checkbox.filled.background"), ";\n}\n\n.p-checkbox-checked.p-variant-filled .p-checkbox-box {\n background: ").concat(dt2("checkbox.checked.background"), ";\n}\n\n.p-checkbox-checked.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n background: ").concat(dt2("checkbox.checked.hover.background"), ";\n}\n\n.p-checkbox.p-disabled {\n opacity: 1;\n}\n\n.p-checkbox.p-disabled .p-checkbox-box {\n background: ").concat(dt2("checkbox.disabled.background"), ";\n border-color: ").concat(dt2("checkbox.checked.disabled.border.color"), ";\n}\n\n.p-checkbox.p-disabled .p-checkbox-box .p-checkbox-icon {\n color: ").concat(dt2("checkbox.icon.disabled.color"), ";\n}\n\n.p-checkbox-sm,\n.p-checkbox-sm .p-checkbox-box {\n width: ").concat(dt2("checkbox.sm.width"), ";\n height: ").concat(dt2("checkbox.sm.height"), ";\n}\n\n.p-checkbox-sm .p-checkbox-icon {\n font-size: ").concat(dt2("checkbox.icon.sm.size"), ";\n width: ").concat(dt2("checkbox.icon.sm.size"), ";\n height: ").concat(dt2("checkbox.icon.sm.size"), ";\n}\n\n.p-checkbox-lg,\n.p-checkbox-lg .p-checkbox-box {\n width: ").concat(dt2("checkbox.lg.width"), ";\n height: ").concat(dt2("checkbox.lg.height"), ";\n}\n\n.p-checkbox-lg .p-checkbox-icon {\n font-size: ").concat(dt2("checkbox.icon.lg.size"), ";\n width: ").concat(dt2("checkbox.icon.lg.size"), ";\n height: ").concat(dt2("checkbox.icon.lg.size"), ";\n}\n"); }, "theme"); -var classes$u = { - root: /* @__PURE__ */ __name(function root7(_ref2) { +var classes$t = { + root: /* @__PURE__ */ __name(function root8(_ref2) { var instance = _ref2.instance, props = _ref2.props; return ["p-checkbox p-component", { "p-checkbox-checked": instance.checked, @@ -147591,10 +148589,10 @@ var classes$u = { }; var CheckboxStyle = BaseStyle$1.extend({ name: "checkbox", - theme: theme$s, - classes: classes$u + theme: theme$r, + classes: classes$t }); -var script$1$v = { +var script$1$u = { name: "BaseCheckbox", "extends": script$10, props: { @@ -147646,7 +148644,7 @@ var script$1$v = { } }, style: CheckboxStyle, - provide: /* @__PURE__ */ __name(function provide14() { + provide: /* @__PURE__ */ __name(function provide15() { return { $pcCheckbox: this, $parentInstance: this @@ -147683,9 +148681,9 @@ function _arrayLikeToArray$c(r2, a2) { return n2; } __name(_arrayLikeToArray$c, "_arrayLikeToArray$c"); -var script$K = { +var script$J = { name: "Checkbox", - "extends": script$1$v, + "extends": script$1$u, inheritAttrs: false, emits: ["change", "focus", "blur", "update:indeterminate"], inject: { @@ -147693,7 +148691,7 @@ var script$K = { "default": void 0 } }, - data: /* @__PURE__ */ __name(function data6() { + data: /* @__PURE__ */ __name(function data7() { return { d_indeterminate: this.indeterminate }; @@ -147754,13 +148752,13 @@ var script$K = { }, "checked") }, components: { - CheckIcon: script$M, - MinusIcon: script$L + CheckIcon: script$L, + MinusIcon: script$K } }; -var _hoisted_1$13 = ["data-p-checked", "data-p-indeterminate", "data-p-disabled"]; +var _hoisted_1$12 = ["data-p-checked", "data-p-indeterminate", "data-p-disabled"]; var _hoisted_2$I = ["id", "value", "name", "checked", "tabindex", "disabled", "readonly", "required", "aria-labelledby", "aria-label", "aria-invalid", "aria-checked"]; -function render$J(_ctx, _cache, $props, $setup, $data, $options) { +function render$I(_ctx, _cache, $props, $setup, $data, $options) { var _component_CheckIcon = resolveComponent("CheckIcon"); var _component_MinusIcon = resolveComponent("MinusIcon"); return openBlock(), createElementBlock("div", mergeProps$2({ @@ -147808,16 +148806,16 @@ function render$J(_ctx, _cache, $props, $setup, $data, $options) { key: 1, "class": _ctx.cx("icon") }, $options.getPTOptions("icon")), null, 16, ["class"])) : createCommentVNode("", true)]; - })], 16)], 16, _hoisted_1$13); + })], 16)], 16, _hoisted_1$12); } -__name(render$J, "render$J"); -script$K.render = render$J; -var theme$r = /* @__PURE__ */ __name(function theme15(_ref) { +__name(render$I, "render$I"); +script$J.render = render$I; +var theme$q = /* @__PURE__ */ __name(function theme16(_ref) { var dt2 = _ref.dt; return "\n.p-inputtext {\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: ".concat(dt2("inputtext.color"), ";\n background: ").concat(dt2("inputtext.background"), ";\n padding-block: ").concat(dt2("inputtext.padding.y"), ";\n padding-inline: ").concat(dt2("inputtext.padding.x"), ";\n border: 1px solid ").concat(dt2("inputtext.border.color"), ";\n transition: background ").concat(dt2("inputtext.transition.duration"), ", color ").concat(dt2("inputtext.transition.duration"), ", border-color ").concat(dt2("inputtext.transition.duration"), ", outline-color ").concat(dt2("inputtext.transition.duration"), ", box-shadow ").concat(dt2("inputtext.transition.duration"), ";\n appearance: none;\n border-radius: ").concat(dt2("inputtext.border.radius"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt2("inputtext.shadow"), ";\n}\n\n.p-inputtext:enabled:hover {\n border-color: ").concat(dt2("inputtext.hover.border.color"), ";\n}\n\n.p-inputtext:enabled:focus {\n border-color: ").concat(dt2("inputtext.focus.border.color"), ";\n box-shadow: ").concat(dt2("inputtext.focus.ring.shadow"), ";\n outline: ").concat(dt2("inputtext.focus.ring.width"), " ").concat(dt2("inputtext.focus.ring.style"), " ").concat(dt2("inputtext.focus.ring.color"), ";\n outline-offset: ").concat(dt2("inputtext.focus.ring.offset"), ";\n}\n\n.p-inputtext.p-invalid {\n border-color: ").concat(dt2("inputtext.invalid.border.color"), ";\n}\n\n.p-inputtext.p-variant-filled {\n background: ").concat(dt2("inputtext.filled.background"), ";\n}\n\n.p-inputtext.p-variant-filled:enabled:hover {\n background: ").concat(dt2("inputtext.filled.hover.background"), ";\n}\n\n.p-inputtext.p-variant-filled:enabled:focus {\n background: ").concat(dt2("inputtext.filled.focus.background"), ";\n}\n\n.p-inputtext:disabled {\n opacity: 1;\n background: ").concat(dt2("inputtext.disabled.background"), ";\n color: ").concat(dt2("inputtext.disabled.color"), ";\n}\n\n.p-inputtext::placeholder {\n color: ").concat(dt2("inputtext.placeholder.color"), ";\n}\n\n.p-inputtext.p-invalid::placeholder {\n color: ").concat(dt2("inputtext.invalid.placeholder.color"), ";\n}\n\n.p-inputtext-sm {\n font-size: ").concat(dt2("inputtext.sm.font.size"), ";\n padding-block: ").concat(dt2("inputtext.sm.padding.y"), ";\n padding-inline: ").concat(dt2("inputtext.sm.padding.x"), ";\n}\n\n.p-inputtext-lg {\n font-size: ").concat(dt2("inputtext.lg.font.size"), ";\n padding-block: ").concat(dt2("inputtext.lg.padding.y"), ";\n padding-inline: ").concat(dt2("inputtext.lg.padding.x"), ";\n}\n\n.p-inputtext-fluid {\n width: 100%;\n}\n"); }, "theme"); -var classes$t = { - root: /* @__PURE__ */ __name(function root8(_ref2) { +var classes$s = { + root: /* @__PURE__ */ __name(function root9(_ref2) { var instance = _ref2.instance, props = _ref2.props; return ["p-inputtext p-component", { "p-filled": instance.$filled, @@ -147831,23 +148829,23 @@ var classes$t = { }; var InputTextStyle = BaseStyle$1.extend({ name: "inputtext", - theme: theme$r, - classes: classes$t + theme: theme$q, + classes: classes$s }); -var script$1$u = { +var script$1$t = { name: "BaseInputText", "extends": script$10, style: InputTextStyle, - provide: /* @__PURE__ */ __name(function provide15() { + provide: /* @__PURE__ */ __name(function provide16() { return { $pcInputText: this, $parentInstance: this }; }, "provide") }; -var script$J = { +var script$I = { name: "InputText", - "extends": script$1$u, + "extends": script$1$t, inheritAttrs: false, methods: { onInput: /* @__PURE__ */ __name(function onInput(event) { @@ -147865,8 +148863,8 @@ var script$J = { }, "attrs") } }; -var _hoisted_1$12 = ["value", "disabled", "aria-invalid"]; -function render$I(_ctx, _cache, $props, $setup, $data, $options) { +var _hoisted_1$11 = ["value", "disabled", "aria-invalid"]; +function render$H(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("input", mergeProps$2({ type: "text", "class": _ctx.cx("root"), @@ -147876,219 +148874,7 @@ function render$I(_ctx, _cache, $props, $setup, $data, $options) { onInput: _cache[0] || (_cache[0] = function() { return $options.onInput && $options.onInput.apply($options, arguments); }) - }, $options.attrs), null, 16, _hoisted_1$12); -} -__name(render$I, "render$I"); -script$J.render = render$I; -var theme$q = /* @__PURE__ */ __name(function theme16(_ref) { - var dt2 = _ref.dt; - return "\n.p-message {\n border-radius: ".concat(dt2("message.border.radius"), ";\n outline-width: ").concat(dt2("message.border.width"), ";\n outline-style: solid;\n}\n\n.p-message-content {\n display: flex;\n align-items: center;\n padding: ").concat(dt2("message.content.padding"), ";\n gap: ").concat(dt2("message.content.gap"), ";\n height: 100%;\n}\n\n.p-message-icon {\n flex-shrink: 0;\n}\n\n.p-message-close-button {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-inline-start: auto;\n overflow: hidden;\n position: relative;\n width: ").concat(dt2("message.close.button.width"), ";\n height: ").concat(dt2("message.close.button.height"), ";\n border-radius: ").concat(dt2("message.close.button.border.radius"), ";\n background: transparent;\n transition: background ").concat(dt2("message.transition.duration"), ", color ").concat(dt2("message.transition.duration"), ", outline-color ").concat(dt2("message.transition.duration"), ", box-shadow ").concat(dt2("message.transition.duration"), ", opacity 0.3s;\n outline-color: transparent;\n color: inherit;\n padding: 0;\n border: none;\n cursor: pointer;\n user-select: none;\n}\n\n.p-message-close-icon {\n font-size: ").concat(dt2("message.close.icon.size"), ";\n width: ").concat(dt2("message.close.icon.size"), ";\n height: ").concat(dt2("message.close.icon.size"), ";\n}\n\n.p-message-close-button:focus-visible {\n outline-width: ").concat(dt2("message.close.button.focus.ring.width"), ";\n outline-style: ").concat(dt2("message.close.button.focus.ring.style"), ";\n outline-offset: ").concat(dt2("message.close.button.focus.ring.offset"), ";\n}\n\n.p-message-info {\n background: ").concat(dt2("message.info.background"), ";\n outline-color: ").concat(dt2("message.info.border.color"), ";\n color: ").concat(dt2("message.info.color"), ";\n box-shadow: ").concat(dt2("message.info.shadow"), ";\n}\n\n.p-message-info .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.info.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.info.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-info .p-message-close-button:hover {\n background: ").concat(dt2("message.info.close.button.hover.background"), ";\n}\n\n.p-message-info.p-message-outlined {\n color: ").concat(dt2("message.info.outlined.color"), ";\n outline-color: ").concat(dt2("message.info.outlined.border.color"), ";\n}\n\n.p-message-info.p-message-simple {\n color: ").concat(dt2("message.info.simple.color"), ";\n}\n\n.p-message-success {\n background: ").concat(dt2("message.success.background"), ";\n outline-color: ").concat(dt2("message.success.border.color"), ";\n color: ").concat(dt2("message.success.color"), ";\n box-shadow: ").concat(dt2("message.success.shadow"), ";\n}\n\n.p-message-success .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.success.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.success.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-success .p-message-close-button:hover {\n background: ").concat(dt2("message.success.close.button.hover.background"), ";\n}\n\n.p-message-success.p-message-outlined {\n color: ").concat(dt2("message.success.outlined.color"), ";\n outline-color: ").concat(dt2("message.success.outlined.border.color"), ";\n}\n\n.p-message-success.p-message-simple {\n color: ").concat(dt2("message.success.simple.color"), ";\n}\n\n.p-message-warn {\n background: ").concat(dt2("message.warn.background"), ";\n outline-color: ").concat(dt2("message.warn.border.color"), ";\n color: ").concat(dt2("message.warn.color"), ";\n box-shadow: ").concat(dt2("message.warn.shadow"), ";\n}\n\n.p-message-warn .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.warn.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.warn.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-warn .p-message-close-button:hover {\n background: ").concat(dt2("message.warn.close.button.hover.background"), ";\n}\n\n.p-message-warn.p-message-outlined {\n color: ").concat(dt2("message.warn.outlined.color"), ";\n outline-color: ").concat(dt2("message.warn.outlined.border.color"), ";\n}\n\n.p-message-warn.p-message-simple {\n color: ").concat(dt2("message.warn.simple.color"), ";\n}\n\n.p-message-error {\n background: ").concat(dt2("message.error.background"), ";\n outline-color: ").concat(dt2("message.error.border.color"), ";\n color: ").concat(dt2("message.error.color"), ";\n box-shadow: ").concat(dt2("message.error.shadow"), ";\n}\n\n.p-message-error .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.error.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.error.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-error .p-message-close-button:hover {\n background: ").concat(dt2("message.error.close.button.hover.background"), ";\n}\n\n.p-message-error.p-message-outlined {\n color: ").concat(dt2("message.error.outlined.color"), ";\n outline-color: ").concat(dt2("message.error.outlined.border.color"), ";\n}\n\n.p-message-error.p-message-simple {\n color: ").concat(dt2("message.error.simple.color"), ";\n}\n\n.p-message-secondary {\n background: ").concat(dt2("message.secondary.background"), ";\n outline-color: ").concat(dt2("message.secondary.border.color"), ";\n color: ").concat(dt2("message.secondary.color"), ";\n box-shadow: ").concat(dt2("message.secondary.shadow"), ";\n}\n\n.p-message-secondary .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.secondary.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.secondary.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-secondary .p-message-close-button:hover {\n background: ").concat(dt2("message.secondary.close.button.hover.background"), ";\n}\n\n.p-message-secondary.p-message-outlined {\n color: ").concat(dt2("message.secondary.outlined.color"), ";\n outline-color: ").concat(dt2("message.secondary.outlined.border.color"), ";\n}\n\n.p-message-secondary.p-message-simple {\n color: ").concat(dt2("message.secondary.simple.color"), ";\n}\n\n.p-message-contrast {\n background: ").concat(dt2("message.contrast.background"), ";\n outline-color: ").concat(dt2("message.contrast.border.color"), ";\n color: ").concat(dt2("message.contrast.color"), ";\n box-shadow: ").concat(dt2("message.contrast.shadow"), ";\n}\n\n.p-message-contrast .p-message-close-button:focus-visible {\n outline-color: ").concat(dt2("message.contrast.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt2("message.contrast.close.button.focus.ring.shadow"), ";\n}\n\n.p-message-contrast .p-message-close-button:hover {\n background: ").concat(dt2("message.contrast.close.button.hover.background"), ";\n}\n\n.p-message-contrast.p-message-outlined {\n color: ").concat(dt2("message.contrast.outlined.color"), ";\n outline-color: ").concat(dt2("message.contrast.outlined.border.color"), ";\n}\n\n.p-message-contrast.p-message-simple {\n color: ").concat(dt2("message.contrast.simple.color"), ";\n}\n\n.p-message-text {\n font-size: ").concat(dt2("message.text.font.size"), ";\n font-weight: ").concat(dt2("message.text.font.weight"), ";\n}\n\n.p-message-icon {\n font-size: ").concat(dt2("message.icon.size"), ";\n width: ").concat(dt2("message.icon.size"), ";\n height: ").concat(dt2("message.icon.size"), ";\n}\n\n.p-message-enter-from {\n opacity: 0;\n}\n\n.p-message-enter-active {\n transition: opacity 0.3s;\n}\n\n.p-message.p-message-leave-from {\n max-height: 1000px;\n}\n\n.p-message.p-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin: 0;\n}\n\n.p-message-leave-active {\n overflow: hidden;\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin 0.3s;\n}\n\n.p-message-leave-active .p-message-close-button {\n opacity: 0;\n}\n\n.p-message-sm .p-message-content {\n padding: ").concat(dt2("message.content.sm.padding"), ";\n}\n\n.p-message-sm .p-message-text {\n font-size: ").concat(dt2("message.text.sm.font.size"), ";\n}\n\n.p-message-sm .p-message-icon {\n font-size: ").concat(dt2("message.icon.sm.size"), ";\n width: ").concat(dt2("message.icon.sm.size"), ";\n height: ").concat(dt2("message.icon.sm.size"), ";\n}\n\n.p-message-sm .p-message-close-icon {\n font-size: ").concat(dt2("message.close.icon.sm.size"), ";\n width: ").concat(dt2("message.close.icon.sm.size"), ";\n height: ").concat(dt2("message.close.icon.sm.size"), ";\n}\n\n.p-message-lg .p-message-content {\n padding: ").concat(dt2("message.content.lg.padding"), ";\n}\n\n.p-message-lg .p-message-text {\n font-size: ").concat(dt2("message.text.lg.font.size"), ";\n}\n\n.p-message-lg .p-message-icon {\n font-size: ").concat(dt2("message.icon.lg.size"), ";\n width: ").concat(dt2("message.icon.lg.size"), ";\n height: ").concat(dt2("message.icon.lg.size"), ";\n}\n\n.p-message-lg .p-message-close-icon {\n font-size: ").concat(dt2("message.close.icon.lg.size"), ";\n width: ").concat(dt2("message.close.icon.lg.size"), ";\n height: ").concat(dt2("message.close.icon.lg.size"), ";\n}\n\n.p-message-outlined {\n background: transparent;\n outline-width: ").concat(dt2("message.outlined.border.width"), ";\n}\n\n.p-message-simple {\n background: transparent;\n outline-color: transparent;\n box-shadow: none;\n}\n\n.p-message-simple .p-message-content {\n padding: ").concat(dt2("message.simple.content.padding"), ";\n}\n\n.p-message-outlined .p-message-close-button:hover,\n.p-message-simple .p-message-close-button:hover {\n background: transparent;\n}\n"); -}, "theme"); -var classes$s = { - root: /* @__PURE__ */ __name(function root9(_ref2) { - var props = _ref2.props; - return ["p-message p-component p-message-" + props.severity, { - "p-message-outlined": props.variant === "outlined", - "p-message-simple": props.variant === "simple", - "p-message-sm": props.size === "small", - "p-message-lg": props.size === "large" - }]; - }, "root"), - content: "p-message-content", - icon: "p-message-icon", - text: "p-message-text", - closeButton: "p-message-close-button", - closeIcon: "p-message-close-icon" -}; -var MessageStyle = BaseStyle$1.extend({ - name: "message", - theme: theme$q, - classes: classes$s -}); -var script$1$t = { - name: "BaseMessage", - "extends": script$14, - props: { - severity: { - type: String, - "default": "info" - }, - closable: { - type: Boolean, - "default": false - }, - life: { - type: Number, - "default": null - }, - icon: { - type: String, - "default": void 0 - }, - closeIcon: { - type: String, - "default": void 0 - }, - closeButtonProps: { - type: null, - "default": null - }, - size: { - type: String, - "default": null - }, - variant: { - type: String, - "default": null - } - }, - style: MessageStyle, - provide: /* @__PURE__ */ __name(function provide16() { - return { - $pcMessage: this, - $parentInstance: this - }; - }, "provide") -}; -var script$I = { - name: "Message", - "extends": script$1$t, - inheritAttrs: false, - emits: ["close", "life-end"], - timeout: null, - data: /* @__PURE__ */ __name(function data7() { - return { - visible: true - }; - }, "data"), - mounted: /* @__PURE__ */ __name(function mounted8() { - var _this = this; - if (this.life) { - setTimeout(function() { - _this.visible = false; - _this.$emit("life-end"); - }, this.life); - } - }, "mounted"), - methods: { - close: /* @__PURE__ */ __name(function close3(event) { - this.visible = false; - this.$emit("close", event); - }, "close") - }, - computed: { - closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel2() { - return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0; - }, "closeAriaLabel") - }, - directives: { - ripple: Ripple - }, - components: { - TimesIcon: script$_ - } -}; -function _typeof$a(o2) { - "@babel/helpers - typeof"; - return _typeof$a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { - return typeof o3; - } : function(o3) { - return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3; - }, _typeof$a(o2); -} -__name(_typeof$a, "_typeof$a"); -function ownKeys$c(e2, r2) { - var t2 = Object.keys(e2); - if (Object.getOwnPropertySymbols) { - var o2 = Object.getOwnPropertySymbols(e2); - r2 && (o2 = o2.filter(function(r3) { - return Object.getOwnPropertyDescriptor(e2, r3).enumerable; - })), t2.push.apply(t2, o2); - } - return t2; -} -__name(ownKeys$c, "ownKeys$c"); -function _objectSpread$c(e2) { - for (var r2 = 1; r2 < arguments.length; r2++) { - var t2 = null != arguments[r2] ? arguments[r2] : {}; - r2 % 2 ? ownKeys$c(Object(t2), true).forEach(function(r3) { - _defineProperty$a(e2, r3, t2[r3]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys$c(Object(t2)).forEach(function(r3) { - Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3)); - }); - } - return e2; -} -__name(_objectSpread$c, "_objectSpread$c"); -function _defineProperty$a(e2, r2, t2) { - return (r2 = _toPropertyKey$9(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; -} -__name(_defineProperty$a, "_defineProperty$a"); -function _toPropertyKey$9(t2) { - var i2 = _toPrimitive$9(t2, "string"); - return "symbol" == _typeof$a(i2) ? i2 : i2 + ""; -} -__name(_toPropertyKey$9, "_toPropertyKey$9"); -function _toPrimitive$9(t2, r2) { - if ("object" != _typeof$a(t2) || !t2) return t2; - var e2 = t2[Symbol.toPrimitive]; - if (void 0 !== e2) { - var i2 = e2.call(t2, r2 || "default"); - if ("object" != _typeof$a(i2)) return i2; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r2 ? String : Number)(t2); -} -__name(_toPrimitive$9, "_toPrimitive$9"); -var _hoisted_1$11 = ["aria-label"]; -function render$H(_ctx, _cache, $props, $setup, $data, $options) { - var _component_TimesIcon = resolveComponent("TimesIcon"); - var _directive_ripple = resolveDirective("ripple"); - return openBlock(), createBlock(Transition, mergeProps$2({ - name: "p-message", - appear: "" - }, _ctx.ptmi("transition")), { - "default": withCtx(function() { - return [withDirectives(createBaseVNode("div", mergeProps$2({ - "class": _ctx.cx("root"), - role: "alert", - "aria-live": "assertive", - "aria-atomic": "true" - }, _ctx.ptm("root")), [_ctx.$slots.container ? renderSlot(_ctx.$slots, "container", { - key: 0, - closeCallback: $options.close - }) : (openBlock(), createElementBlock("div", mergeProps$2({ - key: 1, - "class": _ctx.cx("content") - }, _ctx.ptm("content")), [renderSlot(_ctx.$slots, "icon", { - "class": normalizeClass(_ctx.cx("icon")) - }, function() { - return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon ? "span" : null), mergeProps$2({ - "class": [_ctx.cx("icon"), _ctx.icon] - }, _ctx.ptm("icon")), null, 16, ["class"]))]; - }), _ctx.$slots["default"] ? (openBlock(), createElementBlock("div", mergeProps$2({ - key: 0, - "class": _ctx.cx("text") - }, _ctx.ptm("text")), [renderSlot(_ctx.$slots, "default")], 16)) : createCommentVNode("", true), _ctx.closable ? withDirectives((openBlock(), createElementBlock("button", mergeProps$2({ - key: 1, - "class": _ctx.cx("closeButton"), - "aria-label": $options.closeAriaLabel, - type: "button", - onClick: _cache[0] || (_cache[0] = function($event) { - return $options.close($event); - }) - }, _objectSpread$c(_objectSpread$c({}, _ctx.closeButtonProps), _ctx.ptm("closeButton"))), [renderSlot(_ctx.$slots, "closeicon", {}, function() { - return [_ctx.closeIcon ? (openBlock(), createElementBlock("i", mergeProps$2({ - key: 0, - "class": [_ctx.cx("closeIcon"), _ctx.closeIcon] - }, _ctx.ptm("closeIcon")), null, 16)) : (openBlock(), createBlock(_component_TimesIcon, mergeProps$2({ - key: 1, - "class": [_ctx.cx("closeIcon"), _ctx.closeIcon] - }, _ctx.ptm("closeIcon")), null, 16, ["class"]))]; - })], 16, _hoisted_1$11)), [[_directive_ripple]]) : createCommentVNode("", true)], 16))], 16), [[vShow, $data.visible]])]; - }), - _: 3 - }, 16); + }, $options.attrs), null, 16, _hoisted_1$11); } __name(render$H, "render$H"); script$I.render = render$H; @@ -148205,7 +148991,7 @@ var script$G = { }, components: { PlusIcon: script$H, - MinusIcon: script$L, + MinusIcon: script$K, Button: script$V }, directives: { @@ -148391,7 +149177,7 @@ const _hoisted_1$_ = { class: "flex items-center gap-2" }; const _hoisted_2$G = { class: "font-bold" }; const _hoisted_3$s = { class: "flex justify-end gap-4" }; const _hoisted_4$k = { class: "p-4 mt-2 border border-round surface-border shadow-1" }; -const _hoisted_5$f = { class: "flex flex-row gap-3 mb-2" }; +const _hoisted_5$g = { class: "flex flex-row gap-3 mb-2" }; const _hoisted_6$a = ["for"]; const _hoisted_7$4 = { class: "flex flex-row gap-3 mt-2" }; const _hoisted_8$3 = ["for"]; @@ -148507,7 +149293,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({ }, "submit"); return (_ctx, _cache) => { const _directive_tooltip = resolveDirective("tooltip"); - return openBlock(), createBlock(unref(script$O), { + return openBlock(), createBlock(unref(script$N), { onSubmit: submit, resolver: unref(zodResolver)(unref(issueReportSchema)) }, { @@ -148535,18 +149321,18 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({ ]), default: withCtx(() => [ createBaseVNode("div", _hoisted_4$k, [ - createBaseVNode("div", _hoisted_5$f, [ + createBaseVNode("div", _hoisted_5$g, [ (openBlock(true), createElementBlock(Fragment$1, null, renderList(fields.value, (field2) => { return openBlock(), createElementBlock("div", { key: field2.value }, [ - field2.optIn ? (openBlock(), createBlock(unref(script$N), { + field2.optIn ? (openBlock(), createBlock(unref(script$M), { key: 0, name: field2.value, class: "flex space-x-1" }, { default: withCtx(($field) => [ - createVNode(unref(script$K), mergeProps$2({ ref_for: true }, $field, { + createVNode(unref(script$J), mergeProps$2({ ref_for: true }, $field, { inputId: field2.value, value: field2.value, modelValue: selection.value, @@ -148561,7 +149347,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({ ]); }), 128)) ]), - createVNode(unref(script$N), { + createVNode(unref(script$M), { class: "mb-4", name: "details" }, { @@ -148572,7 +149358,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({ placeholder: _ctx.$t("issueReport.provideAdditionalDetails"), "aria-label": _ctx.$t("issueReport.provideAdditionalDetails") }), null, 16, ["placeholder", "aria-label"]), - $field?.error && $field.touched && $field.value ? (openBlock(), createBlock(unref(script$I), { + $field?.error && $field.touched && $field.value ? (openBlock(), createBlock(unref(script$S), { key: 0, severity: "error", size: "small", @@ -148586,13 +149372,13 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({ ]), _: 1 }), - createVNode(unref(script$N), { name: "contactInfo" }, { + createVNode(unref(script$M), { name: "contactInfo" }, { default: withCtx(($field) => [ - createVNode(unref(script$J), mergeProps$2($field, { + createVNode(unref(script$I), mergeProps$2($field, { class: "w-full", placeholder: _ctx.$t("issueReport.provideEmail") }), null, 16, ["placeholder"]), - $field?.error && $field.touched && $field.value !== "" ? (openBlock(), createBlock(unref(script$I), { + $field?.error && $field.touched && $field.value !== "" ? (openBlock(), createBlock(unref(script$S), { key: 0, severity: "error", size: "small", @@ -148611,12 +149397,12 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({ return createBaseVNode("div", { key: checkbox.value }, [ - createVNode(unref(script$N), { + createVNode(unref(script$M), { name: checkbox.value, class: "flex space-x-1" }, { default: withCtx(($field) => [ - createVNode(unref(script$K), mergeProps$2({ ref_for: true }, $field, { + createVNode(unref(script$J), mergeProps$2({ ref_for: true }, $field, { inputId: checkbox.value, value: checkbox.value, modelValue: contactPrefs.value, @@ -148781,14 +149567,14 @@ ${workflowText} ]) ]), reportOpen.value ? (openBlock(), createElementBlock(Fragment$1, { key: 0 }, [ - createVNode(unref(script$S)), - createVNode(unref(script$R), { style: { "width": "100%", "height": "400px", "max-width": "80vw" } }, { + createVNode(unref(script$R)), + createVNode(unref(script$Q), { style: { "width": "100%", "height": "400px", "max-width": "80vw" } }, { default: withCtx(() => [ createBaseVNode("pre", _hoisted_3$r, toDisplayString$1(reportContent.value), 1) ]), _: 1 }), - createVNode(unref(script$S)) + createVNode(unref(script$R)) ], 64)) : createCommentVNode("", true), sendReportOpen.value ? (openBlock(), createBlock(_sfc_main$X, { key: 1, @@ -148815,7 +149601,7 @@ ${workflowText} }; } }); -const ExecutionErrorDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-3faf7785"]]); +const ExecutionErrorDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-e5000be2"]]); const _hoisted_1$Y = { class: "p-2 h-full", "aria-labelledby": "issue-report-title" @@ -149184,13 +149970,13 @@ var script$A = { numToleratedItems: /* @__PURE__ */ __name(function numToleratedItems(newValue2) { this.d_numToleratedItems = newValue2; }, "numToleratedItems"), - loading: /* @__PURE__ */ __name(function loading(newValue2, oldValue2) { - if (this.lazy && newValue2 !== oldValue2 && newValue2 !== this.d_loading) { + loading: /* @__PURE__ */ __name(function loading(newValue2, oldValue) { + if (this.lazy && newValue2 !== oldValue && newValue2 !== this.d_loading) { this.d_loading = newValue2; } }, "loading"), - items: /* @__PURE__ */ __name(function items(newValue2, oldValue2) { - if (!oldValue2 || oldValue2.length !== (newValue2 || []).length) { + items: /* @__PURE__ */ __name(function items(newValue2, oldValue) { + if (!oldValue || oldValue.length !== (newValue2 || []).length) { this.init(); this.calculateAutoSize(); } @@ -149347,8 +150133,8 @@ var script$A = { } } else { if (viewport.first - first2 > index2) { - var pos2 = (viewport.first - 1) * this.itemSize; - horizontal2 ? scrollTo3(pos2, 0) : scrollTo3(0, pos2); + var pos = (viewport.first - 1) * this.itemSize; + horizontal2 ? scrollTo3(pos, 0) : scrollTo3(0, pos); } } } else if (isToEnd) { @@ -149559,12 +150345,12 @@ var script$A = { } } }, "setSpacerSize"), - setContentPosition: /* @__PURE__ */ __name(function setContentPosition(pos2) { + setContentPosition: /* @__PURE__ */ __name(function setContentPosition(pos) { var _this7 = this; if (this.content && !this.appendOnly) { var both = this.isBoth(); var horizontal2 = this.isHorizontal(); - var first2 = pos2 ? pos2.first : this.first; + var first2 = pos ? pos.first : this.first; var calculateTranslateVal = /* @__PURE__ */ __name(function calculateTranslateVal2(_first, _size) { return _first * _size; }, "calculateTranslateVal"); @@ -150722,12 +151508,12 @@ var script$z = { ripple: Ripple }, components: { - InputText: script$J, + InputText: script$I, VirtualScroller: script$A, InputIcon: script$B, IconField: script$C, SearchIcon: script$D, - CheckIcon: script$M, + CheckIcon: script$L, BlankIcon: script$E } }; @@ -150735,7 +151521,7 @@ var _hoisted_1$W = ["id"]; var _hoisted_2$D = ["tabindex"]; var _hoisted_3$p = ["id", "aria-multiselectable", "aria-label", "aria-labelledby", "aria-activedescendant", "aria-disabled"]; var _hoisted_4$h = ["id"]; -var _hoisted_5$e = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousedown", "onMousemove", "onDblclick", "data-p-selected", "data-p-focused", "data-p-disabled"]; +var _hoisted_5$f = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousedown", "onMousemove", "onDblclick", "data-p-selected", "data-p-focused", "data-p-disabled"]; var _hoisted_6$9 = ["tabindex"]; function render$y(_ctx, _cache, $props, $setup, $data, $options) { var _component_InputText = resolveComponent("InputText"); @@ -150932,7 +151718,7 @@ function render$y(_ctx, _cache, $props, $setup, $data, $options) { index: $options.getOptionIndex(i2, getItemOptions) }, function() { return [createTextVNode(toDisplayString$1($options.getOptionLabel(option3)), 1)]; - })], 16, _hoisted_5$e)), [[_directive_ripple]])], 64); + })], 16, _hoisted_5$f)), [[_directive_ripple]])], 64); }), 128)), $data.filterValue && (!items2 || items2 && items2.length === 0) ? (openBlock(), createElementBlock("li", mergeProps$2({ key: 0, "class": _ctx.cx("emptyMessage"), @@ -151487,7 +152273,7 @@ const _hoisted_3$n = { class: "pi pi-check text-green-500" }; const _hoisted_4$g = { class: "file-info" }; -const _hoisted_5$d = { class: "file-details" }; +const _hoisted_5$e = { class: "file-details" }; const _hoisted_6$8 = ["title"]; const _hoisted_7$3 = { key: 0, @@ -151542,7 +152328,7 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({ createBaseVNode("div", _hoisted_2$B, [ status.value === "completed" ? (openBlock(), createElementBlock("i", _hoisted_3$n)) : createCommentVNode("", true), createBaseVNode("div", _hoisted_4$g, [ - createBaseVNode("div", _hoisted_5$d, [ + createBaseVNode("div", _hoisted_5$e, [ createBaseVNode("span", { class: "file-type", title: hint.value @@ -151626,7 +152412,7 @@ const _hoisted_1$S = { class: "flex flex-row items-center gap-2" }; const _hoisted_2$A = { class: "file-info" }; const _hoisted_3$m = { class: "file-details" }; const _hoisted_4$f = ["title"]; -const _hoisted_5$c = { +const _hoisted_5$d = { key: 0, class: "file-error" }; @@ -151656,7 +152442,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({ title: hint.value }, toDisplayString$1(label5.value), 9, _hoisted_4$f) ]), - props.error ? (openBlock(), createElementBlock("div", _hoisted_5$c, toDisplayString$1(props.error), 1)) : createCommentVNode("", true) + props.error ? (openBlock(), createElementBlock("div", _hoisted_5$d, toDisplayString$1(props.error), 1)) : createCommentVNode("", true) ]), createBaseVNode("div", _hoisted_6$7, [ createVNode(unref(script$V), { @@ -151780,11 +152566,11 @@ function tryMigrateDeprecatedValue(setting, value4) { return setting?.migrateDeprecatedValue?.(value4) ?? value4; } __name(tryMigrateDeprecatedValue, "tryMigrateDeprecatedValue"); -function onChange(setting, newValue2, oldValue2) { +function onChange(setting, newValue2, oldValue) { if (setting?.onChange) { - setting.onChange(newValue2, oldValue2); + setting.onChange(newValue2, oldValue); } - app$1.ui.settings.dispatchChange(setting.id, newValue2, oldValue2); + app$1.ui.settings.dispatchChange(setting.id, newValue2, oldValue); } __name(onChange, "onChange"); const useSettingStore = /* @__PURE__ */ defineStore("setting", () => { @@ -151819,9 +152605,9 @@ const useSettingStore = /* @__PURE__ */ defineStore("setting", () => { settingsById.value[key], clonedValue ); - const oldValue2 = get3(key); - if (newValue2 === oldValue2) return; - onChange(settingsById.value[key], newValue2, oldValue2); + const oldValue = get3(key); + if (newValue2 === oldValue) return; + onChange(settingsById.value[key], newValue2, oldValue); settingValues.value[key] = newValue2; await api.storeSetting(key, newValue2); } @@ -151956,7 +152742,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({ message: unref(t2)("missingModelsDialog.missingModelsMessage") }, null, 8, ["title", "message"]), createBaseVNode("div", _hoisted_1$R, [ - createVNode(unref(script$K), { + createVNode(unref(script$J), { modelValue: doNotAskAgain.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => doNotAskAgain.value = $event), binary: "", @@ -152066,7 +152852,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({ return openBlock(), createElementBlock("div", _hoisted_1$Q, [ createVNode(unref(script$x), null, { default: withCtx(() => [ - createVNode(unref(script$J), { + createVNode(unref(script$I), { ref_key: "inputRef", ref: inputRef, modelValue: inputValue.value, @@ -152420,7 +153206,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({ severity: "contrast", onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("showFilter", $event)) }, null, 8, ["icon"])) : createCommentVNode("", true), - createVNode(unref(script$J), { + createVNode(unref(script$I), { class: "search-box-input w-full", onInput: handleInput, modelValue: _ctx.modelValue, @@ -152844,15 +153630,15 @@ var script$o = { onPrevButtonClick: /* @__PURE__ */ __name(function onPrevButtonClick() { var content2 = this.$refs.content; var width2 = getWidth$1(content2); - var pos2 = content2.scrollLeft - width2; - content2.scrollLeft = pos2 <= 0 ? 0 : pos2; + var pos = content2.scrollLeft - width2; + content2.scrollLeft = pos <= 0 ? 0 : pos; }, "onPrevButtonClick"), onNextButtonClick: /* @__PURE__ */ __name(function onNextButtonClick() { var content2 = this.$refs.content; var width2 = getWidth$1(content2) - this.getVisibleButtonWidths(); - var pos2 = content2.scrollLeft + width2; + var pos = content2.scrollLeft + width2; var lastPos = content2.scrollWidth - width2; - content2.scrollLeft = pos2 >= lastPos ? lastPos : pos2; + content2.scrollLeft = pos >= lastPos ? lastPos : pos; }, "onNextButtonClick"), onTabClick: /* @__PURE__ */ __name(function onTabClick(event, tab, index2) { this.changeActiveIndex(event, tab, index2); @@ -153081,7 +153867,7 @@ var _hoisted_1$N = ["tabindex", "aria-label"]; var _hoisted_2$x = ["data-p-active", "data-p-disabled", "data-pc-index"]; var _hoisted_3$l = ["id", "tabindex", "aria-disabled", "aria-selected", "aria-controls", "onClick", "onKeydown"]; var _hoisted_4$e = ["tabindex", "aria-label"]; -var _hoisted_5$b = ["id", "aria-labelledby", "data-pc-index", "data-p-active"]; +var _hoisted_5$c = ["id", "aria-labelledby", "data-pc-index", "data-p-active"]; function render$n(_ctx, _cache, $props, $setup, $data, $options) { var _directive_ripple = resolveDirective("ripple"); return openBlock(), createElementBlock("div", mergeProps$2({ @@ -153193,7 +153979,7 @@ function render$n(_ctx, _cache, $props, $setup, $data, $options) { "data-pc-name": "tabpanel", "data-pc-index": index2, "data-p-active": $data.d_activeIndex === index2 - }), [(openBlock(), createBlock(resolveDynamicComponent(tab)))], 16, _hoisted_5$b)), [[vShow, _ctx.lazy ? true : $options.isTabActive(index2)]]) : createCommentVNode("", true)], 64); + }), [(openBlock(), createBlock(resolveDynamicComponent(tab)))], 16, _hoisted_5$c)), [[vShow, _ctx.lazy ? true : $options.isTabActive(index2)]]) : createCommentVNode("", true)], 64); }), 128))], 16)], 16); } __name(render$n, "render$n"); @@ -153241,7 +154027,7 @@ const _hoisted_1$L = { class: "system-stats" }; const _hoisted_2$v = { class: "mb-6" }; const _hoisted_3$k = { class: "text-2xl font-semibold mb-4" }; const _hoisted_4$d = { class: "grid grid-cols-2 gap-2" }; -const _hoisted_5$a = { class: "font-medium" }; +const _hoisted_5$b = { class: "font-medium" }; const _hoisted_6$6 = { class: "text-2xl font-semibold mb-4" }; const _sfc_main$M = /* @__PURE__ */ defineComponent({ __name: "SystemStatsPanel", @@ -153278,13 +154064,13 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({ return openBlock(), createElementBlock(Fragment$1, { key: col.field }, [ - createBaseVNode("div", _hoisted_5$a, toDisplayString$1(col.header), 1), + createBaseVNode("div", _hoisted_5$b, toDisplayString$1(col.header), 1), createBaseVNode("div", null, toDisplayString$1(formatValue2(systemInfo.value[col.field], col.field)), 1) ], 64); }), 64)) ]) ]), - createVNode(unref(script$S)), + createVNode(unref(script$R)), createBaseVNode("div", null, [ createBaseVNode("h2", _hoisted_6$6, toDisplayString$1(_ctx.$t("g.devices")), 1), props.stats.devices.length > 1 ? (openBlock(), createBlock(unref(script$o), { key: 0 }, { @@ -153413,7 +154199,7 @@ const useSystemStatsStore = /* @__PURE__ */ defineStore("systemStats", () => { }; }); const useAboutPanelStore = /* @__PURE__ */ defineStore("aboutPanel", () => { - const frontendVersion = "1.8.14"; + const frontendVersion = "1.9.17"; const extensionStore = useExtensionStore(); const systemStatsStore = useSystemStatsStore(); const coreVersion = computed( @@ -153464,7 +154250,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({ default: withCtx(() => [ createBaseVNode("div", _hoisted_1$K, [ renderSlot(_ctx.$slots, "header"), - createVNode(unref(script$R), { class: "flex-grow h-0 pr-2" }, { + createVNode(unref(script$Q), { class: "flex-grow h-0 pr-2" }, { default: withCtx(() => [ renderSlot(_ctx.$slots, "default") ]), @@ -153522,7 +154308,7 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({ ], 8, _hoisted_3$j); }), 128)) ]), - createVNode(unref(script$S)), + createVNode(unref(script$R)), unref(systemStatsStore).systemStats ? (openBlock(), createBlock(_sfc_main$M, { key: 0, stats: unref(systemStatsStore).systemStats @@ -154632,7 +155418,7 @@ var script$m = { ripple: Ripple }, components: { - InputText: script$J, + InputText: script$I, VirtualScroller: script$A, Portal: script$U, InputIcon: script$B, @@ -154641,7 +155427,7 @@ var script$m = { ChevronDownIcon: script$n, SpinnerIcon: script$X, SearchIcon: script$D, - CheckIcon: script$M, + CheckIcon: script$L, BlankIcon: script$E } }; @@ -154649,7 +155435,7 @@ var _hoisted_1$I = ["id"]; var _hoisted_2$t = ["id", "value", "placeholder", "tabindex", "disabled", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-invalid"]; var _hoisted_3$i = ["id", "tabindex", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-disabled"]; var _hoisted_4$c = ["id"]; -var _hoisted_5$9 = ["id"]; +var _hoisted_5$a = ["id"]; var _hoisted_6$5 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousemove", "data-p-selected", "data-p-focused", "data-p-disabled"]; function render$l(_ctx, _cache, $props, $setup, $data, $options) { var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); @@ -154901,7 +155687,7 @@ function render$l(_ctx, _cache, $props, $setup, $data, $options) { "class": _ctx.cx("optionGroupLabel"), ref_for: true }, _ctx.ptm("optionGroupLabel")), toDisplayString$1($options.getOptionGroupLabel(option3.optionGroup)), 17)]; - })], 16, _hoisted_5$9)) : withDirectives((openBlock(), createElementBlock("li", mergeProps$2({ + })], 16, _hoisted_5$a)) : withDirectives((openBlock(), createElementBlock("li", mergeProps$2({ key: 1, id: $data.id + "_" + $options.getOptionIndex(i2, getItemOptions), "class": _ctx.cx("option", { @@ -155563,7 +156349,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({ } }, "importCustomPalette"); return (_ctx, _cache) => { - return openBlock(), createBlock(unref(script$I), { + return openBlock(), createBlock(unref(script$S), { severity: "info", icon: "pi pi-palette", "pt:text": "w-full" @@ -155618,7 +156404,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({ window.location.reload(); }, "logout"); return (_ctx, _cache) => { - return unref(userStore).isMultiUserServer ? (openBlock(), createBlock(unref(script$I), { + return unref(userStore).isMultiUserServer ? (openBlock(), createBlock(unref(script$S), { key: 0, severity: "info", icon: "pi pi-user", @@ -155649,7 +156435,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({ settingStore.set("Comfy.UseNewMenu", currentValue); }, "handleClose"); return (_ctx, _cache) => { - return show5.value ? (openBlock(), createBlock(unref(script$I), { + return show5.value ? (openBlock(), createBlock(unref(script$S), { key: 0, class: "first-time-ui-message", severity: "info", @@ -155997,35 +156783,35 @@ var script$j = { d_value: /* @__PURE__ */ __name(function d_value(newValue2) { this.d_modelValue = newValue2; }, "d_value"), - locale: /* @__PURE__ */ __name(function locale(newValue2, oldValue2) { - this.updateConstructParser(newValue2, oldValue2); + locale: /* @__PURE__ */ __name(function locale(newValue2, oldValue) { + this.updateConstructParser(newValue2, oldValue); }, "locale"), - localeMatcher: /* @__PURE__ */ __name(function localeMatcher(newValue2, oldValue2) { - this.updateConstructParser(newValue2, oldValue2); + localeMatcher: /* @__PURE__ */ __name(function localeMatcher(newValue2, oldValue) { + this.updateConstructParser(newValue2, oldValue); }, "localeMatcher"), - mode: /* @__PURE__ */ __name(function mode(newValue2, oldValue2) { - this.updateConstructParser(newValue2, oldValue2); + mode: /* @__PURE__ */ __name(function mode(newValue2, oldValue) { + this.updateConstructParser(newValue2, oldValue); }, "mode"), - currency: /* @__PURE__ */ __name(function currency(newValue2, oldValue2) { - this.updateConstructParser(newValue2, oldValue2); + currency: /* @__PURE__ */ __name(function currency(newValue2, oldValue) { + this.updateConstructParser(newValue2, oldValue); }, "currency"), - currencyDisplay: /* @__PURE__ */ __name(function currencyDisplay(newValue2, oldValue2) { - this.updateConstructParser(newValue2, oldValue2); + currencyDisplay: /* @__PURE__ */ __name(function currencyDisplay(newValue2, oldValue) { + this.updateConstructParser(newValue2, oldValue); }, "currencyDisplay"), - useGrouping: /* @__PURE__ */ __name(function useGrouping(newValue2, oldValue2) { - this.updateConstructParser(newValue2, oldValue2); + useGrouping: /* @__PURE__ */ __name(function useGrouping(newValue2, oldValue) { + this.updateConstructParser(newValue2, oldValue); }, "useGrouping"), - minFractionDigits: /* @__PURE__ */ __name(function minFractionDigits(newValue2, oldValue2) { - this.updateConstructParser(newValue2, oldValue2); + minFractionDigits: /* @__PURE__ */ __name(function minFractionDigits(newValue2, oldValue) { + this.updateConstructParser(newValue2, oldValue); }, "minFractionDigits"), - maxFractionDigits: /* @__PURE__ */ __name(function maxFractionDigits(newValue2, oldValue2) { - this.updateConstructParser(newValue2, oldValue2); + maxFractionDigits: /* @__PURE__ */ __name(function maxFractionDigits(newValue2, oldValue) { + this.updateConstructParser(newValue2, oldValue); }, "maxFractionDigits"), - suffix: /* @__PURE__ */ __name(function suffix(newValue2, oldValue2) { - this.updateConstructParser(newValue2, oldValue2); + suffix: /* @__PURE__ */ __name(function suffix(newValue2, oldValue) { + this.updateConstructParser(newValue2, oldValue); }, "suffix"), - prefix: /* @__PURE__ */ __name(function prefix(newValue2, oldValue2) { - this.updateConstructParser(newValue2, oldValue2); + prefix: /* @__PURE__ */ __name(function prefix(newValue2, oldValue) { + this.updateConstructParser(newValue2, oldValue); }, "prefix") }, created: /* @__PURE__ */ __name(function created3() { @@ -156063,8 +156849,8 @@ var script$j = { return index2.get(d2); }; }, "constructParser"), - updateConstructParser: /* @__PURE__ */ __name(function updateConstructParser(newValue2, oldValue2) { - if (newValue2 !== oldValue2) { + updateConstructParser: /* @__PURE__ */ __name(function updateConstructParser(newValue2, oldValue) { + if (newValue2 !== oldValue) { this.constructParser(); } }, "updateConstructParser"), @@ -156799,7 +157585,7 @@ var script$j = { }, "getFormatter") }, components: { - InputText: script$J, + InputText: script$I, AngleUpIcon: script$k, AngleDownIcon: script$l } @@ -157825,6 +158611,9 @@ __name(render$g, "render$g"); script$h.render = render$g; const _hoisted_1$C = { class: "color-picker-wrapper flex items-center gap-2" }; const _sfc_main$F = /* @__PURE__ */ defineComponent({ + ...{ + inheritAttrs: false + }, __name: "FormColorPicker", props: /* @__PURE__ */ mergeModels({ defaultValue: {}, @@ -157838,11 +158627,11 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({ const modelValue3 = useModel(__props, "modelValue"); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1$C, [ - createVNode(unref(script$h), { + createVNode(unref(script$h), mergeProps$2({ modelValue: modelValue3.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue3.value = $event) - }, null, 8, ["modelValue"]), - createVNode(unref(script$J), { + }, _ctx.$attrs), null, 16, ["modelValue"]), + createVNode(unref(script$I), { modelValue: modelValue3.value, "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => modelValue3.value = $event), class: "w-28", @@ -157859,7 +158648,7 @@ const _hoisted_4$a = { key: 1, class: "pi pi-image text-gray-400 text-xl" }; -const _hoisted_5$8 = { class: "flex flex-col gap-2" }; +const _hoisted_5$9 = { class: "flex flex-col gap-2" }; const _sfc_main$E = /* @__PURE__ */ defineComponent({ __name: "FormImageUpload", props: { @@ -157902,7 +158691,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({ class: "max-w-full max-h-full object-contain" }, null, 8, _hoisted_3$g)) : (openBlock(), createElementBlock("i", _hoisted_4$a)) ], 2), - createBaseVNode("div", _hoisted_5$8, [ + createBaseVNode("div", _hoisted_5$9, [ createVNode(unref(script$V), { icon: "pi pi-upload", label: _ctx.$t("g.upload"), @@ -158077,10 +158866,10 @@ var script$g = { } var newValue2 = (this.max - this.min) * (handleValue / 100) + this.min; if (this.step) { - var oldValue2 = this.range ? this.value[this.handleIndex] : this.value; - var diff2 = newValue2 - oldValue2; - if (diff2 < 0) newValue2 = oldValue2 + Math.ceil(newValue2 / this.step - oldValue2 / this.step) * this.step; - else if (diff2 > 0) newValue2 = oldValue2 + Math.floor(newValue2 / this.step - oldValue2 / this.step) * this.step; + var oldValue = this.range ? this.value[this.handleIndex] : this.value; + var diff2 = newValue2 - oldValue; + if (diff2 < 0) newValue2 = oldValue + Math.ceil(newValue2 / this.step - oldValue / this.step) * this.step; + else if (diff2 > 0) newValue2 = oldValue + Math.floor(newValue2 / this.step - oldValue / this.step) * this.step; } else { newValue2 = Math.floor(newValue2); } @@ -158438,6 +159227,9 @@ __name(render$f, "render$f"); script$g.render = render$f; const _hoisted_1$z = { class: "input-slider flex flex-row items-center gap-2" }; const _sfc_main$D = /* @__PURE__ */ defineComponent({ + ...{ + inheritAttrs: false + }, __name: "InputSlider", props: { modelValue: {}, @@ -158472,14 +159264,14 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({ }, "updateValue"); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1$z, [ - createVNode(unref(script$g), { + createVNode(unref(script$g), mergeProps$2({ modelValue: _ctx.modelValue, "onUpdate:modelValue": updateValue3, - class: normalizeClass(["slider-part", _ctx.sliderClass]), + class: ["slider-part", _ctx.sliderClass], min: _ctx.min, max: _ctx.max, step: _ctx.step - }, null, 8, ["modelValue", "class", "min", "max", "step"]), + }, _ctx.$attrs), null, 16, ["modelValue", "class", "min", "max", "step"]), createVNode(unref(script$j), { modelValue: _ctx.modelValue, "onUpdate:modelValue": updateValue3, @@ -158506,6 +159298,38 @@ const checkUrlReachable = /* @__PURE__ */ __name(async (url) => { const checkMirrorReachable = /* @__PURE__ */ __name(async (mirror2) => { return isValidUrl(mirror2) && await electronAPI().NetWork.canAccessUrl(mirror2); }, "checkMirrorReachable"); +async function isInChina() { + const isChineseLocale = navigator.language.toLowerCase().startsWith("zh-cn"); + try { + const googleTest = await Promise.race([ + fetch("https://www.google.com", { + mode: "no-cors", + cache: "no-cache" + }), + new Promise((_2, reject3) => setTimeout(() => reject3(), 2e3)) + ]); + if (googleTest) { + return false; + } + } catch { + if (isChineseLocale) { + return true; + } + try { + const start2 = performance.now(); + await fetch("https://www.baidu.com", { + mode: "no-cors", + cache: "no-cache" + }); + const latency = performance.now() - start2; + return latency < 150; + } catch { + return isChineseLocale; + } + } + return false; +} +__name(isInChina, "isInChina"); var ValidationState = /* @__PURE__ */ ((ValidationState2) => { ValidationState2["IDLE"] = "IDLE"; ValidationState2["LOADING"] = "LOADING"; @@ -158593,7 +159417,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({ return (_ctx, _cache) => { return openBlock(), createBlock(unref(script$C), { class: "w-full" }, { default: withCtx(() => [ - createVNode(unref(script$J), mergeProps$2(_ctx.$attrs, { + createVNode(unref(script$I), mergeProps$2(_ctx.$attrs, { "model-value": internalValue.value, class: "w-full", invalid: validationState.value === unref(ValidationState).INVALID, @@ -158616,11 +159440,12 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({ }); const _hoisted_1$y = { class: "flex flex-row items-center gap-2" }; const _hoisted_2$n = { class: "form-label flex flex-grow items-center" }; -const _hoisted_3$e = { +const _hoisted_3$e = ["id"]; +const _hoisted_4$9 = { key: 0, class: "pi pi-info-circle bg-transparent" }; -const _hoisted_4$9 = { class: "form-input flex justify-end" }; +const _hoisted_5$8 = { class: "form-input flex justify-end" }; const _sfc_main$B = /* @__PURE__ */ defineComponent({ __name: "FormItem", props: /* @__PURE__ */ mergeModels({ @@ -158682,7 +159507,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({ case "url": return _sfc_main$C; default: - return script$J; + return script$I; } } __name(getFormComponent, "getFormComponent"); @@ -158691,28 +159516,30 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({ return openBlock(), createElementBlock("div", _hoisted_1$y, [ createBaseVNode("div", _hoisted_2$n, [ createBaseVNode("span", { - class: normalizeClass(["text-muted", props.labelClass]) + class: normalizeClass(["text-muted", props.labelClass]), + id: `${props.id}-label` }, [ renderSlot(_ctx.$slots, "name-prefix", {}, void 0, true), createTextVNode(" " + toDisplayString$1(props.item.name) + " ", 1), - props.item.tooltip ? withDirectives((openBlock(), createElementBlock("i", _hoisted_3$e, null, 512)), [ + props.item.tooltip ? withDirectives((openBlock(), createElementBlock("i", _hoisted_4$9, null, 512)), [ [_directive_tooltip, props.item.tooltip] ]) : createCommentVNode("", true), renderSlot(_ctx.$slots, "name-suffix", {}, void 0, true) - ], 2) + ], 10, _hoisted_3$e) ]), - createBaseVNode("div", _hoisted_4$9, [ + createBaseVNode("div", _hoisted_5$8, [ (openBlock(), createBlock(resolveDynamicComponent(markRaw(getFormComponent(props.item))), mergeProps$2({ id: props.id, + "aria-labelledby": `${props.id}-label`, modelValue: formValue.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => formValue.value = $event) - }, getFormAttrs(props.item)), null, 16, ["id", "modelValue"])) + }, getFormAttrs(props.item)), null, 16, ["id", "aria-labelledby", "modelValue"])) ]) ]); }; } }); -const FormItem = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-1451da7b"]]); +const FormItem = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-a29c257f"]]); const _sfc_main$A = /* @__PURE__ */ defineComponent({ __name: "SettingItem", props: { @@ -158782,7 +159609,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({ setup(__props) { return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1$x, [ - _ctx.divider ? (openBlock(), createBlock(unref(script$S), { key: 0 })) : createCommentVNode("", true), + _ctx.divider ? (openBlock(), createBlock(unref(script$R), { key: 0 })) : createCommentVNode("", true), createBaseVNode("h3", null, toDisplayString$1(_ctx.$t(`settingsCategories.${unref(normalizeI18nKey)(_ctx.group.label)}`, _ctx.group.label)), 1), (openBlock(true), createElementBlock(Fragment$1, null, renderList(_ctx.group.settings, (setting) => { return openBlock(), createElementBlock("div", { @@ -158831,13 +159658,13 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({ setup(__props) { const props = __props; const KeybindingPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./KeybindingPanel-CeHhC2F4.js"), true ? __vite__mapDeps([26,24,2,3,27]) : void 0, import.meta.url) + () => __vitePreload(() => import("./KeybindingPanel-BIrxefrS.js"), true ? __vite__mapDeps([30,25,2,4,31]) : void 0, import.meta.url) ); const ExtensionPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./ExtensionPanel-iPOrhDVM.js"), true ? __vite__mapDeps([28,24,2]) : void 0, import.meta.url) + () => __vitePreload(() => import("./ExtensionPanel-1HZtMFvH.js"), true ? __vite__mapDeps([32,25,2]) : void 0, import.meta.url) ); const ServerConfigPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./ServerConfigPanel-B1lI5M9c.js"), true ? __vite__mapDeps([29,4]) : void 0, import.meta.url) + () => __vitePreload(() => import("./ServerConfigPanel-D0jTW_iX.js"), true ? __vite__mapDeps([33,5]) : void 0, import.meta.url) ); const aboutPanelNode = { key: "about", @@ -158960,14 +159787,14 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({ const tabValue = computed( () => inSearch.value ? "Search Results" : activeCategory.value?.label ); - watch(activeCategory, (_2, oldValue2) => { + watch(activeCategory, (_2, oldValue) => { if (!tabValue.value) { - activeCategory.value = oldValue2; + activeCategory.value = oldValue; } }); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1$v, [ - createVNode(unref(script$R), { class: "settings-sidebar flex-shrink-0 p-2 w-48 2xl:w-64" }, { + createVNode(unref(script$Q), { class: "settings-sidebar flex-shrink-0 p-2 w-48 2xl:w-64" }, { default: withCtx(() => [ createVNode(SearchBox, { class: "settings-search-box w-full mb-2", @@ -158989,11 +159816,11 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({ ]), _: 1 }), - createVNode(unref(script$S), { + createVNode(unref(script$R), { layout: "vertical", class: "mx-1 2xl:mx-4 hidden md:flex" }), - createVNode(unref(script$S), { + createVNode(unref(script$R), { layout: "horizontal", class: "flex md:hidden" }), @@ -159295,16 +160122,16 @@ var script$e = { circular: /* @__PURE__ */ __name(function circular(newValue2) { this.d_circular = newValue2; }, "circular"), - numVisible: /* @__PURE__ */ __name(function numVisible(newValue2, oldValue2) { + numVisible: /* @__PURE__ */ __name(function numVisible(newValue2, oldValue) { this.d_numVisible = newValue2; - this.d_oldNumVisible = oldValue2; + this.d_oldNumVisible = oldValue; }, "numVisible"), - numScroll: /* @__PURE__ */ __name(function numScroll(newValue2, oldValue2) { - this.d_oldNumScroll = oldValue2; + numScroll: /* @__PURE__ */ __name(function numScroll(newValue2, oldValue) { + this.d_oldNumScroll = oldValue; this.d_numScroll = newValue2; }, "numScroll"), - value: /* @__PURE__ */ __name(function value3(oldValue2) { - this.d_oldValue = oldValue2; + value: /* @__PURE__ */ __name(function value3(oldValue) { + this.d_oldValue = oldValue; }, "value") }, mounted: /* @__PURE__ */ __name(function mounted17() { @@ -159921,7 +160748,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({ const props = __props; const imageError = ref(false); return (_ctx, _cache) => { - return openBlock(), createBlock(unref(script$Q), { + return openBlock(), createBlock(unref(script$P), { "data-testid": `template-workflow-${props.workflowName}` }, { header: withCtx(() => [ @@ -160201,7 +161028,8 @@ const useDialogService = /* @__PURE__ */ __name(() => { title, message: message3, type = "default", - itemList = [] + itemList = [], + hint }) { return new Promise((resolve2) => { const options4 = { @@ -160212,7 +161040,8 @@ const useDialogService = /* @__PURE__ */ __name(() => { message: message3, type, itemList, - onConfirm: resolve2 + onConfirm: resolve2, + hint }, dialogComponentProps: { onClose: /* @__PURE__ */ __name(() => resolve2(null), "onClose") @@ -160234,6 +161063,41 @@ const useDialogService = /* @__PURE__ */ __name(() => { confirm: confirm2 }; }, "useDialogService"); +const RESERVED_BY_TEXT_INPUT = /* @__PURE__ */ new Set([ + "Ctrl + a", + "Ctrl + c", + "Ctrl + v", + "Ctrl + x", + "Ctrl + z", + "Ctrl + y", + "Ctrl + p", + "Enter", + "Shift + Enter", + "Ctrl + Backspace", + "Ctrl + Delete", + "Home", + "Ctrl + Home", + "Ctrl + Shift + Home", + "End", + "Ctrl + End", + "Ctrl + Shift + End", + "PageUp", + "PageDown", + "Shift + PageUp", + "Shift + PageDown", + "ArrowLeft", + "Ctrl + ArrowLeft", + "Shift + ArrowLeft", + "Ctrl + Shift + ArrowLeft", + "ArrowRight", + "Ctrl + ArrowRight", + "Shift + ArrowRight", + "Ctrl + Shift + ArrowRight", + "ArrowUp", + "Shift + ArrowUp", + "ArrowDown", + "Shift + ArrowDown" +]); class KeybindingImpl { static { __name(this, "KeybindingImpl"); @@ -160290,6 +161154,16 @@ class KeyComboImpl { get isModifier() { return ["Control", "Meta", "Alt", "Shift"].includes(this.key); } + get modifierCount() { + const modifiers2 = [this.ctrl, this.alt, this.shift]; + return modifiers2.reduce((acc, cur) => acc + Number(cur), 0); + } + get isShiftOnly() { + return this.shift && this.modifierCount === 1; + } + get isReservedByTextInput() { + return !this.hasModifier || this.isShiftOnly || RESERVED_BY_TEXT_INPUT.has(this.toString()); + } getKeySequences() { const sequences = []; if (this.ctrl) { @@ -160617,6 +161491,437 @@ const useMenuItemStore = /* @__PURE__ */ defineStore("menuItem", () => { registerCoreMenuCommands }; }); +const useBooleanWidget = /* @__PURE__ */ __name(() => { + const widgetConstructor = /* @__PURE__ */ __name((node3, inputName, inputData) => { + const inputOptions = inputData[1]; + const defaultVal = inputOptions?.default ?? false; + const options4 = { + on: inputOptions?.label_on, + off: inputOptions?.label_off + }; + return { + widget: node3.addWidget("toggle", inputName, defaultVal, () => { + }, options4) + }; + }, "widgetConstructor"); + return widgetConstructor; +}, "useBooleanWidget"); +const MAX_RETRIES = 5; +const TIMEOUT = 4096; +const dataCache = /* @__PURE__ */ new Map(); +const createCacheKey = /* @__PURE__ */ __name((config2) => { + const { route, query_params = {}, refresh: refresh2 = 0 } = config2; + const paramsKey = Object.entries(query_params).sort(([a2], [b2]) => a2.localeCompare(b2)).map(([k2, v2]) => `${k2}=${v2}`).join("&"); + return [route, `r=${refresh2}`, paramsKey].join(";"); +}, "createCacheKey"); +const getBackoff = /* @__PURE__ */ __name((retryCount) => Math.min(1e3 * Math.pow(2, retryCount), 512), "getBackoff"); +const isInitialized = /* @__PURE__ */ __name((entry) => entry?.data && entry?.timestamp && entry.timestamp > 0, "isInitialized"); +const isStale = /* @__PURE__ */ __name((entry, ttl) => entry?.timestamp && Date.now() - entry.timestamp >= ttl, "isStale"); +const isFetching = /* @__PURE__ */ __name((entry) => entry?.fetchPromise !== void 0, "isFetching"); +const isFailed = /* @__PURE__ */ __name((entry) => entry?.failed === true, "isFailed"); +const isBackingOff = /* @__PURE__ */ __name((entry) => entry?.error && entry?.lastErrorTime && Date.now() - entry.lastErrorTime < getBackoff(entry.retryCount || 0), "isBackingOff"); +const fetchData = /* @__PURE__ */ __name(async (config2, controller) => { + const { route, response_key, query_params, timeout = TIMEOUT } = config2; + const res = await axios.get(route, { + params: query_params, + signal: controller.signal, + timeout + }); + return response_key ? res.data[response_key] : res.data; +}, "fetchData"); +function useRemoteWidget(options4) { + const { inputData, defaultValue: defaultValue2, node: node3, widget } = options4; + const config2 = inputData[1].remote; + const { refresh: refresh2 = 0, max_retries = MAX_RETRIES } = config2; + const isPermanent = refresh2 <= 0; + const cacheKey = createCacheKey(config2); + let isLoaded = false; + const setSuccess = /* @__PURE__ */ __name((entry, data26) => { + entry.retryCount = 0; + entry.lastErrorTime = 0; + entry.error = null; + entry.timestamp = Date.now(); + entry.data = data26 ?? defaultValue2; + }, "setSuccess"); + const setError = /* @__PURE__ */ __name((entry, error2) => { + entry.retryCount = (entry.retryCount || 0) + 1; + entry.lastErrorTime = Date.now(); + entry.error = error2 instanceof Error ? error2 : new Error(String(error2)); + entry.data ??= defaultValue2; + entry.fetchPromise = void 0; + if (entry.retryCount >= max_retries) { + setFailed(entry); + } + }, "setError"); + const setFailed = /* @__PURE__ */ __name((entry) => { + dataCache.set(cacheKey, { + data: entry.data ?? defaultValue2, + failed: true + }); + }, "setFailed"); + const isFirstLoad = /* @__PURE__ */ __name(() => { + return !isLoaded && isInitialized(dataCache.get(cacheKey)); + }, "isFirstLoad"); + const onFirstLoad = /* @__PURE__ */ __name((data26) => { + isLoaded = true; + widget.value = data26[0]; + widget.callback?.(widget.value); + node3.graph?.setDirtyCanvas(true); + }, "onFirstLoad"); + const fetchValue = /* @__PURE__ */ __name(async () => { + const entry = dataCache.get(cacheKey); + if (isFailed(entry)) return entry.data; + const isValid2 = isInitialized(entry) && (isPermanent || !isStale(entry, refresh2)); + if (isValid2 || isBackingOff(entry) || isFetching(entry)) return entry.data; + const currentEntry = entry || { data: defaultValue2 }; + dataCache.set(cacheKey, currentEntry); + try { + currentEntry.controller = new AbortController(); + currentEntry.fetchPromise = fetchData(config2, currentEntry.controller); + const data26 = await currentEntry.fetchPromise; + setSuccess(currentEntry, data26); + return currentEntry.data; + } catch (err) { + setError(currentEntry, err); + return currentEntry.data; + } finally { + currentEntry.fetchPromise = void 0; + currentEntry.controller = void 0; + } + }, "fetchValue"); + const onRefresh = /* @__PURE__ */ __name(() => { + if (config2.control_after_refresh) { + const data26 = getCachedValue(); + if (!Array.isArray(data26)) return; + switch (config2.control_after_refresh) { + case "first": + widget.value = data26[0] ?? defaultValue2; + break; + case "last": + widget.value = data26.at(-1) ?? defaultValue2; + break; + } + widget.callback?.(widget.value); + node3.graph?.setDirtyCanvas(true); + } + }, "onRefresh"); + const clearCachedValue = /* @__PURE__ */ __name(() => { + const entry = dataCache.get(cacheKey); + if (!entry) return; + if (entry.fetchPromise) entry.controller?.abort(); + dataCache.delete(cacheKey); + }, "clearCachedValue"); + function getCachedValue() { + return dataCache.get(cacheKey)?.data; + } + __name(getCachedValue, "getCachedValue"); + function getValue2(onFulfilled) { + fetchValue().then((data26) => { + if (isFirstLoad()) onFirstLoad(data26); + onFulfilled?.(); + }); + return getCachedValue() ?? defaultValue2; + } + __name(getValue2, "getValue"); + function refreshValue() { + clearCachedValue(); + getValue2(onRefresh); + } + __name(refreshValue, "refreshValue"); + function addRefreshButton() { + node3.addWidget("button", "refresh", "refresh", refreshValue); + } + __name(addRefreshButton, "addRefreshButton"); + return { + getCachedValue, + getValue: getValue2, + refreshValue, + addRefreshButton, + getCacheEntry: /* @__PURE__ */ __name(() => dataCache.get(cacheKey), "getCacheEntry"), + cacheKey + }; +} +__name(useRemoteWidget, "useRemoteWidget"); +const useComboWidget = /* @__PURE__ */ __name(() => { + const widgetConstructor = /* @__PURE__ */ __name((node3, inputName, inputData) => { + const widgetStore = useWidgetStore(); + const { remote, options: options4 } = inputData[1] || {}; + const defaultValue2 = widgetStore.getDefaultValue(inputData); + const res = { + widget: node3.addWidget("combo", inputName, defaultValue2, () => { + }, { + values: options4 ?? inputData[0] + }) + }; + if (remote) { + const remoteWidget = useRemoteWidget({ + inputData, + defaultValue: defaultValue2, + node: node3, + widget: res.widget + }); + if (remote.refresh_button) remoteWidget.addRefreshButton(); + const origOptions = res.widget.options; + res.widget.options = new Proxy( + origOptions, + { + get(target2, prop2) { + if (prop2 !== "values") return target2[prop2]; + return remoteWidget.getValue(); + } + } + ); + } + if (inputData[1]?.control_after_generate) { + res.widget.linkedWidgets = addValueControlWidgets( + node3, + res.widget, + void 0, + void 0, + inputData + ); + } + return res; + }, "widgetConstructor"); + return widgetConstructor; +}, "useComboWidget"); +function getNumberDefaults(inputOptions, options4) { + const { defaultStep } = options4; + const { + default: defaultVal = 0, + min = 0, + max = 2048, + step: step3 = defaultStep + } = inputOptions; + const { precision = Math.max(-Math.floor(Math.log10(step3)), 0) } = options4; + let round = inputOptions.round; + if (options4.enableRounding && (round == void 0 || round === true)) { + round = Math.round(1e6 * Math.pow(0.1, precision)) / 1e6; + } + return { + val: defaultVal, + config: { min, max, step: 10 * step3, round, precision } + }; +} +__name(getNumberDefaults, "getNumberDefaults"); +const useFloatWidget = /* @__PURE__ */ __name(() => { + const widgetConstructor = /* @__PURE__ */ __name((node3, inputName, inputData) => { + const settingStore = useSettingStore(); + const sliderEnabled = !settingStore.get("Comfy.DisableSliders"); + const inputOptions = inputData[1]; + const widgetType = sliderEnabled ? inputOptions?.display === "slider" ? "slider" : "number" : "number"; + const precision = settingStore.get("Comfy.FloatRoundingPrecision") || void 0; + const enableRounding = !settingStore.get("Comfy.DisableFloatRounding"); + const { val, config: config2 } = getNumberDefaults(inputOptions, { + defaultStep: 0.5, + precision, + enableRounding + }); + return { + widget: node3.addWidget( + widgetType, + inputName, + val, + function(v2) { + if (config2.round) { + this.value = Math.round((v2 + Number.EPSILON) / config2.round) * config2.round; + if (this.value > config2.max) this.value = config2.max; + if (this.value < config2.min) this.value = config2.min; + } else { + this.value = v2; + } + }, + config2 + ) + }; + }, "widgetConstructor"); + return widgetConstructor; +}, "useFloatWidget"); +const useImageUploadWidget = /* @__PURE__ */ __name(() => { + const widgetConstructor = /* @__PURE__ */ __name((node3, inputName, inputData, app2) => { + const imageWidget = node3.widgets?.find( + (w2) => w2.name === (inputData[1]?.widget ?? "image") + ); + const { image_folder = "input" } = inputData[1] ?? {}; + function showImage(name2) { + const img = new Image(); + img.onload = () => { + node3.imgs = [img]; + app2.graph.setDirtyCanvas(true); + }; + const folder_separator = name2.lastIndexOf("/"); + let subfolder = ""; + if (folder_separator > -1) { + subfolder = name2.substring(0, folder_separator); + name2 = name2.substring(folder_separator + 1); + } + img.src = api.apiURL( + `/view?filename=${encodeURIComponent(name2)}&type=${image_folder}&subfolder=${subfolder}${app2.getPreviewFormatParam()}${app2.getRandParam()}` + ); + node3.setSizeForImage?.(); + } + __name(showImage, "showImage"); + const default_value = imageWidget.value; + Object.defineProperty(imageWidget, "value", { + set: /* @__PURE__ */ __name(function(value4) { + this._real_value = value4; + }, "set"), + get: /* @__PURE__ */ __name(function() { + if (!this._real_value) { + return default_value; + } + let value4 = this._real_value; + if (value4.filename) { + const real_value = value4; + value4 = ""; + if (real_value.subfolder) { + value4 = real_value.subfolder + "/"; + } + value4 += real_value.filename; + if (real_value.type && real_value.type !== "input") + value4 += ` [${real_value.type}]`; + } + return value4; + }, "get") + }); + const cb = node3.callback; + imageWidget.callback = function(...args) { + showImage(imageWidget.value); + if (cb) { + return cb.apply(this, args); + } + }; + requestAnimationFrame(() => { + if (imageWidget.value) { + showImage(imageWidget.value); + } + }); + async function uploadFile2(file, updateNode, pasted = false) { + try { + const body = new FormData(); + body.append("image", file); + if (pasted) body.append("subfolder", "pasted"); + const resp = await api.fetchApi("/upload/image", { + method: "POST", + body + }); + if (resp.status === 200) { + const data26 = await resp.json(); + let path = data26.name; + if (data26.subfolder) path = data26.subfolder + "/" + path; + if (!imageWidget.options) { + imageWidget.options = { values: [] }; + } + if (!imageWidget.options.values) { + imageWidget.options.values = []; + } + if (!imageWidget.options.values.includes(path)) { + imageWidget.options.values.push(path); + } + if (updateNode) { + showImage(path); + imageWidget.value = path; + } + } else { + useToastStore().addAlert(resp.status + " - " + resp.statusText); + } + } catch (error2) { + useToastStore().addAlert(String(error2)); + } + } + __name(uploadFile2, "uploadFile"); + const fileInput2 = document.createElement("input"); + Object.assign(fileInput2, { + type: "file", + accept: "image/jpeg,image/png,image/webp", + style: "display: none", + onchange: /* @__PURE__ */ __name(async () => { + if (fileInput2.files && fileInput2.files.length) { + await uploadFile2(fileInput2.files[0], true); + } + }, "onchange") + }); + document.body.append(fileInput2); + const uploadWidget = node3.addWidget("button", inputName, "image", () => { + fileInput2.click(); + }); + uploadWidget.label = "choose file to upload"; + uploadWidget.serialize = false; + node3.onDragOver = function(e2) { + if (e2.dataTransfer && e2.dataTransfer.items) { + const image2 = [...e2.dataTransfer.items].find((f2) => f2.kind === "file"); + return !!image2; + } + return false; + }; + node3.onDragDrop = function(e2) { + console.log("onDragDrop called"); + let handled = false; + if (e2.dataTransfer?.files) { + for (const file of e2.dataTransfer.files) { + if (file.type.startsWith("image/")) { + uploadFile2(file, !handled); + handled = true; + } + } + } + return handled; + }; + node3.pasteFile = function(file) { + if (file.type.startsWith("image/")) { + const is_pasted = file.name === "image.png" && file.lastModified - Date.now() < 2e3; + uploadFile2(file, true, is_pasted); + return true; + } + return false; + }; + return { widget: uploadWidget }; + }, "widgetConstructor"); + return widgetConstructor; +}, "useImageUploadWidget"); +const useIntWidget = /* @__PURE__ */ __name(() => { + const widgetConstructor = /* @__PURE__ */ __name((node3, inputName, inputData, app2, widgetName) => { + const settingStore = useSettingStore(); + const sliderEnabled = !settingStore.get("Comfy.DisableSliders"); + const inputOptions = inputData[1]; + const widgetType = sliderEnabled ? inputOptions?.display === "slider" ? "slider" : "number" : "number"; + const { val, config: config2 } = getNumberDefaults(inputOptions, { + defaultStep: 1, + precision: 0, + enableRounding: true + }); + config2.precision = 0; + const result = { + widget: node3.addWidget( + widgetType, + inputName, + val, + function(v2) { + const s2 = (this.options.step ?? 1) / 10; + let sh = (this.options.min ?? 0) % s2; + if (isNaN(sh)) { + sh = 0; + } + this.value = Math.round((v2 - sh) / s2) * s2 + sh; + }, + config2 + ) + }; + if (inputData[1]?.control_after_generate) { + const seedControl = addValueControlWidget( + node3, + result.widget, + "randomize", + void 0, + widgetName, + inputData + ); + result.widget.linkedWidgets = [seedControl]; + } + return result; + }, "widgetConstructor"); + return widgetConstructor; +}, "useIntWidget"); function OrderedMap(content2) { this.content = content2; } @@ -160734,28 +162039,28 @@ OrderedMap.from = function(value4) { if (value4) for (var prop2 in value4) content2.push(prop2, value4[prop2]); return new OrderedMap(content2); }; -function findDiffStart(a2, b2, pos2) { +function findDiffStart(a2, b2, pos) { for (let i2 = 0; ; i2++) { if (i2 == a2.childCount || i2 == b2.childCount) - return a2.childCount == b2.childCount ? null : pos2; + return a2.childCount == b2.childCount ? null : pos; let childA = a2.child(i2), childB = b2.child(i2); if (childA == childB) { - pos2 += childA.nodeSize; + pos += childA.nodeSize; continue; } if (!childA.sameMarkup(childB)) - return pos2; + return pos; if (childA.isText && childA.text != childB.text) { for (let j2 = 0; childA.text[j2] == childB.text[j2]; j2++) - pos2++; - return pos2; + pos++; + return pos; } if (childA.content.size || childB.content.size) { - let inner = findDiffStart(childA.content, childB.content, pos2 + 1); + let inner = findDiffStart(childA.content, childB.content, pos + 1); if (inner != null) return inner; } - pos2 += childA.nodeSize; + pos += childA.nodeSize; } } __name(findDiffStart, "findDiffStart"); @@ -160810,13 +162115,13 @@ class Fragment { into a node when the callback returns `false`. */ nodesBetween(from2, to, f2, nodeStart = 0, parent) { - for (let i2 = 0, pos2 = 0; pos2 < to; i2++) { - let child = this.content[i2], end = pos2 + child.nodeSize; - if (end > from2 && f2(child, nodeStart + pos2, parent || null, i2) !== false && child.content.size) { - let start2 = pos2 + 1; + for (let i2 = 0, pos = 0; pos < to; i2++) { + let child = this.content[i2], end = pos + child.nodeSize; + if (end > from2 && f2(child, nodeStart + pos, parent || null, i2) !== false && child.content.size) { + let start2 = pos + 1; child.nodesBetween(Math.max(0, from2 - start2), Math.min(child.content.size, to - start2), f2, nodeStart + start2); } - pos2 = end; + pos = end; } } /** @@ -160833,8 +162138,8 @@ class Fragment { */ textBetween(from2, to, blockSeparator, leafText) { let text2 = "", first2 = true; - this.nodesBetween(from2, to, (node3, pos2) => { - let nodeText = node3.isText ? node3.text.slice(Math.max(from2, pos2) - pos2, to - pos2) : !node3.isLeaf ? "" : leafText ? typeof leafText === "function" ? leafText(node3) : leafText : node3.type.spec.leafText ? node3.type.spec.leafText(node3) : ""; + this.nodesBetween(from2, to, (node3, pos) => { + let nodeText = node3.isText ? node3.text.slice(Math.max(from2, pos) - pos, to - pos) : !node3.isLeaf ? "" : leafText ? typeof leafText === "function" ? leafText(node3) : leafText : node3.type.spec.leafText ? node3.type.spec.leafText(node3) : ""; if (node3.isBlock && (node3.isLeaf && nodeText || node3.isTextblock) && blockSeparator) { if (first2) first2 = false; @@ -160871,19 +162176,19 @@ class Fragment { return this; let result = [], size = 0; if (to > from2) - for (let i2 = 0, pos2 = 0; pos2 < to; i2++) { - let child = this.content[i2], end = pos2 + child.nodeSize; + for (let i2 = 0, pos = 0; pos < to; i2++) { + let child = this.content[i2], end = pos + child.nodeSize; if (end > from2) { - if (pos2 < from2 || end > to) { + if (pos < from2 || end > to) { if (child.isText) - child = child.cut(Math.max(0, from2 - pos2), Math.min(child.text.length, to - pos2)); + child = child.cut(Math.max(0, from2 - pos), Math.min(child.text.length, to - pos)); else - child = child.cut(Math.max(0, from2 - pos2 - 1), Math.min(child.content.size, to - pos2 - 1)); + child = child.cut(Math.max(0, from2 - pos - 1), Math.min(child.content.size, to - pos - 1)); } result.push(child); size += child.nodeSize; } - pos2 = end; + pos = end; } return new Fragment(result, size); } @@ -160984,8 +162289,8 @@ class Fragment { Find the first position at which this fragment and another fragment differ, or `null` if they are the same. */ - findDiffStart(other, pos2 = 0) { - return findDiffStart(this, other, pos2); + findDiffStart(other, pos = 0) { + return findDiffStart(this, other, pos); } /** Find the first position, searching from the end, at which this @@ -160993,25 +162298,25 @@ class Fragment { the same. Since this position will not be the same in both nodes, an object with two separate positions is returned. */ - findDiffEnd(other, pos2 = this.size, otherPos = other.size) { - return findDiffEnd(this, other, pos2, otherPos); + findDiffEnd(other, pos = this.size, otherPos = other.size) { + return findDiffEnd(this, other, pos, otherPos); } /** Find the index and inner offset corresponding to a given relative position in this fragment. The result object will be reused (overwritten) the next time the function is called. @internal */ - findIndex(pos2, round = -1) { - if (pos2 == 0) - return retIndex(0, pos2); - if (pos2 == this.size) - return retIndex(this.content.length, pos2); - if (pos2 > this.size || pos2 < 0) - throw new RangeError(`Position ${pos2} outside of fragment (${this})`); + findIndex(pos, round = -1) { + if (pos == 0) + return retIndex(0, pos); + if (pos == this.size) + return retIndex(this.content.length, pos); + if (pos > this.size || pos < 0) + throw new RangeError(`Position ${pos} outside of fragment (${this})`); for (let i2 = 0, curPos = 0; ; i2++) { let cur = this.child(i2), end = curPos + cur.nodeSize; - if (end >= pos2) { - if (end == pos2 || round > 0) + if (end >= pos) { + if (end == pos || round > 0) return retIndex(i2 + 1, end); return retIndex(i2, curPos); } @@ -161277,8 +162582,8 @@ class Slice { /** @internal */ - insertAt(pos2, fragment) { - let content2 = insertInto(this.content, pos2 + this.openStart, fragment); + insertAt(pos, fragment) { + let content2 = insertInto(this.content, pos + this.openStart, fragment); return content2 && new Slice(content2, this.openStart, this.openEnd); } /** @@ -161475,8 +162780,8 @@ class ResolvedPos { /** @internal */ - constructor(pos2, path, parentOffset) { - this.pos = pos2; + constructor(pos, path, parentOffset) { + this.pos = pos; this.path = path; this.parentOffset = parentOffset; this.depth = path.length / 3 - 1; @@ -161603,10 +162908,10 @@ class ResolvedPos { */ posAtIndex(index2, depth) { depth = this.resolveDepth(depth); - let node3 = this.path[depth * 3], pos2 = depth == 0 ? 0 : this.path[depth * 3 - 1] + 1; + let node3 = this.path[depth * 3], pos = depth == 0 ? 0 : this.path[depth * 3 - 1] + 1; for (let i2 = 0; i2 < index2; i2++) - pos2 += node3.child(i2).nodeSize; - return pos2; + pos += node3.child(i2).nodeSize; + return pos; } /** Get the marks at this position, factoring in the surrounding @@ -161654,9 +162959,9 @@ class ResolvedPos { The depth up to which this position and the given (non-resolved) position share the same parent nodes. */ - sharedDepth(pos2) { + sharedDepth(pos) { for (let depth = this.depth; depth > 0; depth--) - if (this.start(depth) <= pos2 && this.end(depth) >= pos2) + if (this.start(depth) <= pos && this.end(depth) >= pos) return depth; return 0; } @@ -161707,11 +163012,11 @@ class ResolvedPos { /** @internal */ - static resolve(doc2, pos2) { - if (!(pos2 >= 0 && pos2 <= doc2.content.size)) - throw new RangeError("Position " + pos2 + " out of range"); + static resolve(doc2, pos) { + if (!(pos >= 0 && pos <= doc2.content.size)) + throw new RangeError("Position " + pos + " out of range"); let path = []; - let start2 = 0, parentOffset = pos2; + let start2 = 0, parentOffset = pos; for (let node3 = doc2; ; ) { let { index: index2, offset } = node3.content.findIndex(parentOffset); let rem = parentOffset - offset; @@ -161724,23 +163029,23 @@ class ResolvedPos { parentOffset = rem - 1; start2 += offset + 1; } - return new ResolvedPos(pos2, path, parentOffset); + return new ResolvedPos(pos, path, parentOffset); } /** @internal */ - static resolveCached(doc2, pos2) { + static resolveCached(doc2, pos) { let cache2 = resolveCache.get(doc2); if (cache2) { for (let i2 = 0; i2 < cache2.elts.length; i2++) { let elt = cache2.elts[i2]; - if (elt.pos == pos2) + if (elt.pos == pos) return elt; } } else { resolveCache.set(doc2, cache2 = new ResolveCache()); } - let result = cache2.elts[cache2.i] = ResolvedPos.resolve(doc2, pos2); + let result = cache2.elts[cache2.i] = ResolvedPos.resolve(doc2, pos); cache2.i = (cache2.i + 1) % resolveCacheSize; return result; } @@ -161980,15 +163285,15 @@ let Node$2 = class Node2 { /** Find the node directly after the given position. */ - nodeAt(pos2) { + nodeAt(pos) { for (let node3 = this; ; ) { - let { index: index2, offset } = node3.content.findIndex(pos2); + let { index: index2, offset } = node3.content.findIndex(pos); node3 = node3.maybeChild(index2); if (!node3) return null; - if (offset == pos2 || node3.isText) + if (offset == pos || node3.isText) return node3; - pos2 -= offset + 1; + pos -= offset + 1; } } /** @@ -161996,8 +163301,8 @@ let Node$2 = class Node2 { and return it along with its index and offset relative to this node. */ - childAfter(pos2) { - let { index: index2, offset } = this.content.findIndex(pos2); + childAfter(pos) { + let { index: index2, offset } = this.content.findIndex(pos); return { node: this.content.maybeChild(index2), index: index2, offset }; } /** @@ -162005,11 +163310,11 @@ let Node$2 = class Node2 { and return it along with its index and offset relative to this node. */ - childBefore(pos2) { - if (pos2 == 0) + childBefore(pos) { + if (pos == 0) return { node: null, index: 0, offset: 0 }; - let { index: index2, offset } = this.content.findIndex(pos2); - if (offset < pos2) + let { index: index2, offset } = this.content.findIndex(pos); + if (offset < pos) return { node: this.content.child(index2), index: index2, offset }; let node3 = this.content.child(index2 - 1); return { node: node3, index: index2 - 1, offset: offset - node3.nodeSize }; @@ -162018,14 +163323,14 @@ let Node$2 = class Node2 { Resolve the given position in the document, returning an [object](https://prosemirror.net/docs/ref/#model.ResolvedPos) with information about its context. */ - resolve(pos2) { - return ResolvedPos.resolveCached(this, pos2); + resolve(pos) { + return ResolvedPos.resolveCached(this, pos); } /** @internal */ - resolveNoCache(pos2) { - return ResolvedPos.resolve(this, pos2); + resolveNoCache(pos) { + return ResolvedPos.resolve(this, pos); } /** Test whether a given mark or mark type occurs in this document @@ -163691,15 +164996,15 @@ class ParseContext { } get currentPos() { this.closeExtra(); - let pos2 = 0; + let pos = 0; for (let i2 = this.open; i2 >= 0; i2--) { let content2 = this.nodes[i2].content; for (let j2 = content2.length - 1; j2 >= 0; j2--) - pos2 += content2[j2].nodeSize; + pos += content2[j2].nodeSize; if (i2) - pos2++; + pos++; } - return pos2; + return pos; } findAtPoint(parent, offset) { if (this.find) @@ -163719,8 +165024,8 @@ class ParseContext { if (parent != content2 && this.find) for (let i2 = 0; i2 < this.find.length; i2++) { if (this.find[i2].pos == null && parent.nodeType == 1 && parent.contains(this.find[i2].node)) { - let pos2 = content2.compareDocumentPosition(this.find[i2].node); - if (pos2 & (before ? 2 : 4)) + let pos = content2.compareDocumentPosition(this.find[i2].node); + if (pos & (before ? 2 : 4)) this.find[i2].pos = this.currentPos; } } @@ -164061,8 +165366,8 @@ class MapResult { /** @internal */ - constructor(pos2, delInfo, recover) { - this.pos = pos2; + constructor(pos, delInfo, recover) { + this.pos = pos; this.delInfo = delInfo; this.recover = recover; } @@ -164120,49 +165425,49 @@ class StepMap { diff2 += this.ranges[i2 * 3 + 2] - this.ranges[i2 * 3 + 1]; return this.ranges[index2 * 3] + diff2 + recoverOffset(value4); } - mapResult(pos2, assoc = 1) { - return this._map(pos2, assoc, false); + mapResult(pos, assoc = 1) { + return this._map(pos, assoc, false); } - map(pos2, assoc = 1) { - return this._map(pos2, assoc, true); + map(pos, assoc = 1) { + return this._map(pos, assoc, true); } /** @internal */ - _map(pos2, assoc, simple) { + _map(pos, assoc, simple) { let diff2 = 0, oldIndex = this.inverted ? 2 : 1, newIndex = this.inverted ? 1 : 2; for (let i2 = 0; i2 < this.ranges.length; i2 += 3) { let start2 = this.ranges[i2] - (this.inverted ? diff2 : 0); - if (start2 > pos2) + if (start2 > pos) break; let oldSize = this.ranges[i2 + oldIndex], newSize = this.ranges[i2 + newIndex], end = start2 + oldSize; - if (pos2 <= end) { - let side = !oldSize ? assoc : pos2 == start2 ? -1 : pos2 == end ? 1 : assoc; + if (pos <= end) { + let side = !oldSize ? assoc : pos == start2 ? -1 : pos == end ? 1 : assoc; let result = start2 + diff2 + (side < 0 ? 0 : newSize); if (simple) return result; - let recover = pos2 == (assoc < 0 ? start2 : end) ? null : makeRecover(i2 / 3, pos2 - start2); - let del2 = pos2 == start2 ? DEL_AFTER : pos2 == end ? DEL_BEFORE : DEL_ACROSS; - if (assoc < 0 ? pos2 != start2 : pos2 != end) + let recover = pos == (assoc < 0 ? start2 : end) ? null : makeRecover(i2 / 3, pos - start2); + let del2 = pos == start2 ? DEL_AFTER : pos == end ? DEL_BEFORE : DEL_ACROSS; + if (assoc < 0 ? pos != start2 : pos != end) del2 |= DEL_SIDE; return new MapResult(result, del2, recover); } diff2 += newSize - oldSize; } - return simple ? pos2 + diff2 : new MapResult(pos2 + diff2, 0, null); + return simple ? pos + diff2 : new MapResult(pos + diff2, 0, null); } /** @internal */ - touches(pos2, recover) { + touches(pos, recover) { let diff2 = 0, index2 = recoverIndex(recover); let oldIndex = this.inverted ? 2 : 1, newIndex = this.inverted ? 1 : 2; for (let i2 = 0; i2 < this.ranges.length; i2 += 3) { let start2 = this.ranges[i2] - (this.inverted ? diff2 : 0); - if (start2 > pos2) + if (start2 > pos) break; let oldSize = this.ranges[i2 + oldIndex], end = start2 + oldSize; - if (pos2 <= end && i2 == index2 * 3) + if (pos <= end && i2 == index2 * 3) return true; diff2 += this.ranges[i2 + newIndex] - oldSize; } @@ -164289,39 +165594,39 @@ class Mapping { /** Map a position through this mapping. */ - map(pos2, assoc = 1) { + map(pos, assoc = 1) { if (this.mirror) - return this._map(pos2, assoc, true); + return this._map(pos, assoc, true); for (let i2 = this.from; i2 < this.to; i2++) - pos2 = this.maps[i2].map(pos2, assoc); - return pos2; + pos = this.maps[i2].map(pos, assoc); + return pos; } /** Map a position through this mapping, returning a mapping result. */ - mapResult(pos2, assoc = 1) { - return this._map(pos2, assoc, false); + mapResult(pos, assoc = 1) { + return this._map(pos, assoc, false); } /** @internal */ - _map(pos2, assoc, simple) { + _map(pos, assoc, simple) { let delInfo = 0; for (let i2 = this.from; i2 < this.to; i2++) { - let map3 = this.maps[i2], result = map3.mapResult(pos2, assoc); + let map3 = this.maps[i2], result = map3.mapResult(pos, assoc); if (result.recover != null) { let corr = this.getMirror(i2); if (corr != null && corr > i2 && corr < this.to) { i2 = corr; - pos2 = this.maps[corr].recover(result.recover); + pos = this.maps[corr].recover(result.recover); continue; } } delInfo |= result.delInfo; - pos2 = result.pos; + pos = result.pos; } - return simple ? pos2 : new MapResult(pos2, delInfo, null); + return simple ? pos : new MapResult(pos, delInfo, null); } } const stepsByID = /* @__PURE__ */ Object.create(null); @@ -164536,9 +165841,9 @@ class AddNodeMarkStep extends Step { /** Create a node mark step. */ - constructor(pos2, mark2) { + constructor(pos, mark2) { super(); - this.pos = pos2; + this.pos = pos; this.mark = mark2; } apply(doc2) { @@ -164562,8 +165867,8 @@ class AddNodeMarkStep extends Step { return new RemoveNodeMarkStep(this.pos, this.mark); } map(mapping) { - let pos2 = mapping.mapResult(this.pos, 1); - return pos2.deletedAfter ? null : new AddNodeMarkStep(pos2.pos, this.mark); + let pos = mapping.mapResult(this.pos, 1); + return pos.deletedAfter ? null : new AddNodeMarkStep(pos.pos, this.mark); } toJSON() { return { stepType: "addNodeMark", pos: this.pos, mark: this.mark.toJSON() }; @@ -164585,9 +165890,9 @@ class RemoveNodeMarkStep extends Step { /** Create a mark-removing step. */ - constructor(pos2, mark2) { + constructor(pos, mark2) { super(); - this.pos = pos2; + this.pos = pos; this.mark = mark2; } apply(doc2) { @@ -164604,8 +165909,8 @@ class RemoveNodeMarkStep extends Step { return new AddNodeMarkStep(this.pos, this.mark); } map(mapping) { - let pos2 = mapping.mapResult(this.pos, 1); - return pos2.deletedAfter ? null : new RemoveNodeMarkStep(pos2.pos, this.mark); + let pos = mapping.mapResult(this.pos, 1); + return pos.deletedAfter ? null : new RemoveNodeMarkStep(pos.pos, this.mark); } toJSON() { return { stepType: "removeNodeMark", pos: this.pos, mark: this.mark.toJSON() }; @@ -164787,12 +166092,12 @@ __name(contentBetween, "contentBetween"); function addMark(tr2, from2, to, mark2) { let removed = [], added = []; let removing, adding; - tr2.doc.nodesBetween(from2, to, (node3, pos2, parent) => { + tr2.doc.nodesBetween(from2, to, (node3, pos, parent) => { if (!node3.isInline) return; let marks = node3.marks; if (!mark2.isInSet(marks) && parent.type.allowsMarkType(mark2.type)) { - let start2 = Math.max(pos2, from2), end = Math.min(pos2 + node3.nodeSize, to); + let start2 = Math.max(pos, from2), end = Math.min(pos + node3.nodeSize, to); let newSet = mark2.addToSet(marks); for (let i2 = 0; i2 < marks.length; i2++) { if (!marks[i2].isInSet(newSet)) { @@ -164814,7 +166119,7 @@ function addMark(tr2, from2, to, mark2) { __name(addMark, "addMark"); function removeMark(tr2, from2, to, mark2) { let matched = [], step3 = 0; - tr2.doc.nodesBetween(from2, to, (node3, pos2) => { + tr2.doc.nodesBetween(from2, to, (node3, pos) => { if (!node3.isInline) return; step3++; @@ -164832,7 +166137,7 @@ function removeMark(tr2, from2, to, mark2) { toRemove = node3.marks; } if (toRemove && toRemove.length) { - let end = Math.min(pos2 + node3.nodeSize, to); + let end = Math.min(pos + node3.nodeSize, to); for (let i2 = 0; i2 < toRemove.length; i2++) { let style2 = toRemove[i2], found2; for (let j2 = 0; j2 < matched.length; j2++) { @@ -164844,7 +166149,7 @@ function removeMark(tr2, from2, to, mark2) { found2.to = end; found2.step = step3; } else { - matched.push({ style: style2, from: Math.max(pos2, from2), to: end, step: step3 }); + matched.push({ style: style2, from: Math.max(pos, from2), to: end, step: step3 }); } } } @@ -164852,9 +166157,9 @@ function removeMark(tr2, from2, to, mark2) { matched.forEach((m2) => tr2.step(new RemoveMarkStep(m2.from, m2.to, m2.style))); } __name(removeMark, "removeMark"); -function clearIncompatible(tr2, pos2, parentType, match2 = parentType.contentMatch, clearNewlines = true) { - let node3 = tr2.doc.nodeAt(pos2); - let replSteps = [], cur = pos2 + 1; +function clearIncompatible(tr2, pos, parentType, match2 = parentType.contentMatch, clearNewlines = true) { + let node3 = tr2.doc.nodeAt(pos); + let replSteps = [], cur = pos + 1; for (let i2 = 0; i2 < node3.childCount; i2++) { let child = node3.child(i2), end = cur + child.nodeSize; let allowed = match2.matchType(child.type); @@ -164981,9 +166286,9 @@ function setBlockType$1(tr2, from2, to, type, attrs6) { if (!type.isTextblock) throw new RangeError("Type given to setBlockType should be a textblock"); let mapFrom = tr2.steps.length; - tr2.doc.nodesBetween(from2, to, (node3, pos2) => { + tr2.doc.nodesBetween(from2, to, (node3, pos) => { let attrsHere = typeof attrs6 == "function" ? attrs6(node3) : attrs6; - if (node3.isTextblock && !node3.hasMarkup(type, attrsHere) && canChangeType(tr2.doc, tr2.mapping.slice(mapFrom).map(pos2), type)) { + if (node3.isTextblock && !node3.hasMarkup(type, attrsHere) && canChangeType(tr2.doc, tr2.mapping.slice(mapFrom).map(pos), type)) { let convertNewlines = null; if (type.schema.linebreakReplacement) { let pre = type.whitespace == "pre", supportLinebreak = !!type.contentMatch.matchType(type.schema.linebreakReplacement); @@ -164993,60 +166298,60 @@ function setBlockType$1(tr2, from2, to, type, attrs6) { convertNewlines = true; } if (convertNewlines === false) - replaceLinebreaks(tr2, node3, pos2, mapFrom); - clearIncompatible(tr2, tr2.mapping.slice(mapFrom).map(pos2, 1), type, void 0, convertNewlines === null); + replaceLinebreaks(tr2, node3, pos, mapFrom); + clearIncompatible(tr2, tr2.mapping.slice(mapFrom).map(pos, 1), type, void 0, convertNewlines === null); let mapping = tr2.mapping.slice(mapFrom); - let startM = mapping.map(pos2, 1), endM = mapping.map(pos2 + node3.nodeSize, 1); + let startM = mapping.map(pos, 1), endM = mapping.map(pos + node3.nodeSize, 1); tr2.step(new ReplaceAroundStep(startM, endM, startM + 1, endM - 1, new Slice(Fragment.from(type.create(attrsHere, null, node3.marks)), 0, 0), 1, true)); if (convertNewlines === true) - replaceNewlines(tr2, node3, pos2, mapFrom); + replaceNewlines(tr2, node3, pos, mapFrom); return false; } }); } __name(setBlockType$1, "setBlockType$1"); -function replaceNewlines(tr2, node3, pos2, mapFrom) { +function replaceNewlines(tr2, node3, pos, mapFrom) { node3.forEach((child, offset) => { if (child.isText) { let m2, newline2 = /\r?\n|\r/g; while (m2 = newline2.exec(child.text)) { - let start2 = tr2.mapping.slice(mapFrom).map(pos2 + 1 + offset + m2.index); + let start2 = tr2.mapping.slice(mapFrom).map(pos + 1 + offset + m2.index); tr2.replaceWith(start2, start2 + 1, node3.type.schema.linebreakReplacement.create()); } } }); } __name(replaceNewlines, "replaceNewlines"); -function replaceLinebreaks(tr2, node3, pos2, mapFrom) { +function replaceLinebreaks(tr2, node3, pos, mapFrom) { node3.forEach((child, offset) => { if (child.type == child.type.schema.linebreakReplacement) { - let start2 = tr2.mapping.slice(mapFrom).map(pos2 + 1 + offset); + let start2 = tr2.mapping.slice(mapFrom).map(pos + 1 + offset); tr2.replaceWith(start2, start2 + 1, node3.type.schema.text("\n")); } }); } __name(replaceLinebreaks, "replaceLinebreaks"); -function canChangeType(doc2, pos2, type) { - let $pos = doc2.resolve(pos2), index2 = $pos.index(); +function canChangeType(doc2, pos, type) { + let $pos = doc2.resolve(pos), index2 = $pos.index(); return $pos.parent.canReplaceWith(index2, index2 + 1, type); } __name(canChangeType, "canChangeType"); -function setNodeMarkup(tr2, pos2, type, attrs6, marks) { - let node3 = tr2.doc.nodeAt(pos2); +function setNodeMarkup(tr2, pos, type, attrs6, marks) { + let node3 = tr2.doc.nodeAt(pos); if (!node3) throw new RangeError("No node at given position"); if (!type) type = node3.type; let newNode = type.create(attrs6, null, marks || node3.marks); if (node3.isLeaf) - return tr2.replaceWith(pos2, pos2 + node3.nodeSize, newNode); + return tr2.replaceWith(pos, pos + node3.nodeSize, newNode); if (!type.validContent(node3.content)) throw new RangeError("Invalid content for node type " + type.name); - tr2.step(new ReplaceAroundStep(pos2, pos2 + node3.nodeSize, pos2 + 1, pos2 + node3.nodeSize - 1, new Slice(Fragment.from(newNode), 0, 0), 1, true)); + tr2.step(new ReplaceAroundStep(pos, pos + node3.nodeSize, pos + 1, pos + node3.nodeSize - 1, new Slice(Fragment.from(newNode), 0, 0), 1, true)); } __name(setNodeMarkup, "setNodeMarkup"); -function canSplit(doc2, pos2, depth = 1, typesAfter) { - let $pos = doc2.resolve(pos2), base2 = $pos.depth - depth; +function canSplit(doc2, pos, depth = 1, typesAfter) { + let $pos = doc2.resolve(pos), base2 = $pos.depth - depth; let innerType = typesAfter && typesAfter[typesAfter.length - 1] || $pos.parent; if (base2 < 0 || $pos.parent.type.spec.isolating || !$pos.parent.canReplace($pos.index(), $pos.parent.childCount) || !innerType.type.validContent($pos.parent.content.cutByIndex($pos.index(), $pos.parent.childCount))) return false; @@ -165067,18 +166372,18 @@ function canSplit(doc2, pos2, depth = 1, typesAfter) { return $pos.node(base2).canReplaceWith(index2, index2, baseType ? baseType.type : $pos.node(base2 + 1).type); } __name(canSplit, "canSplit"); -function split(tr2, pos2, depth = 1, typesAfter) { - let $pos = tr2.doc.resolve(pos2), before = Fragment.empty, after = Fragment.empty; +function split(tr2, pos, depth = 1, typesAfter) { + let $pos = tr2.doc.resolve(pos), before = Fragment.empty, after = Fragment.empty; for (let d2 = $pos.depth, e2 = $pos.depth - depth, i2 = depth - 1; d2 > e2; d2--, i2--) { before = Fragment.from($pos.node(d2).copy(before)); let typeAfter = typesAfter && typesAfter[i2]; after = Fragment.from(typeAfter ? typeAfter.type.create(typeAfter.attrs, after) : $pos.node(d2).copy(after)); } - tr2.step(new ReplaceStep(pos2, pos2, new Slice(before.append(after), depth, depth), true)); + tr2.step(new ReplaceStep(pos, pos, new Slice(before.append(after), depth, depth), true)); } __name(split, "split"); -function canJoin(doc2, pos2) { - let $pos = doc2.resolve(pos2), index2 = $pos.index(); +function canJoin(doc2, pos) { + let $pos = doc2.resolve(pos), index2 = $pos.index(); return joinable($pos.nodeBefore, $pos.nodeAfter) && $pos.parent.canReplace(index2, index2 + 1); } __name(canJoin, "canJoin"); @@ -165103,8 +166408,8 @@ function joinable(a2, b2) { return !!(a2 && b2 && !a2.isLeaf && canAppendWithSubstitutedLinebreaks(a2, b2)); } __name(joinable, "joinable"); -function joinPoint(doc2, pos2, dir = -1) { - let $pos = doc2.resolve(pos2); +function joinPoint(doc2, pos, dir = -1) { + let $pos = doc2.resolve(pos); for (let d2 = $pos.depth; ; d2--) { let before, after, index2 = $pos.index(d2); if (d2 == $pos.depth) { @@ -165119,17 +166424,17 @@ function joinPoint(doc2, pos2, dir = -1) { after = $pos.node(d2 + 1); } if (before && !before.isTextblock && joinable(before, after) && $pos.node(d2).canReplace(index2, index2 + 1)) - return pos2; + return pos; if (d2 == 0) break; - pos2 = dir < 0 ? $pos.before(d2) : $pos.after(d2); + pos = dir < 0 ? $pos.before(d2) : $pos.after(d2); } } __name(joinPoint, "joinPoint"); -function join(tr2, pos2, depth) { +function join(tr2, pos, depth) { let convertNewlines = null; let { linebreakReplacement } = tr2.doc.type.schema; - let $before = tr2.doc.resolve(pos2 - depth), beforeType = $before.node().type; + let $before = tr2.doc.resolve(pos - depth), beforeType = $before.node().type; if (linebreakReplacement && beforeType.inlineContent) { let pre = beforeType.whitespace == "pre"; let supportLinebreak = !!beforeType.contentMatch.matchType(linebreakReplacement); @@ -165140,13 +166445,13 @@ function join(tr2, pos2, depth) { } let mapFrom = tr2.steps.length; if (convertNewlines === false) { - let $after = tr2.doc.resolve(pos2 + depth); + let $after = tr2.doc.resolve(pos + depth); replaceLinebreaks(tr2, $after.node(), $after.before(), mapFrom); } if (beforeType.inlineContent) - clearIncompatible(tr2, pos2 + depth - 1, beforeType, $before.node().contentMatchAt($before.index()), convertNewlines == null); - let mapping = tr2.mapping.slice(mapFrom), start2 = mapping.map(pos2 - depth); - tr2.step(new ReplaceStep(start2, mapping.map(pos2 + depth, -1), Slice.empty, true)); + clearIncompatible(tr2, pos + depth - 1, beforeType, $before.node().contentMatchAt($before.index()), convertNewlines == null); + let mapping = tr2.mapping.slice(mapFrom), start2 = mapping.map(pos - depth); + tr2.step(new ReplaceStep(start2, mapping.map(pos + depth, -1), Slice.empty, true)); if (convertNewlines === true) { let $full = tr2.doc.resolve(start2); replaceNewlines(tr2, $full.node(), $full.before(), tr2.steps.length); @@ -165154,10 +166459,10 @@ function join(tr2, pos2, depth) { return tr2; } __name(join, "join"); -function insertPoint(doc2, pos2, nodeType) { - let $pos = doc2.resolve(pos2); +function insertPoint(doc2, pos, nodeType) { + let $pos = doc2.resolve(pos); if ($pos.parent.canReplaceWith($pos.index(), $pos.index(), nodeType)) - return pos2; + return pos; if ($pos.parentOffset == 0) for (let d2 = $pos.depth - 1; d2 >= 0; d2--) { let index2 = $pos.index(d2); @@ -165177,10 +166482,10 @@ function insertPoint(doc2, pos2, nodeType) { return null; } __name(insertPoint, "insertPoint"); -function dropPoint(doc2, pos2, slice2) { - let $pos = doc2.resolve(pos2); +function dropPoint(doc2, pos, slice2) { + let $pos = doc2.resolve(pos); if (!slice2.content.size) - return pos2; + return pos; let content2 = slice2.content; for (let i2 = 0; i2 < slice2.openStart; i2++) content2 = content2.firstChild.content; @@ -165478,13 +166783,13 @@ function replaceRange(tr2, from2, to, slice2) { targetDepths.pop(); let preferredTarget = -($from.depth + 1); targetDepths.unshift(preferredTarget); - for (let d2 = $from.depth, pos2 = $from.pos - 1; d2 > 0; d2--, pos2--) { + for (let d2 = $from.depth, pos = $from.pos - 1; d2 > 0; d2--, pos--) { let spec = $from.node(d2).type.spec; if (spec.defining || spec.definingAsContext || spec.isolating) break; if (targetDepths.indexOf(d2) > -1) preferredTarget = d2; - else if ($from.before(d2) == pos2) + else if ($from.before(d2) == pos) targetDepths.splice(1, 0, -d2); } let preferredTargetIndex = targetDepths.indexOf(preferredTarget); @@ -165590,9 +166895,9 @@ class AttrStep extends Step { /** Construct an attribute step. */ - constructor(pos2, attr, value4) { + constructor(pos, attr, value4) { super(); - this.pos = pos2; + this.pos = pos; this.attr = attr; this.value = value4; } @@ -165614,8 +166919,8 @@ class AttrStep extends Step { return new AttrStep(this.pos, this.attr, doc2.nodeAt(this.pos).attrs[this.attr]); } map(mapping) { - let pos2 = mapping.mapResult(this.pos, 1); - return pos2.deletedAfter ? null : new AttrStep(pos2.pos, this.attr, this.value); + let pos = mapping.mapResult(this.pos, 1); + return pos.deletedAfter ? null : new AttrStep(pos.pos, this.attr, this.value); } toJSON() { return { stepType: "attr", pos: this.pos, attr: this.attr, value: this.value }; @@ -165760,8 +167065,8 @@ class Transform { /** Insert the given content at the given position. */ - insert(pos2, content2) { - return this.replaceWith(pos2, pos2, content2); + insert(pos, content2) { + return this.replaceWith(pos, pos, content2); } /** Replace a range of the document with a given slice, using @@ -165822,8 +167127,8 @@ class Transform { Join the blocks around the given position. If depth is 2, their last and first siblings are also joined, and so on. */ - join(pos2, depth = 1) { - join(this, pos2, depth); + join(pos, depth = 1) { + join(this, pos, depth); return this; } /** @@ -165847,8 +167152,8 @@ class Transform { Change the type, attributes, and/or marks of the node at `pos`. When `type` isn't given, the existing node type is preserved, */ - setNodeMarkup(pos2, type, attrs6 = null, marks) { - setNodeMarkup(this, pos2, type, attrs6, marks); + setNodeMarkup(pos, type, attrs6 = null, marks) { + setNodeMarkup(this, pos, type, attrs6, marks); return this; } /** @@ -165856,8 +167161,8 @@ class Transform { The `pos` addresses the document content. Use `setDocAttribute` to set attributes on the document itself. */ - setNodeAttribute(pos2, attr, value4) { - this.step(new AttrStep(pos2, attr, value4)); + setNodeAttribute(pos, attr, value4) { + this.step(new AttrStep(pos, attr, value4)); return this; } /** @@ -165870,24 +167175,24 @@ class Transform { /** Add a mark to the node at position `pos`. */ - addNodeMark(pos2, mark2) { - this.step(new AddNodeMarkStep(pos2, mark2)); + addNodeMark(pos, mark2) { + this.step(new AddNodeMarkStep(pos, mark2)); return this; } /** Remove a mark (or a mark of the given type) from the node at position `pos`. */ - removeNodeMark(pos2, mark2) { + removeNodeMark(pos, mark2) { if (!(mark2 instanceof Mark$1)) { - let node3 = this.doc.nodeAt(pos2); + let node3 = this.doc.nodeAt(pos); if (!node3) - throw new RangeError("No node at position " + pos2); + throw new RangeError("No node at position " + pos); mark2 = mark2.isInSet(node3.marks); if (!mark2) return this; } - this.step(new RemoveNodeMarkStep(pos2, mark2)); + this.step(new RemoveNodeMarkStep(pos, mark2)); return this; } /** @@ -165897,8 +167202,8 @@ class Transform { This can be changed by passing an array of types and attributes to use after the split. */ - split(pos2, depth = 1, typesAfter) { - split(this, pos2, depth, typesAfter); + split(pos, depth = 1, typesAfter) { + split(this, pos, depth, typesAfter); return this; } /** @@ -165924,8 +167229,8 @@ class Transform { an optional starting [content match](https://prosemirror.net/docs/ref/#model.ContentMatch) as third argument. */ - clearIncompatible(pos2, parentType, match2) { - clearIncompatible(this, pos2, parentType, match2); + clearIncompatible(pos, parentType, match2) { + clearIncompatible(this, pos, parentType, match2); return this; } } @@ -166252,8 +167557,8 @@ class NodeSelection extends Selection { this.node = node3; } map(doc2, mapping) { - let { deleted, pos: pos2 } = mapping.mapResult(this.anchor); - let $pos = doc2.resolve(pos2); + let { deleted, pos } = mapping.mapResult(this.anchor); + let $pos = doc2.resolve(pos); if (deleted) return Selection.near($pos); return new NodeSelection($pos); @@ -166302,8 +167607,8 @@ class NodeBookmark { this.anchor = anchor; } map(mapping) { - let { deleted, pos: pos2 } = mapping.mapResult(this.anchor); - return deleted ? new TextBookmark(pos2, pos2) : new NodeBookmark(pos2); + let { deleted, pos } = mapping.mapResult(this.anchor); + return deleted ? new TextBookmark(pos, pos) : new NodeBookmark(pos); } resolve(doc2) { let $pos = doc2.resolve(this.anchor), node3 = $pos.nodeAfter; @@ -166360,19 +167665,19 @@ const AllBookmark = { return new AllSelection(doc2); } }; -function findSelectionIn(doc2, node3, pos2, index2, dir, text2 = false) { +function findSelectionIn(doc2, node3, pos, index2, dir, text2 = false) { if (node3.inlineContent) - return TextSelection.create(doc2, pos2); + return TextSelection.create(doc2, pos); for (let i2 = index2 - (dir > 0 ? 0 : 1); dir > 0 ? i2 < node3.childCount : i2 >= 0; i2 += dir) { let child = node3.child(i2); if (!child.isAtom) { - let inner = findSelectionIn(doc2, child, pos2 + dir, dir < 0 ? child.childCount : 0, dir, text2); + let inner = findSelectionIn(doc2, child, pos + dir, dir < 0 ? child.childCount : 0, dir, text2); if (inner) return inner; } else if (!text2 && NodeSelection.isSelectable(child)) { - return NodeSelection.create(doc2, pos2 - (dir < 0 ? child.nodeSize : 0)); + return NodeSelection.create(doc2, pos - (dir < 0 ? child.nodeSize : 0)); } - pos2 += child.nodeSize * dir; + pos += child.nodeSize * dir; } return null; } @@ -167025,9 +168330,9 @@ __name(deepActiveElement, "deepActiveElement"); function caretFromPoint(doc2, x2, y2) { if (doc2.caretPositionFromPoint) { try { - let pos2 = doc2.caretPositionFromPoint(x2, y2); - if (pos2) - return { node: pos2.offsetNode, offset: Math.min(nodeSize(pos2.offsetNode), pos2.offset) }; + let pos = doc2.caretPositionFromPoint(x2, y2); + if (pos) + return { node: pos.offsetNode, offset: Math.min(nodeSize(pos.offsetNode), pos.offset) }; } catch (_2) { } } @@ -167327,7 +168632,7 @@ function posAtCoords(view, coords) { if (caret) ({ node: node3, offset } = caret); let elt = (view.root.elementFromPoint ? view.root : doc2).elementFromPoint(coords.left, coords.top); - let pos2; + let pos; if (!elt || !view.dom.contains(elt.nodeType != 1 ? elt.parentNode : elt)) { let box = view.dom.getBoundingClientRect(); if (!inRect(coords, box)) @@ -167355,14 +168660,14 @@ function posAtCoords(view, coords) { if (webkit && offset && node3.nodeType == 1 && (prev2 = node3.childNodes[offset - 1]).nodeType == 1 && prev2.contentEditable == "false" && prev2.getBoundingClientRect().top >= coords.top) offset--; if (node3 == view.dom && offset == node3.childNodes.length - 1 && node3.lastChild.nodeType == 1 && coords.top > node3.lastChild.getBoundingClientRect().bottom) - pos2 = view.state.doc.content.size; + pos = view.state.doc.content.size; else if (offset == 0 || node3.nodeType != 1 || node3.childNodes[offset - 1].nodeName != "BR") - pos2 = posFromCaret(view, node3, offset, coords); + pos = posFromCaret(view, node3, offset, coords); } - if (pos2 == null) - pos2 = posFromElement(view, elt, coords); + if (pos == null) + pos = posFromElement(view, elt, coords); let desc = view.docView.nearestDesc(elt, true); - return { pos: pos2, inside: desc ? desc.posAtStart - desc.border : -1 }; + return { pos, inside: desc ? desc.posAtStart - desc.border : -1 }; } __name(posAtCoords, "posAtCoords"); function nonZero(rect) { @@ -167380,8 +168685,8 @@ function singleRect(target2, bias) { } __name(singleRect, "singleRect"); const BIDI = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/; -function coordsAtPos(view, pos2, side) { - let { node: node3, offset, atom } = view.docView.domFromPos(pos2, side < 0 ? -1 : 1); +function coordsAtPos(view, pos, side) { + let { node: node3, offset, atom } = view.docView.domFromPos(pos, side < 0 ? -1 : 1); let supportEmptyRange = webkit || gecko; if (node3.nodeType == 3) { if (supportEmptyRange && (BIDI.test(node3.nodeValue) || (side < 0 ? !offset : offset == node3.nodeValue.length))) { @@ -167411,7 +168716,7 @@ function coordsAtPos(view, pos2, side) { return flattenV(singleRect(textRange(node3, from2, to), takeSide), takeSide < 0); } } - let $dom = view.state.doc.resolve(pos2 - (atom || 0)); + let $dom = view.state.doc.resolve(pos - (atom || 0)); if (!$dom.parent.inlineContent) { if (atom == null && offset && (side < 0 || offset == nodeSize(node3))) { let before = node3.childNodes[offset - 1]; @@ -167562,7 +168867,7 @@ class ViewDesc { } // Used to check whether a given description corresponds to a // widget/mark/node. - matchesWidget(widget2) { + matchesWidget(widget) { return false; } matchesMark(mark2) { @@ -167605,11 +168910,11 @@ class ViewDesc { this.children[i2].destroy(); } posBeforeChild(child) { - for (let i2 = 0, pos2 = this.posAtStart; ; i2++) { + for (let i2 = 0, pos = this.posAtStart; ; i2++) { let cur = this.children[i2]; if (cur == child) - return pos2; - pos2 += cur.size; + return pos; + pos += cur.size; } } get posBefore() { @@ -167706,27 +169011,27 @@ class ViewDesc { } // Find the desc for the node after the given pos, if any. (When a // parent node overrode rendering, there might not be one.) - descAt(pos2) { + descAt(pos) { for (let i2 = 0, offset = 0; i2 < this.children.length; i2++) { let child = this.children[i2], end = offset + child.size; - if (offset == pos2 && end != offset) { + if (offset == pos && end != offset) { while (!child.border && child.children.length) child = child.children[0]; return child; } - if (pos2 < end) - return child.descAt(pos2 - offset - child.border); + if (pos < end) + return child.descAt(pos - offset - child.border); offset = end; } } - domFromPos(pos2, side) { + domFromPos(pos, side) { if (!this.contentDOM) - return { node: this.dom, offset: 0, atom: pos2 + 1 }; + return { node: this.dom, offset: 0, atom: pos + 1 }; let i2 = 0, offset = 0; for (let curPos = 0; i2 < this.children.length; i2++) { let child = this.children[i2], end = curPos + child.size; - if (end > pos2 || child instanceof TrailingHackViewDesc) { - offset = pos2 - curPos; + if (end > pos || child instanceof TrailingHackViewDesc) { + offset = pos - curPos; break; } curPos = end; @@ -167805,10 +169110,10 @@ class ViewDesc { let child = this.children[side < 0 ? 0 : this.children.length - 1]; return child.size == 0 || child.emptyChildAt(side); } - domAfterPos(pos2) { - let { node: node3, offset } = this.domFromPos(pos2, 0); + domAfterPos(pos) { + let { node: node3, offset } = this.domFromPos(pos, 0); if (node3.nodeType != 1 || offset == node3.childNodes.length) - throw new RangeError("No node after pos " + pos2); + throw new RangeError("No node after pos " + pos); return node3.childNodes[offset]; } // View descs are responsible for setting any selection that falls @@ -167930,16 +169235,16 @@ class WidgetViewDesc extends ViewDesc { static { __name(this, "WidgetViewDesc"); } - constructor(parent, widget2, view, pos2) { - let self2, dom = widget2.type.toDOM; + constructor(parent, widget, view, pos) { + let self2, dom = widget.type.toDOM; if (typeof dom == "function") dom = dom(view, () => { if (!self2) - return pos2; + return pos; if (self2.parent) return self2.parent.posBeforeChild(self2); }); - if (!widget2.type.spec.raw) { + if (!widget.type.spec.raw) { if (dom.nodeType != 1) { let wrap2 = document.createElement("span"); wrap2.appendChild(dom); @@ -167949,12 +169254,12 @@ class WidgetViewDesc extends ViewDesc { dom.classList.add("ProseMirror-widget"); } super(parent, [], dom, null); - this.widget = widget2; - this.widget = widget2; + this.widget = widget; + this.widget = widget; self2 = this; } - matchesWidget(widget2) { - return this.dirty == NOT_DIRTY && widget2.type.eq(this.widget.type); + matchesWidget(widget) { + return this.dirty == NOT_DIRTY && widget.type.eq(this.widget.type); } parseRule() { return { ignore: true }; @@ -167994,8 +169299,8 @@ class CompositionViewDesc extends ViewDesc { return this.posAtStart + (offset ? this.size : 0); return this.posAtStart + offset; } - domFromPos(pos2) { - return { node: this.textDOM, offset: pos2 }; + domFromPos(pos) { + return { node: this.textDOM, offset: pos }; } ignoreMutation(mut) { return mut.type === "characterData" && mut.target.nodeValue == mut.oldValue; @@ -168061,7 +169366,7 @@ class NodeViewDesc extends ViewDesc { static { __name(this, "NodeViewDesc"); } - constructor(parent, node3, outerDeco, innerDeco, dom, contentDOM, nodeDOM, view, pos2) { + constructor(parent, node3, outerDeco, innerDeco, dom, contentDOM, nodeDOM, view, pos) { super(parent, [], dom, contentDOM); this.node = node3; this.outerDeco = outerDeco; @@ -168077,11 +169382,11 @@ class NodeViewDesc extends ViewDesc { // since it'd require exposing a whole slew of finicky // implementation details to the user code that they probably will // never need.) - static create(parent, node3, outerDeco, innerDeco, view, pos2) { + static create(parent, node3, outerDeco, innerDeco, view, pos) { let custom2 = view.nodeViews[node3.type.name], descObj; let spec = custom2 && custom2(node3, view, () => { if (!descObj) - return pos2; + return pos; if (descObj.parent) return descObj.parent.posBeforeChild(descObj); }, outerDeco, innerDeco); @@ -168104,11 +169409,11 @@ class NodeViewDesc extends ViewDesc { let nodeDOM = dom; dom = applyOuterDeco(dom, outerDeco, node3); if (spec) - return descObj = new CustomNodeViewDesc(parent, node3, outerDeco, innerDeco, dom, contentDOM || null, nodeDOM, spec, view, pos2 + 1); + return descObj = new CustomNodeViewDesc(parent, node3, outerDeco, innerDeco, dom, contentDOM || null, nodeDOM, spec, view, pos + 1); else if (node3.isText) return new TextViewDesc(parent, node3, outerDeco, innerDeco, dom, nodeDOM, view); else - return new NodeViewDesc(parent, node3, outerDeco, innerDeco, dom, contentDOM || null, nodeDOM, view, pos2 + 1); + return new NodeViewDesc(parent, node3, outerDeco, innerDeco, dom, contentDOM || null, nodeDOM, view, pos + 1); } parseRule() { if (this.node.type.spec.reparseInView) @@ -168146,18 +169451,18 @@ class NodeViewDesc extends ViewDesc { // decorations, possibly introducing nesting for marks. Then, in a // separate step, syncs the DOM inside `this.contentDOM` to // `this.children`. - updateChildren(view, pos2) { - let inline3 = this.node.inlineContent, off = pos2; - let composition = view.composing ? this.localCompositionInfo(view, pos2) : null; + updateChildren(view, pos) { + let inline3 = this.node.inlineContent, off = pos; + let composition = view.composing ? this.localCompositionInfo(view, pos) : null; let localComposition = composition && composition.pos > -1 ? composition : null; let compositionInChild = composition && composition.pos < 0; let updater = new ViewTreeUpdater(this, localComposition && localComposition.node, view); - iterDeco(this.node, this.innerDeco, (widget2, i2, insideNode) => { - if (widget2.spec.marks) - updater.syncToMarks(widget2.spec.marks, inline3, view); - else if (widget2.type.side >= 0 && !insideNode) + iterDeco(this.node, this.innerDeco, (widget, i2, insideNode) => { + if (widget.spec.marks) + updater.syncToMarks(widget.spec.marks, inline3, view); + else if (widget.type.side >= 0 && !insideNode) updater.syncToMarks(i2 == this.node.childCount ? Mark$1.none : this.node.child(i2).marks, inline3, view); - updater.placeWidget(widget2, view, off); + updater.placeWidget(widget, view, off); }, (child, outerDeco, innerDeco, i2) => { updater.syncToMarks(child.marks, inline3, view); let compIndex; @@ -168181,22 +169486,22 @@ class NodeViewDesc extends ViewDesc { iosHacks(this.dom); } } - localCompositionInfo(view, pos2) { + localCompositionInfo(view, pos) { let { from: from2, to } = view.state.selection; - if (!(view.state.selection instanceof TextSelection) || from2 < pos2 || to > pos2 + this.node.content.size) + if (!(view.state.selection instanceof TextSelection) || from2 < pos || to > pos + this.node.content.size) return null; let textNode = view.input.compositionNode; if (!textNode || !this.dom.contains(textNode.parentNode)) return null; if (this.node.inlineContent) { let text2 = textNode.nodeValue; - let textPos = findTextInFragment(this.node.content, text2, from2 - pos2, to - pos2); + let textPos = findTextInFragment(this.node.content, text2, from2 - pos, to - pos); return textPos < 0 ? null : { node: textNode, pos: textPos, text: text2 }; } else { return { node: textNode, pos: -1, text: "" }; } } - protectLocalComposition(view, { node: node3, pos: pos2, text: text2 }) { + protectLocalComposition(view, { node: node3, pos, text: text2 }) { if (this.getDesc(node3)) return; let topNode = node3; @@ -168212,7 +169517,7 @@ class NodeViewDesc extends ViewDesc { } let desc = new CompositionViewDesc(this, topNode, node3, text2); view.input.compositionNodes.push(desc); - this.children = replaceNodes(this.children, pos2, pos2 + text2.length, view, desc); + this.children = replaceNodes(this.children, pos, pos + text2.length, view, desc); } // If this desc must be updated to match the given node decoration, // do so and return true. @@ -168302,8 +169607,8 @@ class TextViewDesc extends NodeViewDesc { return true; return false; } - domFromPos(pos2) { - return { node: this.nodeDOM, offset: pos2 }; + domFromPos(pos) { + return { node: this.nodeDOM, offset: pos }; } localPosFromDOM(dom, offset, bias) { if (dom == this.nodeDOM) @@ -168350,8 +169655,8 @@ class CustomNodeViewDesc extends NodeViewDesc { static { __name(this, "CustomNodeViewDesc"); } - constructor(parent, node3, outerDeco, innerDeco, dom, contentDOM, nodeDOM, spec, view, pos2) { - super(parent, node3, outerDeco, innerDeco, dom, contentDOM, nodeDOM, view, pos2); + constructor(parent, node3, outerDeco, innerDeco, dom, contentDOM, nodeDOM, spec, view, pos) { + super(parent, node3, outerDeco, innerDeco, dom, contentDOM, nodeDOM, view, pos); this.spec = spec; } // A custom `update` method gets to decide whether the update goes @@ -168407,9 +169712,9 @@ function renderDescs(parentDOM, descs, view) { parentDOM.insertBefore(childDOM, dom); } if (desc instanceof MarkViewDesc) { - let pos2 = dom ? dom.previousSibling : parentDOM.lastChild; + let pos = dom ? dom.previousSibling : parentDOM.lastChild; renderDescs(desc.contentDOM, desc.children, view); - dom = pos2 ? pos2.nextSibling : parentDOM.firstChild; + dom = pos ? pos.nextSibling : parentDOM.firstChild; } } while (dom) { @@ -168642,7 +169947,7 @@ class ViewTreeUpdater { } // Try to update the next node, if any, to the given data. Checks // pre-matches to avoid overwriting nodes that could still be used. - updateNextNode(node3, outerDeco, innerDeco, view, index2, pos2) { + updateNextNode(node3, outerDeco, innerDeco, view, index2, pos) { for (let i2 = this.index; i2 < this.top.children.length; i2++) { let next2 = this.top.children[i2]; if (next2 instanceof NodeViewDesc) { @@ -168657,12 +169962,12 @@ class ViewTreeUpdater { this.changed = true; this.index++; return true; - } else if (!locked && (updated15 = this.recreateWrapper(next2, node3, outerDeco, innerDeco, view, pos2))) { + } else if (!locked && (updated15 = this.recreateWrapper(next2, node3, outerDeco, innerDeco, view, pos))) { this.destroyBetween(this.index, i2); this.top.children[this.index] = updated15; if (updated15.contentDOM) { updated15.dirty = CONTENT_DIRTY; - updated15.updateChildren(view, pos2 + 1); + updated15.updateChildren(view, pos + 1); updated15.dirty = NOT_DIRTY; } this.changed = true; @@ -168676,10 +169981,10 @@ class ViewTreeUpdater { } // When a node with content is replaced by a different node with // identical content, move over its children. - recreateWrapper(next2, node3, outerDeco, innerDeco, view, pos2) { + recreateWrapper(next2, node3, outerDeco, innerDeco, view, pos) { if (next2.dirty || node3.isAtom || !next2.children.length || !next2.node.content.eq(node3.content) || !sameOuterDeco(outerDeco, next2.outerDeco) || !innerDeco.eq(next2.innerDeco)) return null; - let wrapper = NodeViewDesc.create(this.top, node3, outerDeco, innerDeco, view, pos2); + let wrapper = NodeViewDesc.create(this.top, node3, outerDeco, innerDeco, view, pos); if (wrapper.contentDOM) { wrapper.children = next2.children; next2.children = []; @@ -168690,19 +169995,19 @@ class ViewTreeUpdater { return wrapper; } // Insert the node as a newly created node desc. - addNode(node3, outerDeco, innerDeco, view, pos2) { - let desc = NodeViewDesc.create(this.top, node3, outerDeco, innerDeco, view, pos2); + addNode(node3, outerDeco, innerDeco, view, pos) { + let desc = NodeViewDesc.create(this.top, node3, outerDeco, innerDeco, view, pos); if (desc.contentDOM) - desc.updateChildren(view, pos2 + 1); + desc.updateChildren(view, pos + 1); this.top.children.splice(this.index++, 0, desc); this.changed = true; } - placeWidget(widget2, view, pos2) { + placeWidget(widget, view, pos) { let next2 = this.index < this.top.children.length ? this.top.children[this.index] : null; - if (next2 && next2.matchesWidget(widget2) && (widget2 == next2.widget || !next2.widget.type.toDOM.parentNode)) { + if (next2 && next2.matchesWidget(widget) && (widget == next2.widget || !next2.widget.type.toDOM.parentNode)) { this.index++; } else { - let desc = new WidgetViewDesc(this.top, widget2, view, pos2); + let desc = new WidgetViewDesc(this.top, widget, view, pos); this.top.children.splice(this.index++, 0, desc); this.changed = true; } @@ -168796,23 +170101,23 @@ function iterDeco(parent, deco, onWidget, onNode) { } let decoIndex = 0, active3 = [], restNode = null; for (let parentIndex = 0; ; ) { - let widget2, widgets; + let widget, widgets; while (decoIndex < locals.length && locals[decoIndex].to == offset) { let next2 = locals[decoIndex++]; if (next2.widget) { - if (!widget2) - widget2 = next2; + if (!widget) + widget = next2; else - (widgets || (widgets = [widget2])).push(next2); + (widgets || (widgets = [widget])).push(next2); } } - if (widget2) { + if (widget) { if (widgets) { widgets.sort(compareSide); for (let i2 = 0; i2 < widgets.length; i2++) onWidget(widgets[i2], parentIndex, !!restNode); } else { - onWidget(widget2, parentIndex, !!restNode); + onWidget(widget, parentIndex, !!restNode); } } let child, index2; @@ -168865,21 +170170,21 @@ function iosHacks(dom) { } __name(iosHacks, "iosHacks"); function findTextInFragment(frag, text2, from2, to) { - for (let i2 = 0, pos2 = 0; i2 < frag.childCount && pos2 <= to; ) { - let child = frag.child(i2++), childStart = pos2; - pos2 += child.nodeSize; + for (let i2 = 0, pos = 0; i2 < frag.childCount && pos <= to; ) { + let child = frag.child(i2++), childStart = pos; + pos += child.nodeSize; if (!child.isText) continue; let str = child.text; while (i2 < frag.childCount) { let next2 = frag.child(i2++); - pos2 += next2.nodeSize; + pos += next2.nodeSize; if (!next2.isText) break; str += next2.text; } - if (pos2 >= from2) { - if (pos2 >= to && str.slice(to - text2.length - childStart, to - childStart) == text2) + if (pos >= from2) { + if (pos >= to && str.slice(to - text2.length - childStart, to - childStart) == text2) return to - text2.length; let found2 = childStart < to ? str.lastIndexOf(text2, to - childStart - 1) : -1; if (found2 >= 0 && found2 + text2.length + childStart >= from2) @@ -168926,8 +170231,8 @@ function selectionFromDOM(view, origin2 = null) { nearestDesc = nearestDesc.parent; let nearestDescNode = nearestDesc.node; if (nearestDesc && nearestDescNode.isAtom && NodeSelection.isSelectable(nearestDescNode) && nearestDesc.parent && !(nearestDescNode.isInline && isOnEdge(domSel.focusNode, domSel.focusOffset, nearestDesc.dom))) { - let pos2 = nearestDesc.posBefore; - selection = new NodeSelection(head == pos2 ? $head : doc2.resolve(pos2)); + let pos = nearestDesc.posBefore; + selection = new NodeSelection(head == pos ? $head : doc2.resolve(pos)); } } else { if (domSel instanceof view.dom.ownerDocument.defaultView.Selection && domSel.rangeCount > 1) { @@ -169003,8 +170308,8 @@ function selectionToDOM(view, force = false) { } __name(selectionToDOM, "selectionToDOM"); const brokenSelectBetweenUneditable = safari || chrome && chrome_version < 63; -function temporarilyEditableNear(view, pos2) { - let { node: node3, offset } = view.docView.domFromPos(pos2, 0); +function temporarilyEditableNear(view, pos) { + let { node: node3, offset } = view.docView.domFromPos(pos, 0); let after = offset < node3.childNodes.length ? node3.childNodes[offset] : null; let before = offset ? node3.childNodes[offset - 1] : null; if (safari && after && after.contentEditable == "false") @@ -169342,18 +170647,18 @@ function setSelFocus(view, node3, offset) { }, 50); } __name(setSelFocus, "setSelFocus"); -function findDirection(view, pos2) { - let $pos = view.state.doc.resolve(pos2); +function findDirection(view, pos) { + let $pos = view.state.doc.resolve(pos); if (!(chrome || windows) && $pos.parent.inlineContent) { - let coords = view.coordsAtPos(pos2); - if (pos2 > $pos.start()) { - let before = view.coordsAtPos(pos2 - 1); + let coords = view.coordsAtPos(pos); + if (pos > $pos.start()) { + let before = view.coordsAtPos(pos - 1); let mid = (before.top + before.bottom) / 2; if (mid > coords.top && mid < coords.bottom && Math.abs(before.left - coords.left) > 1) return before.left < coords.left ? "ltr" : "rtl"; } - if (pos2 < $pos.end()) { - let after = view.coordsAtPos(pos2 + 1); + if (pos < $pos.end()) { + let after = view.coordsAtPos(pos + 1); let mid = (after.top + after.bottom) / 2; if (mid > coords.top && mid < coords.bottom && Math.abs(after.left - coords.left) > 1) return after.left > coords.left ? "ltr" : "rtl"; @@ -169858,12 +171163,12 @@ function isNear(event, click2) { return dx * dx + dy * dy < 100; } __name(isNear, "isNear"); -function runHandlerOnContext(view, propName, pos2, inside, event) { +function runHandlerOnContext(view, propName, pos, inside, event) { if (inside == -1) return false; let $pos = view.state.doc.resolve(inside); for (let i2 = $pos.depth + 1; i2 > 0; i2--) { - if (view.someProp(propName, (f2) => i2 > $pos.depth ? f2(view, pos2, $pos.nodeAfter, $pos.before(i2), event, true) : f2(view, pos2, $pos.node(i2), $pos.before(i2), event, false))) + if (view.someProp(propName, (f2) => i2 > $pos.depth ? f2(view, pos, $pos.nodeAfter, $pos.before(i2), event, true) : f2(view, pos, $pos.node(i2), $pos.before(i2), event, false))) return true; } return false; @@ -169916,16 +171221,16 @@ function selectClickedNode(view, inside) { } } __name(selectClickedNode, "selectClickedNode"); -function handleSingleClick(view, pos2, inside, event, selectNode) { - return runHandlerOnContext(view, "handleClickOn", pos2, inside, event) || view.someProp("handleClick", (f2) => f2(view, pos2, event)) || (selectNode ? selectClickedNode(view, inside) : selectClickedLeaf(view, inside)); +function handleSingleClick(view, pos, inside, event, selectNode) { + return runHandlerOnContext(view, "handleClickOn", pos, inside, event) || view.someProp("handleClick", (f2) => f2(view, pos, event)) || (selectNode ? selectClickedNode(view, inside) : selectClickedLeaf(view, inside)); } __name(handleSingleClick, "handleSingleClick"); -function handleDoubleClick(view, pos2, inside, event) { - return runHandlerOnContext(view, "handleDoubleClickOn", pos2, inside, event) || view.someProp("handleDoubleClick", (f2) => f2(view, pos2, event)); +function handleDoubleClick(view, pos, inside, event) { + return runHandlerOnContext(view, "handleDoubleClickOn", pos, inside, event) || view.someProp("handleDoubleClick", (f2) => f2(view, pos, event)); } __name(handleDoubleClick, "handleDoubleClick"); -function handleTripleClick$1(view, pos2, inside, event) { - return runHandlerOnContext(view, "handleTripleClickOn", pos2, inside, event) || view.someProp("handleTripleClick", (f2) => f2(view, pos2, event)) || defaultTripleClick(view, inside, event); +function handleTripleClick$1(view, pos, inside, event) { + return runHandlerOnContext(view, "handleTripleClickOn", pos, inside, event) || view.someProp("handleTripleClick", (f2) => f2(view, pos, event)) || defaultTripleClick(view, inside, event); } __name(handleTripleClick$1, "handleTripleClick$1"); function defaultTripleClick(view, inside, event) { @@ -169970,14 +171275,14 @@ handlers.mousedown = (view, _event) => { type = "tripleClick"; } view.input.lastClick = { time: now2, x: event.clientX, y: event.clientY, type }; - let pos2 = view.posAtCoords(eventCoords(event)); - if (!pos2) + let pos = view.posAtCoords(eventCoords(event)); + if (!pos) return; if (type == "singleClick") { if (view.input.mouseDown) view.input.mouseDown.done(); - view.input.mouseDown = new MouseDown(view, pos2, event, !!flushed); - } else if ((type == "doubleClick" ? handleDoubleClick : handleTripleClick$1)(view, pos2.pos, pos2.inside, event)) { + view.input.mouseDown = new MouseDown(view, pos, event, !!flushed); + } else if ((type == "doubleClick" ? handleDoubleClick : handleTripleClick$1)(view, pos.pos, pos.inside, event)) { event.preventDefault(); } else { setSelectionOrigin(view, "pointer"); @@ -169987,9 +171292,9 @@ class MouseDown { static { __name(this, "MouseDown"); } - constructor(view, pos2, event, flushed) { + constructor(view, pos, event, flushed) { this.view = view; - this.pos = pos2; + this.pos = pos; this.event = event; this.flushed = flushed; this.delayedSelectionSync = false; @@ -169998,11 +171303,11 @@ class MouseDown { this.selectNode = !!event[selectNodeModifier]; this.allowDefault = event.shiftKey; let targetNode, targetPos; - if (pos2.inside > -1) { - targetNode = view.state.doc.nodeAt(pos2.inside); - targetPos = pos2.inside; + if (pos.inside > -1) { + targetNode = view.state.doc.nodeAt(pos.inside); + targetPos = pos.inside; } else { - let $pos = view.state.doc.resolve(pos2.pos); + let $pos = view.state.doc.resolve(pos.pos); targetNode = $pos.parent; targetPos = $pos.depth ? $pos.before() : 0; } @@ -170051,13 +171356,13 @@ class MouseDown { this.done(); if (!this.view.dom.contains(event.target)) return; - let pos2 = this.pos; + let pos = this.pos; if (this.view.state.doc != this.startDoc) - pos2 = this.view.posAtCoords(eventCoords(event)); + pos = this.view.posAtCoords(eventCoords(event)); this.updateAllowDefault(event); - if (this.allowDefault || !pos2) { + if (this.allowDefault || !pos) { setSelectionOrigin(this.view, "pointer"); - } else if (handleSingleClick(this.view, pos2.pos, pos2.inside, event, this.selectNode)) { + } else if (handleSingleClick(this.view, pos.pos, pos.inside, event, this.selectNode)) { event.preventDefault(); } else if (event.button == 0 && (this.flushed || // Safari ignores clicks on draggable elements safari && this.mightDrag && !this.mightDrag.node.isAtom || // Chrome will sometimes treat a node selection as a @@ -170067,8 +171372,8 @@ class MouseDown { // (hidden) cursor is doesn't change the selection, and // thus doesn't get a reaction from ProseMirror. This // works around that. - chrome && !this.view.state.selection.visible && Math.min(Math.abs(pos2.pos - this.view.state.selection.from), Math.abs(pos2.pos - this.view.state.selection.to)) <= 2)) { - updateSelection(this.view, Selection.near(this.view.state.doc.resolve(pos2.pos)), "pointer"); + chrome && !this.view.state.selection.visible && Math.min(Math.abs(pos.pos - this.view.state.selection.from), Math.abs(pos.pos - this.view.state.selection.to)) <= 2)) { + updateSelection(this.view, Selection.near(this.view.state.doc.resolve(pos.pos)), "pointer"); event.preventDefault(); } else { setSelectionOrigin(this.view, "pointer"); @@ -170322,9 +171627,9 @@ handlers.dragstart = (view, _event) => { if (!event.dataTransfer) return; let sel = view.state.selection; - let pos2 = sel.empty ? null : view.posAtCoords(eventCoords(event)); + let pos = sel.empty ? null : view.posAtCoords(eventCoords(event)); let node3; - if (pos2 && pos2.pos >= sel.from && pos2.pos <= (sel instanceof NodeSelection ? sel.to - 1 : sel.to)) ; + if (pos && pos.pos >= sel.from && pos.pos <= (sel instanceof NodeSelection ? sel.to - 1 : sel.to)) ; else if (mouseDown && mouseDown.mightDrag) { node3 = NodeSelection.create(view.state.doc, mouseDown.mightDrag.pos); } else if (event.target && event.target.nodeType == 1) { @@ -170387,16 +171692,16 @@ editHandlers.drop = (view, _event) => { else tr2.deleteSelection(); } - let pos2 = tr2.mapping.map(insertPos); + let pos = tr2.mapping.map(insertPos); let isNode = slice2.openStart == 0 && slice2.openEnd == 0 && slice2.content.childCount == 1; let beforeInsert = tr2.doc; if (isNode) - tr2.replaceRangeWith(pos2, pos2, slice2.content.firstChild); + tr2.replaceRangeWith(pos, pos, slice2.content.firstChild); else - tr2.replaceRange(pos2, pos2, slice2); + tr2.replaceRange(pos, pos, slice2); if (tr2.doc.eq(beforeInsert)) return; - let $pos = tr2.doc.resolve(pos2); + let $pos = tr2.doc.resolve(pos); if (isNode && NodeSelection.isSelectable(slice2.content.firstChild) && $pos.nodeAfter && $pos.nodeAfter.sameMarkup(slice2.content.firstChild)) { tr2.setSelection(new NodeSelection($pos)); } else { @@ -170473,8 +171778,8 @@ class WidgetType { this.side = this.spec.side || 0; } map(mapping, span, offset, oldOffset) { - let { pos: pos2, deleted } = mapping.mapResult(span.from + oldOffset, this.side < 0 ? -1 : 1); - return deleted ? null : new Decoration(pos2 - offset, pos2 - offset, this); + let { pos, deleted } = mapping.mapResult(span.from + oldOffset, this.side < 0 ? -1 : 1); + return deleted ? null : new Decoration(pos - offset, pos - offset, this); } valid() { return true; @@ -170577,8 +171882,8 @@ class Decoration { also directly pass a DOM node. `getPos` can be used to find the widget's current document position. */ - static widget(pos2, toDOM, spec) { - return new Decoration(pos2, pos2, new WidgetType(toDOM, spec)); + static widget(pos, toDOM, spec) { + return new Decoration(pos, pos, new WidgetType(toDOM, spec)); } /** Creates an inline decoration, which adds the given attributes to @@ -171681,11 +172986,11 @@ function skipClosingAndOpening($pos, fromEnd, mayOpen) { return end; } __name(skipClosingAndOpening, "skipClosingAndOpening"); -function findDiff(a2, b2, pos2, preferredPos, preferredSide) { - let start2 = a2.findDiffStart(b2, pos2); +function findDiff(a2, b2, pos, preferredPos, preferredSide) { + let start2 = a2.findDiffStart(b2, pos); if (start2 == null) return null; - let { a: endA, b: endB } = a2.findDiffEnd(b2, pos2 + a2.size, pos2 + b2.size); + let { a: endA, b: endB } = a2.findDiffEnd(b2, pos + a2.size, pos + b2.size); if (preferredSide == "end") { let adjust = Math.max(0, start2 - Math.min(endA, endB)); preferredPos -= endA + adjust - start2; @@ -172028,8 +173333,8 @@ class EditorView { is used. When < 0, the element before the position is used, otherwise the element after. */ - coordsAtPos(pos2, side = 1) { - return coordsAtPos(this, pos2, side); + coordsAtPos(pos, side = 1) { + return coordsAtPos(this, pos, side); } /** Find the DOM position that corresponds to the given document @@ -172041,8 +173346,8 @@ class EditorView { Note that you should **not** mutate the editor's internal DOM, only inspect it (and even that is usually not necessary). */ - domAtPos(pos2, side = 0) { - return this.docView.domFromPos(pos2, side); + domAtPos(pos, side = 0) { + return this.docView.domFromPos(pos, side); } /** Find the DOM node that represents the document node after the @@ -172054,8 +173359,8 @@ class EditorView { editor DOM directly, or add styling this way, since that will be immediately overriden by the editor as it redraws the node. */ - nodeDOM(pos2) { - let desc = this.docView.descAt(pos2); + nodeDOM(pos) { + let desc = this.docView.descAt(pos); return desc ? desc.nodeDOM : null; } /** @@ -172069,10 +173374,10 @@ class EditorView { node to use when the position is inside a leaf node. */ posAtDOM(node3, offset, bias = -1) { - let pos2 = this.docView.posFromDOM(node3, offset, bias); - if (pos2 == null) + let pos = this.docView.posFromDOM(node3, offset, bias); + if (pos == null) throw new RangeError("DOM position not inside the editor"); - return pos2; + return pos; } /** Find out whether the selection is at the end of a textblock when @@ -172682,8 +173987,8 @@ const exitCode$1 = /* @__PURE__ */ __name((state, dispatch) => { if (!type || !above.canReplaceWith(after, after, type)) return false; if (dispatch) { - let pos2 = $head.after(), tr2 = state.tr.replaceWith(pos2, pos2, type.createAndFill()); - tr2.setSelection(Selection.near(tr2.doc.resolve(pos2), 1)); + let pos = $head.after(), tr2 = state.tr.replaceWith(pos, pos, type.createAndFill()); + tr2.setSelection(Selection.near(tr2.doc.resolve(pos), 1)); dispatch(tr2.scrollIntoView()); } return true; @@ -172783,13 +174088,13 @@ const splitBlockKeepMarks = /* @__PURE__ */ __name((state, dispatch) => { })); }, "splitBlockKeepMarks"); const selectParentNode$1 = /* @__PURE__ */ __name((state, dispatch) => { - let { $from, to } = state.selection, pos2; + let { $from, to } = state.selection, pos; let same = $from.sharedDepth(to); if (same == 0) return false; - pos2 = $from.before(same); + pos = $from.before(same); if (dispatch) - dispatch(state.tr.setSelection(NodeSelection.create(state.doc, pos2))); + dispatch(state.tr.setSelection(NodeSelection.create(state.doc, pos))); return true; }, "selectParentNode$1"); const selectAll$1 = /* @__PURE__ */ __name((state, dispatch) => { @@ -172901,7 +174206,7 @@ function setBlockType(nodeType, attrs6 = null) { let applicable = false; for (let i2 = 0; i2 < state.selection.ranges.length && !applicable; i2++) { let { $from: { pos: from2 }, $to: { pos: to } } = state.selection.ranges[i2]; - state.doc.nodesBetween(from2, to, (node3, pos2) => { + state.doc.nodesBetween(from2, to, (node3, pos) => { if (applicable) return false; if (!node3.isTextblock || node3.hasMarkup(nodeType, attrs6)) @@ -172909,7 +174214,7 @@ function setBlockType(nodeType, attrs6 = null) { if (node3.type == nodeType) { applicable = true; } else { - let $pos = state.doc.resolve(pos2), index2 = $pos.index(); + let $pos = state.doc.resolve(pos), index2 = $pos.index(); applicable = $pos.parent.canReplaceWith(index2, index2 + 1, nodeType); } }); @@ -172932,8 +174237,8 @@ function markApplies(doc2, ranges, type, enterAtoms) { for (let i2 = 0; i2 < ranges.length; i2++) { let { $from, $to } = ranges[i2]; let can = $from.depth == 0 ? doc2.inlineContent && doc2.type.allowsMarkType(type) : false; - doc2.nodesBetween($from.pos, $to.pos, (node3, pos2) => { - if (can || !enterAtoms && node3.isAtom && node3.isInline && pos2 >= $from.pos && pos2 + node3.nodeSize <= $to.pos) + doc2.nodesBetween($from.pos, $to.pos, (node3, pos) => { + if (can || !enterAtoms && node3.isAtom && node3.isInline && pos >= $from.pos && pos + node3.nodeSize <= $to.pos) return false; can = node3.inlineContent && node3.type.allowsMarkType(type); }); @@ -172947,11 +174252,11 @@ function removeInlineAtoms(ranges) { let result = []; for (let i2 = 0; i2 < ranges.length; i2++) { let { $from, $to } = ranges[i2]; - $from.doc.nodesBetween($from.pos, $to.pos, (node3, pos2) => { - if (node3.isAtom && node3.content.size && node3.isInline && pos2 >= $from.pos && pos2 + node3.nodeSize <= $to.pos) { - if (pos2 + 1 > $from.pos) - result.push(new SelectionRange($from, $from.doc.resolve(pos2 + 1))); - $from = $from.doc.resolve(pos2 + 1 + node3.content.size); + $from.doc.nodesBetween($from.pos, $to.pos, (node3, pos) => { + if (node3.isAtom && node3.content.size && node3.isInline && pos >= $from.pos && pos + node3.nodeSize <= $to.pos) { + if (pos + 1 > $from.pos) + result.push(new SelectionRange($from, $from.doc.resolve(pos + 1))); + $from = $from.doc.resolve(pos + 1 + node3.content.size); return false; } }); @@ -172983,10 +174288,10 @@ function toggleMark$1(markType, attrs6 = null, options4) { } else { add3 = !ranges.every((r2) => { let missing = false; - tr2.doc.nodesBetween(r2.$from.pos, r2.$to.pos, (node3, pos2, parent) => { + tr2.doc.nodesBetween(r2.$from.pos, r2.$to.pos, (node3, pos, parent) => { if (missing) return false; - missing = !markType.isInSet(node3.marks) && !!parent && parent.type.allowsMarkType(markType) && !(node3.isText && /^\s*$/.test(node3.textBetween(Math.max(0, r2.$from.pos - pos2), Math.min(node3.nodeSize, r2.$to.pos - pos2)))); + missing = !markType.isInSet(node3.marks) && !!parent && parent.type.allowsMarkType(markType) && !(node3.isText && /^\s*$/.test(node3.textBetween(Math.max(0, r2.$from.pos - pos), Math.min(node3.nodeSize, r2.$to.pos - pos)))); }); return !missing; }); @@ -173028,16 +174333,16 @@ function wrapDispatchForJoin(dispatch, isJoinable) { for (let i2 = 0; i2 < ranges.length; i2 += 2) { let from2 = ranges[i2], to = ranges[i2 + 1]; let $from = tr2.doc.resolve(from2), depth = $from.sharedDepth(to), parent = $from.node(depth); - for (let index2 = $from.indexAfter(depth), pos2 = $from.after(depth + 1); pos2 <= to; ++index2) { + for (let index2 = $from.indexAfter(depth), pos = $from.after(depth + 1); pos <= to; ++index2) { let after = parent.maybeChild(index2); if (!after) break; - if (index2 && joinable2.indexOf(pos2) == -1) { + if (index2 && joinable2.indexOf(pos) == -1) { let before = parent.child(index2 - 1); if (before.type == after.type && isJoinable(before, after)) - joinable2.push(pos2); + joinable2.push(pos); } - pos2 += after.nodeSize; + pos += after.nodeSize; } } joinable2.sort((a2, b2) => a2 - b2); @@ -173205,11 +174510,11 @@ function splitListItem$1(itemType, itemAttrs) { let start2 = $from.before($from.depth - (depthBefore - 1)); let tr3 = state.tr.replace(start2, $from.after(-depthAfter), new Slice(wrap2, 4 - depthBefore, 0)); let sel = -1; - tr3.doc.nodesBetween(start2, tr3.doc.content.size, (node4, pos2) => { + tr3.doc.nodesBetween(start2, tr3.doc.content.size, (node4, pos) => { if (sel > -1) return false; if (node4.isTextblock && node4.content.size == 0) - sel = pos2 + 1; + sel = pos + 1; }); if (sel > -1) tr3.setSelection(Selection.near(tr3.doc.resolve(sel))); @@ -173274,9 +174579,9 @@ function liftToOuterList(state, dispatch, itemType, range2) { __name(liftToOuterList, "liftToOuterList"); function liftOutOfList(state, dispatch, range2) { let tr2 = state.tr, list2 = range2.parent; - for (let pos2 = range2.end, i2 = range2.endIndex - 1, e2 = range2.startIndex; i2 > e2; i2--) { - pos2 -= list2.child(i2).nodeSize; - tr2.delete(pos2 - 1, pos2 + 1); + for (let pos = range2.end, i2 = range2.endIndex - 1, e2 = range2.startIndex; i2 > e2; i2--) { + pos -= list2.child(i2).nodeSize; + tr2.delete(pos - 1, pos + 1); } let $start = tr2.doc.resolve(range2.start), item3 = $start.nodeAfter; if (tr2.mapping.map(range2.end) != range2.start + $start.nodeAfter.nodeSize) @@ -173839,15 +175144,15 @@ __name(getHTMLFromFragment, "getHTMLFromFragment"); const getTextContentFromNodes = /* @__PURE__ */ __name(($from, maxMatch = 500) => { let textBefore = ""; const sliceEndPos = $from.parentOffset; - $from.parent.nodesBetween(Math.max(0, sliceEndPos - maxMatch), sliceEndPos, (node3, pos2, parent, index2) => { + $from.parent.nodesBetween(Math.max(0, sliceEndPos - maxMatch), sliceEndPos, (node3, pos, parent, index2) => { var _a2, _b; const chunk = ((_b = (_a2 = node3.type.spec).toText) === null || _b === void 0 ? void 0 : _b.call(_a2, { node: node3, - pos: pos2, + pos, parent, index: index2 })) || node3.textContent || "%leaf%"; - textBefore += node3.isAtom && !node3.isText ? chunk : chunk.slice(0, Math.max(0, sliceEndPos - pos2)); + textBefore += node3.isAtom && !node3.isText ? chunk : chunk.slice(0, Math.max(0, sliceEndPos - pos)); }); return textBefore; }, "getTextContentFromNodes"); @@ -174187,13 +175492,13 @@ function run$2(config2) { state }); const handlers2 = []; - state.doc.nodesBetween(from2, to, (node3, pos2) => { + state.doc.nodesBetween(from2, to, (node3, pos) => { if (!node3.isTextblock || node3.type.spec.code) { return; } - const resolvedFrom = Math.max(from2, pos2); - const resolvedTo = Math.min(to, pos2 + node3.content.size); - const textToMatch = node3.textBetween(resolvedFrom - pos2, resolvedTo - pos2, void 0, ""); + const resolvedFrom = Math.max(from2, pos); + const resolvedTo = Math.min(to, pos + node3.content.size); + const textToMatch = node3.textBetween(resolvedFrom - pos, resolvedTo - pos, void 0, ""); const matches2 = pasteRuleMatcherHandler(textToMatch, rule.find, pasteEvent); matches2.forEach((match2) => { if (match2.index === void 0) { @@ -174662,9 +175967,9 @@ function getTextBetween(startNode, range2, options4) { const { from: from2, to } = range2; const { blockSeparator = "\n\n", textSerializers = {} } = options4 || {}; let text2 = ""; - startNode.nodesBetween(from2, to, (node3, pos2, parent, index2) => { + startNode.nodesBetween(from2, to, (node3, pos, parent, index2) => { var _a2; - if (node3.isBlock && pos2 > from2) { + if (node3.isBlock && pos > from2) { text2 += blockSeparator; } const textSerializer = textSerializers === null || textSerializers === void 0 ? void 0 : textSerializers[node3.type.name]; @@ -174672,7 +175977,7 @@ function getTextBetween(startNode, range2, options4) { if (parent) { text2 += textSerializer({ node: node3, - pos: pos2, + pos, parent, index: index2, range: range2 @@ -174681,7 +175986,7 @@ function getTextBetween(startNode, range2, options4) { return false; } if (node3.isText) { - text2 += (_a2 = node3 === null || node3 === void 0 ? void 0 : node3.text) === null || _a2 === void 0 ? void 0 : _a2.slice(Math.max(from2, pos2) - pos2, to - pos2); + text2 += (_a2 = node3 === null || node3 === void 0 ? void 0 : node3.text) === null || _a2 === void 0 ? void 0 : _a2.slice(Math.max(from2, pos) - pos, to - pos); } }); return text2; @@ -174742,13 +176047,13 @@ const clearNodes = /* @__PURE__ */ __name(() => ({ state, tr: tr2, dispatch }) = return true; } ranges.forEach(({ $from, $to }) => { - state.doc.nodesBetween($from.pos, $to.pos, (node3, pos2) => { + state.doc.nodesBetween($from.pos, $to.pos, (node3, pos) => { if (node3.type.isText) { return; } const { doc: doc2, mapping } = tr2; - const $mappedFrom = doc2.resolve(mapping.map(pos2)); - const $mappedTo = doc2.resolve(mapping.map(pos2 + node3.nodeSize)); + const $mappedFrom = doc2.resolve(mapping.map(pos)); + const $mappedTo = doc2.resolve(mapping.map(pos + node3.nodeSize)); const nodeRange = $mappedFrom.blockRange($mappedTo); if (!nodeRange) { return; @@ -175332,12 +176637,12 @@ function isNodeActive(state, typeOrName, attributes = {}) { const { from: from2, to, empty: empty3 } = state.selection; const type = typeOrName ? getNodeType(typeOrName, state.schema) : null; const nodeRanges = []; - state.doc.nodesBetween(from2, to, (node3, pos2) => { + state.doc.nodesBetween(from2, to, (node3, pos) => { if (node3.isText) { return; } - const relativeFrom = Math.max(from2, pos2); - const relativeTo = Math.min(to, pos2 + node3.nodeSize); + const relativeFrom = Math.max(from2, pos); + const relativeTo = Math.min(to, pos + node3.nodeSize); nodeRanges.push({ node: node3, from: relativeFrom, @@ -175411,14 +176716,14 @@ const resetAttributes = /* @__PURE__ */ __name((typeOrName, attributes) => ({ tr } if (dispatch) { tr2.selection.ranges.forEach((range2) => { - state.doc.nodesBetween(range2.$from.pos, range2.$to.pos, (node3, pos2) => { + state.doc.nodesBetween(range2.$from.pos, range2.$to.pos, (node3, pos) => { if (nodeType && nodeType === node3.type) { - tr2.setNodeMarkup(pos2, void 0, deleteProps(node3.attrs, attributes)); + tr2.setNodeMarkup(pos, void 0, deleteProps(node3.attrs, attributes)); } if (markType && node3.marks.length) { node3.marks.forEach((mark2) => { if (markType === mark2.type) { - tr2.addMark(pos2, pos2 + node3.nodeSize, markType.create(deleteProps(mark2.attrs, attributes))); + tr2.addMark(pos, pos + node3.nodeSize, markType.create(deleteProps(mark2.attrs, attributes))); } }); } @@ -175525,11 +176830,11 @@ function defaultBlockAt(match2) { __name(defaultBlockAt, "defaultBlockAt"); function findChildren(node3, predicate) { const nodesWithPos = []; - node3.descendants((child, pos2) => { + node3.descendants((child, pos) => { if (predicate(child)) { nodesWithPos.push({ node: child, - pos: pos2 + pos }); } }); @@ -175538,11 +176843,11 @@ function findChildren(node3, predicate) { __name(findChildren, "findChildren"); function findChildrenInRange(node3, range2, predicate) { const nodesWithPos = []; - node3.nodesBetween(range2.from, range2.to, (child, pos2) => { + node3.nodesBetween(range2.from, range2.to, (child, pos) => { if (predicate(child)) { nodesWithPos.push({ node: child, - pos: pos2 + pos }); } }); @@ -175738,13 +177043,13 @@ function getMarksBetween(from2, to, doc2) { }); }); } else { - doc2.nodesBetween(from2, to, (node3, pos2) => { + doc2.nodesBetween(from2, to, (node3, pos) => { if (!node3 || (node3 === null || node3 === void 0 ? void 0 : node3.nodeSize) === void 0) { return; } marks.push(...node3.marks.map((mark2) => ({ - from: pos2, - to: pos2 + node3.nodeSize, + from: pos, + to: pos + node3.nodeSize, mark: mark2 }))); }); @@ -175752,8 +177057,8 @@ function getMarksBetween(from2, to, doc2) { return marks; } __name(getMarksBetween, "getMarksBetween"); -const getNodeAtPosition = /* @__PURE__ */ __name((state, typeOrName, pos2, maxDepth = 20) => { - const $pos = state.doc.resolve(pos2); +const getNodeAtPosition = /* @__PURE__ */ __name((state, typeOrName, pos, maxDepth = 20) => { + const $pos = state.doc.resolve(pos); let currentDepth = maxDepth; let node3 = null; while (currentDepth > 0 && node3 === null) { @@ -175794,12 +177099,12 @@ function isMarkActive(state, typeOrName, attributes = {}) { ranges.forEach(({ $from, $to }) => { const from2 = $from.pos; const to = $to.pos; - state.doc.nodesBetween(from2, to, (node3, pos2) => { + state.doc.nodesBetween(from2, to, (node3, pos) => { if (!node3.isText && !node3.marks.length) { return; } - const relativeFrom = Math.max(from2, pos2); - const relativeTo = Math.min(to, pos2 + node3.nodeSize); + const relativeFrom = Math.max(from2, pos); + const relativeTo = Math.min(to, pos + node3.nodeSize); const range3 = relativeTo - relativeFrom; selectionRange += range3; markRanges.push(...node3.marks.map((mark2) => ({ @@ -175998,9 +177303,9 @@ const setMark = /* @__PURE__ */ __name((typeOrName, attributes = {}) => ({ tr: t ranges.forEach((range2) => { const from2 = range2.$from.pos; const to = range2.$to.pos; - state.doc.nodesBetween(from2, to, (node3, pos2) => { - const trimmedFrom = Math.max(pos2, from2); - const trimmedTo = Math.min(pos2 + node3.nodeSize, to); + state.doc.nodesBetween(from2, to, (node3, pos) => { + const trimmedFrom = Math.max(pos, from2); + const trimmedTo = Math.min(pos + node3.nodeSize, to); const someHasMark = node3.marks.find((mark2) => mark2.type === type); if (someHasMark) { node3.marks.forEach((mark2) => { @@ -176170,12 +177475,12 @@ const splitListItem = /* @__PURE__ */ __name((typeOrName, overrideAttrs = {}) => const start2 = $from.before($from.depth - (depthBefore - 1)); tr2.replace(start2, $from.after(-depthAfter), new Slice(wrap2, 4 - depthBefore, 0)); let sel = -1; - tr2.doc.nodesBetween(start2, tr2.doc.content.size, (n2, pos2) => { + tr2.doc.nodesBetween(start2, tr2.doc.content.size, (n2, pos) => { if (sel > -1) { return false; } if (n2.isTextblock && n2.content.size === 0) { - sel = pos2 + 1; + sel = pos + 1; } }); if (sel > -1) { @@ -176406,25 +177711,25 @@ const updateAttributes = /* @__PURE__ */ __name((typeOrName, attributes = {}) => let trimmedFrom; let trimmedTo; if (tr2.selection.empty) { - state.doc.nodesBetween(from2, to, (node3, pos2) => { + state.doc.nodesBetween(from2, to, (node3, pos) => { if (nodeType && nodeType === node3.type) { - trimmedFrom = Math.max(pos2, from2); - trimmedTo = Math.min(pos2 + node3.nodeSize, to); - lastPos = pos2; + trimmedFrom = Math.max(pos, from2); + trimmedTo = Math.min(pos + node3.nodeSize, to); + lastPos = pos; lastNode = node3; } }); } else { - state.doc.nodesBetween(from2, to, (node3, pos2) => { - if (pos2 < from2 && nodeType && nodeType === node3.type) { - trimmedFrom = Math.max(pos2, from2); - trimmedTo = Math.min(pos2 + node3.nodeSize, to); - lastPos = pos2; + state.doc.nodesBetween(from2, to, (node3, pos) => { + if (pos < from2 && nodeType && nodeType === node3.type) { + trimmedFrom = Math.max(pos, from2); + trimmedTo = Math.min(pos + node3.nodeSize, to); + lastPos = pos; lastNode = node3; } - if (pos2 >= from2 && pos2 <= to) { + if (pos >= from2 && pos <= to) { if (nodeType && nodeType === node3.type) { - tr2.setNodeMarkup(pos2, void 0, { + tr2.setNodeMarkup(pos, void 0, { ...node3.attrs, ...attributes }); @@ -176432,8 +177737,8 @@ const updateAttributes = /* @__PURE__ */ __name((typeOrName, attributes = {}) => if (markType && node3.marks.length) { node3.marks.forEach((mark2) => { if (markType === mark2.type) { - const trimmedFrom2 = Math.max(pos2, from2); - const trimmedTo2 = Math.min(pos2 + node3.nodeSize, to); + const trimmedFrom2 = Math.max(pos, from2); + const trimmedTo2 = Math.min(pos + node3.nodeSize, to); tr2.addMark(trimmedFrom2, trimmedTo2, markType.create({ ...mark2.attrs, ...attributes @@ -176612,11 +177917,11 @@ const Keymap = Extension.create({ () => commands2.command(({ tr: tr2 }) => { const { selection, doc: doc2 } = tr2; const { empty: empty3, $anchor } = selection; - const { pos: pos2, parent } = $anchor; - const $parentPos = $anchor.parent.isTextblock && pos2 > 0 ? tr2.doc.resolve(pos2 - 1) : $anchor; + const { pos, parent } = $anchor; + const $parentPos = $anchor.parent.isTextblock && pos > 0 ? tr2.doc.resolve(pos - 1) : $anchor; const parentIsIsolating = $parentPos.parent.type.spec.isolating; const parentPos = $anchor.pos - $anchor.parentOffset; - const isAtStart = parentIsIsolating && $parentPos.parent.childCount === 1 ? parentPos === $anchor.pos : Selection.atStart(doc2).from === pos2; + const isAtStart = parentIsIsolating && $parentPos.parent.childCount === 1 ? parentPos === $anchor.pos : Selection.atStart(doc2).from === pos; if (!empty3 || !parent.type.isTextblock || parent.textContent.length || !isAtStart || isAtStart && $anchor.parent.type.name === "paragraph") { return false; } @@ -176762,11 +178067,11 @@ class NodePos { get name() { return this.node.type.name; } - constructor(pos2, editor, isBlock = false, node3 = null) { + constructor(pos, editor, isBlock = false, node3 = null) { this.currentNode = null; this.actualDepth = null; this.isBlock = isBlock; - this.resolvedPos = pos2; + this.resolvedPos = pos; this.editor = editor; this.currentNode = node3; } @@ -177452,8 +178757,8 @@ class Editor extends EventEmitter { var _a2; return ((_a2 = this.$doc) === null || _a2 === void 0 ? void 0 : _a2.querySelectorAll(selector, attributes)) || null; } - $pos(pos2) { - const $pos = this.state.doc.resolve(pos2); + $pos(pos) { + const $pos = this.state.doc.resolve(pos); return new NodePos($pos, this); } get $doc() { @@ -177713,11 +179018,11 @@ class NodeView { y2 = handleBox.y - domBox.y + offsetY; } (_g = event.dataTransfer) === null || _g === void 0 ? void 0 : _g.setDragImage(this.dom, x2, y2); - const pos2 = this.getPos(); - if (typeof pos2 !== "number") { + const pos = this.getPos(); + if (typeof pos !== "number") { return; } - const selection = NodeSelection.create(view.state.doc, pos2); + const selection = NodeSelection.create(view.state.doc, pos); const transaction = view.state.tr.setSelection(selection); view.dispatch(transaction); } @@ -177816,11 +179121,11 @@ class NodeView { */ updateAttributes(attributes) { this.editor.commands.command(({ tr: tr2 }) => { - const pos2 = this.getPos(); - if (typeof pos2 !== "number") { + const pos = this.getPos(); + if (typeof pos !== "number") { return false; } - tr2.setNodeMarkup(pos2, void 0, { + tr2.setNodeMarkup(pos, void 0, { ...this.node.attrs, ...attributes }); @@ -179268,7 +180573,7 @@ function clickHandler(options4) { return new Plugin({ key: new PluginKey("handleClickLink"), props: { - handleClick: /* @__PURE__ */ __name((view, pos2, event) => { + handleClick: /* @__PURE__ */ __name((view, pos, event) => { var _a2, _b; if (event.button !== 0) { return false; @@ -179578,10 +180883,10 @@ var TableMap = class { this.problems = problems; } // Find the dimensions of the cell at the given position. - findCell(pos2) { + findCell(pos) { for (let i2 = 0; i2 < this.map.length; i2++) { const curPos = this.map[i2]; - if (curPos != pos2) + if (curPos != pos) continue; const left = i2 % this.width; const top = i2 / this.width | 0; @@ -179595,21 +180900,21 @@ var TableMap = class { } return { left, top, right, bottom }; } - throw new RangeError(`No cell with offset ${pos2} found`); + throw new RangeError(`No cell with offset ${pos} found`); } // Find the left side of the cell at the given position. - colCount(pos2) { + colCount(pos) { for (let i2 = 0; i2 < this.map.length; i2++) { - if (this.map[i2] == pos2) { + if (this.map[i2] == pos) { return i2 % this.width; } } - throw new RangeError(`No cell with offset ${pos2} found`); + throw new RangeError(`No cell with offset ${pos} found`); } // Find the next cell in the given direction, starting from the cell // at `pos`, if any. - nextCell(pos2, axis, dir) { - const { left, right, top, bottom } = this.findCell(pos2); + nextCell(pos, axis, dir) { + const { left, right, top, bottom } = this.findCell(pos); if (axis == "horiz") { if (dir < 0 ? left == 0 : right == this.width) return null; @@ -179649,14 +180954,14 @@ var TableMap = class { for (let row = rect.top; row < rect.bottom; row++) { for (let col = rect.left; col < rect.right; col++) { const index2 = row * this.width + col; - const pos2 = this.map[index2]; - if (seen2[pos2]) + const pos = this.map[index2]; + if (seen2[pos]) continue; - seen2[pos2] = true; - if (col == rect.left && col && this.map[index2 - 1] == pos2 || row == rect.top && row && this.map[index2 - this.width] == pos2) { + seen2[pos] = true; + if (col == rect.left && col && this.map[index2 - 1] == pos || row == rect.top && row && this.map[index2 - this.width] == pos) { continue; } - result.push(pos2); + result.push(pos); } } return result; @@ -179691,9 +180996,9 @@ function computeMap(table2) { const colWidths = []; for (let i2 = 0, e2 = width2 * height; i2 < e2; i2++) map3[i2] = 0; - for (let row = 0, pos2 = 0; row < height; row++) { + for (let row = 0, pos = 0; row < height; row++) { const rowNode = table2.child(row); - pos2++; + pos++; for (let i2 = 0; ; i2++) { while (mapPos < map3.length && map3[mapPos] != 0) mapPos++; @@ -179705,7 +181010,7 @@ function computeMap(table2) { if (h2 + row >= height) { (problems || (problems = [])).push({ type: "overlong_rowspan", - pos: pos2, + pos, n: rowspan - h2 }); break; @@ -179713,12 +181018,12 @@ function computeMap(table2) { const start2 = mapPos + h2 * width2; for (let w2 = 0; w2 < colspan; w2++) { if (map3[start2 + w2] == 0) - map3[start2 + w2] = pos2; + map3[start2 + w2] = pos; else (problems || (problems = [])).push({ type: "collision", row, - pos: pos2, + pos, n: colspan - w2 }); const colW = colwidth && colwidth[w2]; @@ -179734,7 +181039,7 @@ function computeMap(table2) { } } mapPos += colspan; - pos2 += cellNode.nodeSize; + pos += cellNode.nodeSize; } const expectedPos = (row + 1) * width2; let missing = 0; @@ -179743,7 +181048,7 @@ function computeMap(table2) { missing++; if (missing) (problems || (problems = [])).push({ type: "missing", row, n: missing }); - pos2++; + pos++; } const tableMap = new TableMap(width2, height, map3, problems); let badWidths = false; @@ -179789,13 +181094,13 @@ function findBadColWidths(map3, colWidths, table2) { map3.problems = []; const seen2 = {}; for (let i2 = 0; i2 < map3.map.length; i2++) { - const pos2 = map3.map[i2]; - if (seen2[pos2]) + const pos = map3.map[i2]; + if (seen2[pos]) continue; - seen2[pos2] = true; - const node3 = table2.nodeAt(pos2); + seen2[pos] = true; + const node3 = table2.nodeAt(pos); if (!node3) { - throw new RangeError(`No cell with offset ${pos2} found`); + throw new RangeError(`No cell with offset ${pos} found`); } let updated15 = null; const attrs6 = node3.attrs; @@ -179808,7 +181113,7 @@ function findBadColWidths(map3, colWidths, table2) { if (updated15) map3.problems.unshift({ type: "colwidth mismatch", - pos: pos2, + pos, colwidth: updated15 }); } @@ -179969,15 +181274,15 @@ function selectionCell(state) { } __name(selectionCell, "selectionCell"); function cellNear($pos) { - for (let after = $pos.nodeAfter, pos2 = $pos.pos; after; after = after.firstChild, pos2++) { + for (let after = $pos.nodeAfter, pos = $pos.pos; after; after = after.firstChild, pos++) { const role = after.type.spec.tableRole; if (role == "cell" || role == "header_cell") - return $pos.doc.resolve(pos2); + return $pos.doc.resolve(pos); } - for (let before = $pos.nodeBefore, pos2 = $pos.pos; before; before = before.lastChild, pos2--) { + for (let before = $pos.nodeBefore, pos = $pos.pos; before; before = before.lastChild, pos--) { const role = before.type.spec.tableRole; if (role == "cell" || role == "header_cell") - return $pos.doc.resolve(pos2 - before.nodeSize); + return $pos.doc.resolve(pos - before.nodeSize); } } __name(cellNear, "cellNear"); @@ -180009,23 +181314,23 @@ function nextCell($pos, axis, dir) { return moved == null ? null : $pos.node(0).resolve(tableStart + moved); } __name(nextCell, "nextCell"); -function removeColSpan(attrs6, pos2, n2 = 1) { +function removeColSpan(attrs6, pos, n2 = 1) { const result = { ...attrs6, colspan: attrs6.colspan - n2 }; if (result.colwidth) { result.colwidth = result.colwidth.slice(); - result.colwidth.splice(pos2, n2); + result.colwidth.splice(pos, n2); if (!result.colwidth.some((w2) => w2 > 0)) result.colwidth = null; } return result; } __name(removeColSpan, "removeColSpan"); -function addColSpan(attrs6, pos2, n2 = 1) { +function addColSpan(attrs6, pos, n2 = 1) { const result = { ...attrs6, colspan: attrs6.colspan + n2 }; if (result.colwidth) { result.colwidth = result.colwidth.slice(); for (let i2 = 0; i2 < n2; i2++) - result.colwidth.splice(pos2, 0, 0); + result.colwidth.splice(pos, 0, 0); } return result; } @@ -180057,12 +181362,12 @@ var CellSelection = class _CellSelection extends Selection { const doc2 = $anchorCell.node(0); const cells = map3.cellsInRect(rect).filter((p2) => p2 != $headCell.pos - tableStart); cells.unshift($headCell.pos - tableStart); - const ranges = cells.map((pos2) => { - const cell = table2.nodeAt(pos2); + const ranges = cells.map((pos) => { + const cell = table2.nodeAt(pos); if (!cell) { - throw RangeError(`No cell with offset ${pos2} found`); + throw RangeError(`No cell with offset ${pos} found`); } - const from2 = tableStart + pos2 + 1; + const from2 = tableStart + pos + 1; return new SelectionRange( doc2.resolve(from2), doc2.resolve(from2 + cell.content.size) @@ -180101,14 +181406,14 @@ var CellSelection = class _CellSelection extends Selection { for (let row = rect.top; row < rect.bottom; row++) { const rowContent = []; for (let index2 = row * map3.width + rect.left, col = rect.left; col < rect.right; col++, index2++) { - const pos2 = map3.map[index2]; - if (seen2[pos2]) + const pos = map3.map[index2]; + if (seen2[pos]) continue; - seen2[pos2] = true; - const cellRect = map3.findCell(pos2); - let cell = table2.nodeAt(pos2); + seen2[pos] = true; + const cellRect = map3.findCell(pos); + let cell = table2.nodeAt(pos); if (!cell) { - throw RangeError(`No cell with offset ${pos2} found`); + throw RangeError(`No cell with offset ${pos} found`); } const extraLeft = rect.left - cellRect.left; const extraRight = cellRect.right - rect.right; @@ -180311,9 +181616,9 @@ function drawCellSelection(state) { if (!(state.selection instanceof CellSelection)) return null; const cells = []; - state.selection.forEachCell((node3, pos2) => { + state.selection.forEachCell((node3, pos) => { cells.push( - Decoration.node(pos2, pos2 + node3.nodeSize, { class: "selectedCell" }) + Decoration.node(pos, pos + node3.nodeSize, { class: "selectedCell" }) ); }); return DecorationSet.create(state.doc, cells); @@ -180405,9 +181710,9 @@ function changedDescendants(old, cur, offset, f2) { __name(changedDescendants, "changedDescendants"); function fixTables(state, oldState) { let tr2; - const check = /* @__PURE__ */ __name((node3, pos2) => { + const check = /* @__PURE__ */ __name((node3, pos) => { if (node3.type.spec.tableRole == "table") - tr2 = fixTable(state, node3, pos2, tr2); + tr2 = fixTable(state, node3, pos, tr2); }, "check"); if (!oldState) state.doc.descendants(check); @@ -180466,9 +181771,9 @@ function fixTable(state, table2, tablePos, tr2) { first2 = i2; last = i2; } - for (let i2 = 0, pos2 = tablePos + 1; i2 < map3.height; i2++) { + for (let i2 = 0, pos = tablePos + 1; i2 < map3.height; i2++) { const row = table2.child(i2); - const end = pos2 + row.nodeSize; + const end = pos + row.nodeSize; const add3 = mustAdd[i2]; if (add3 > 0) { let role = "cell"; @@ -180481,10 +181786,10 @@ function fixTable(state, table2, tablePos, tr2) { if (node3) nodes.push(node3); } - const side = (i2 == 0 || first2 == i2 - 1) && last == i2 ? pos2 + 1 : end - 1; + const side = (i2 == 0 || first2 == i2 - 1) && last == i2 ? pos + 1 : end - 1; tr2.insert(tr2.mapping.map(side), nodes); } - pos2 = end; + pos = end; } return tr2.setMeta(fixTablesKey, { fixTables: true }); } @@ -180510,18 +181815,18 @@ function addColumn(tr2, { map: map3, tableStart, table: table2 }, col) { for (let row = 0; row < map3.height; row++) { const index2 = row * map3.width + col; if (col > 0 && col < map3.width && map3.map[index2 - 1] == map3.map[index2]) { - const pos2 = map3.map[index2]; - const cell = table2.nodeAt(pos2); + const pos = map3.map[index2]; + const cell = table2.nodeAt(pos); tr2.setNodeMarkup( - tr2.mapping.map(tableStart + pos2), + tr2.mapping.map(tableStart + pos), null, - addColSpan(cell.attrs, col - map3.colCount(pos2)) + addColSpan(cell.attrs, col - map3.colCount(pos)) ); row += cell.attrs.rowspan - 1; } else { const type = refColumn == null ? tableNodeTypes(table2.type.schema).cell : table2.nodeAt(map3.map[index2 + refColumn]).type; - const pos2 = map3.positionAt(row, col, table2); - tr2.insert(tr2.mapping.map(tableStart + pos2), type.createAndFill()); + const pos = map3.positionAt(row, col, table2); + tr2.insert(tr2.mapping.map(tableStart + pos), type.createAndFill()); } } return tr2; @@ -180551,17 +181856,17 @@ function removeColumn(tr2, { map: map3, table: table2, tableStart }, col) { const mapStart = tr2.mapping.maps.length; for (let row = 0; row < map3.height; ) { const index2 = row * map3.width + col; - const pos2 = map3.map[index2]; - const cell = table2.nodeAt(pos2); + const pos = map3.map[index2]; + const cell = table2.nodeAt(pos); const attrs6 = cell.attrs; - if (col > 0 && map3.map[index2 - 1] == pos2 || col < map3.width - 1 && map3.map[index2 + 1] == pos2) { + if (col > 0 && map3.map[index2 - 1] == pos || col < map3.width - 1 && map3.map[index2 + 1] == pos) { tr2.setNodeMarkup( - tr2.mapping.slice(mapStart).map(tableStart + pos2), + tr2.mapping.slice(mapStart).map(tableStart + pos), null, - removeColSpan(attrs6, col - map3.colCount(pos2)) + removeColSpan(attrs6, col - map3.colCount(pos)) ); } else { - const start2 = tr2.mapping.slice(mapStart).map(tableStart + pos2); + const start2 = tr2.mapping.slice(mapStart).map(tableStart + pos); tr2.delete(start2, start2 + cell.nodeSize); } row += attrs6.rowspan; @@ -180612,9 +181917,9 @@ function addRow(tr2, { map: map3, tableStart, table: table2 }, row) { refRow = row == 0 || row == map3.height ? null : 0; for (let col = 0, index2 = map3.width * row; col < map3.width; col++, index2++) { if (row > 0 && row < map3.height && map3.map[index2] == map3.map[index2 - map3.width]) { - const pos2 = map3.map[index2]; - const attrs6 = table2.nodeAt(pos2).attrs; - tr2.setNodeMarkup(tableStart + pos2, null, { + const pos = map3.map[index2]; + const attrs6 = table2.nodeAt(pos).attrs; + tr2.setNodeMarkup(tableStart + pos, null, { ...attrs6, rowspan: attrs6.rowspan + 1 }); @@ -180659,19 +181964,19 @@ function removeRow(tr2, { map: map3, table: table2, tableStart }, row) { tr2.delete(rowPos + tableStart, nextRow + tableStart); const seen2 = /* @__PURE__ */ new Set(); for (let col = 0, index2 = row * map3.width; col < map3.width; col++, index2++) { - const pos2 = map3.map[index2]; - if (seen2.has(pos2)) + const pos = map3.map[index2]; + if (seen2.has(pos)) continue; - seen2.add(pos2); - if (row > 0 && pos2 == map3.map[index2 - map3.width]) { - const attrs6 = table2.nodeAt(pos2).attrs; - tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos2 + tableStart), null, { + seen2.add(pos); + if (row > 0 && pos == map3.map[index2 - map3.width]) { + const attrs6 = table2.nodeAt(pos).attrs; + tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos + tableStart), null, { ...attrs6, rowspan: attrs6.rowspan - 1 }); col += attrs6.colspan - 1; - } else if (row < map3.height && pos2 == map3.map[index2 + map3.width]) { - const cell = table2.nodeAt(pos2); + } else if (row < map3.height && pos == map3.map[index2 + map3.width]) { + const cell = table2.nodeAt(pos); const attrs6 = cell.attrs; const copy2 = cell.type.create( { ...attrs6, rowspan: cell.attrs.rowspan - 1 }, @@ -180833,14 +182138,14 @@ function splitCellWithType(getCellType) { ); let lastCell; for (let row = rect.top; row < rect.bottom; row++) { - let pos2 = rect.map.positionAt(row, rect.left, rect.table); + let pos = rect.map.positionAt(row, rect.left, rect.table); if (row == rect.top) - pos2 += cellNode.nodeSize; + pos += cellNode.nodeSize; for (let col = rect.left, i2 = 0; col < rect.right; col++, i2++) { if (col == rect.left && row == rect.top) continue; tr2.insert( - lastCell = tr2.mapping.map(pos2 + rect.tableStart, 1), + lastCell = tr2.mapping.map(pos + rect.tableStart, 1), getCellType({ node: cellNode, row, col }).createAndFill(attrs6[i2]) ); } @@ -180873,9 +182178,9 @@ function setCellAttr(name2, value4) { if (dispatch) { const tr2 = state.tr; if (state.selection instanceof CellSelection) - state.selection.forEachCell((node3, pos2) => { + state.selection.forEachCell((node3, pos) => { if (node3.attrs[name2] !== value4) - tr2.setNodeMarkup(pos2, null, { + tr2.setNodeMarkup(pos, null, { ...node3.attrs, [name2]: value4 }); @@ -180911,7 +182216,7 @@ function deprecated_toggleHeader(type) { bottom: rect.bottom } : rect ); - const nodes = cells.map((pos2) => rect.table.nodeAt(pos2)); + const nodes = cells.map((pos) => rect.table.nodeAt(pos)); for (let i2 = 0; i2 < cells.length; i2++) if (nodes[i2].type == types.header_cell) tr2.setNodeMarkup( @@ -181067,11 +182372,11 @@ function deleteCellSelection(state, dispatch) { if (dispatch) { const tr2 = state.tr; const baseContent = tableNodeTypes(state.schema).cell.createAndFill().content; - sel.forEachCell((cell, pos2) => { + sel.forEachCell((cell, pos) => { if (!cell.content.eq(baseContent)) tr2.replace( - tr2.mapping.map(pos2 + 1), - tr2.mapping.map(pos2 + cell.nodeSize - 1), + tr2.mapping.map(pos + 1), + tr2.mapping.map(pos + cell.nodeSize - 1), new Slice(baseContent, 0, 0) ); }); @@ -181244,12 +182549,12 @@ function isolateHorizontal(tr2, map3, table2, start2, left, right, top, mapFrom) return false; let found2 = false; for (let col = left; col < right; col++) { - const index2 = top * map3.width + col, pos2 = map3.map[index2]; - if (map3.map[index2 - map3.width] == pos2) { + const index2 = top * map3.width + col, pos = map3.map[index2]; + if (map3.map[index2 - map3.width] == pos) { found2 = true; - const cell = table2.nodeAt(pos2); - const { top: cellTop, left: cellLeft } = map3.findCell(pos2); - tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos2 + start2), null, { + const cell = table2.nodeAt(pos); + const { top: cellTop, left: cellLeft } = map3.findCell(pos); + tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos + start2), null, { ...cell.attrs, rowspan: top - cellTop }); @@ -181271,12 +182576,12 @@ function isolateVertical(tr2, map3, table2, start2, top, bottom, left, mapFrom) return false; let found2 = false; for (let row = top; row < bottom; row++) { - const index2 = row * map3.width + left, pos2 = map3.map[index2]; - if (map3.map[index2 - 1] == pos2) { + const index2 = row * map3.width + left, pos = map3.map[index2]; + if (map3.map[index2 - 1] == pos) { found2 = true; - const cell = table2.nodeAt(pos2); - const cellLeft = map3.colCount(pos2); - const updatePos = tr2.mapping.slice(mapFrom).map(pos2 + start2); + const cell = table2.nodeAt(pos); + const cellLeft = map3.colCount(pos); + const updatePos = tr2.mapping.slice(mapFrom).map(pos + start2); tr2.setNodeMarkup( updatePos, null, @@ -181430,8 +182735,8 @@ function shiftArrow(axis, dir) { }; } __name(shiftArrow, "shiftArrow"); -function handleTripleClick(view, pos2) { - const doc2 = view.state.doc, $cell = cellAround(doc2.resolve(pos2)); +function handleTripleClick(view, pos) { + const doc2 = view.state.doc, $cell = cellAround(doc2.resolve(pos)); if (!$cell) return false; view.dispatch(view.state.tr.setSelection(new CellSelection($cell))); @@ -181858,8 +183163,8 @@ function edgeCell(view, event, side, handleWidth) { }); if (!found2) return -1; - const { pos: pos2 } = found2; - const $cell = cellAround(view.state.doc.resolve(pos2)); + const { pos } = found2; + const $cell = cellAround(view.state.doc.resolve(pos)); if (!$cell) return -1; if (side == "right") @@ -181889,14 +183194,14 @@ function updateColumnWidth(view, cell, width2) { const mapIndex = row * map3.width + col; if (row && map3.map[mapIndex] == map3.map[mapIndex - map3.width]) continue; - const pos2 = map3.map[mapIndex]; - const attrs6 = table2.nodeAt(pos2).attrs; - const index2 = attrs6.colspan == 1 ? 0 : col - map3.colCount(pos2); + const pos = map3.map[mapIndex]; + const attrs6 = table2.nodeAt(pos).attrs; + const index2 = attrs6.colspan == 1 ? 0 : col - map3.colCount(pos); if (attrs6.colwidth && attrs6.colwidth[index2] == width2) continue; const colwidth = attrs6.colwidth ? attrs6.colwidth.slice() : zeroes(attrs6.colspan); colwidth[index2] = width2; - tr2.setNodeMarkup(start2 + pos2, null, { ...attrs6, colwidth }); + tr2.setNodeMarkup(start2 + pos, null, { ...attrs6, colwidth }); } if (tr2.docChanged) view.dispatch(tr2); @@ -181941,7 +183246,7 @@ function handleDecorations(state, cell) { const index2 = col + row * map3.width; if ((col == map3.width - 1 || map3.map[index2] != map3.map[index2 + 1]) && (row == 0 || map3.map[index2] != map3.map[index2 - map3.width])) { const cellPos = map3.map[index2]; - const pos2 = start2 + cellPos + table2.nodeAt(cellPos).nodeSize - 1; + const pos = start2 + cellPos + table2.nodeAt(cellPos).nodeSize - 1; const dom = document.createElement("div"); dom.className = "column-resize-handle"; if ((_a2 = columnResizingPluginKey.getState(state)) == null ? void 0 : _a2.dragging) { @@ -181955,7 +183260,7 @@ function handleDecorations(state, cell) { ) ); } - decorations.push(Decoration.widget(pos2, dom)); + decorations.push(Decoration.widget(pos, dom)); } } return DecorationSet.create(state.doc, decorations); @@ -181979,8 +183284,8 @@ function tableEditing({ return set3 == -1 ? null : set3; if (cur == null || !tr2.docChanged) return cur; - const { deleted, pos: pos2 } = tr2.mapping.mapResult(cur); - return deleted ? null : pos2; + const { deleted, pos } = tr2.mapping.mapResult(cur); + return deleted ? null : pos; } }, props: { @@ -182906,11 +184211,11 @@ class DropCursorView { this.updateOverlay(); } } - setCursor(pos2) { - if (pos2 == this.cursorPos) + setCursor(pos) { + if (pos == this.cursorPos) return; - this.cursorPos = pos2; - if (pos2 == null) { + this.cursorPos = pos; + if (pos == null) { this.element.parentNode.removeChild(this.element); this.element = null; } else { @@ -182970,12 +184275,12 @@ class DropCursorView { dragover(event) { if (!this.editorView.editable) return; - let pos2 = this.editorView.posAtCoords({ left: event.clientX, top: event.clientY }); - let node3 = pos2 && pos2.inside >= 0 && this.editorView.state.doc.nodeAt(pos2.inside); + let pos = this.editorView.posAtCoords({ left: event.clientX, top: event.clientY }); + let node3 = pos && pos.inside >= 0 && this.editorView.state.doc.nodeAt(pos.inside); let disableDropCursor = node3 && node3.type.spec.disableDropCursor; - let disabled2 = typeof disableDropCursor == "function" ? disableDropCursor(this.editorView, pos2, event) : disableDropCursor; - if (pos2 && !disabled2) { - let target2 = pos2.pos; + let disabled2 = typeof disableDropCursor == "function" ? disableDropCursor(this.editorView, pos, event) : disableDropCursor; + if (pos && !disabled2) { + let target2 = pos.pos; if (this.editorView.dragging && this.editorView.dragging.slice) { let point = dropPoint(this.editorView.state.doc, target2, this.editorView.dragging.slice); if (point != null) @@ -183068,7 +184373,7 @@ class GapCursor extends Selection { search: for (; ; ) { if (!mustMove && GapCursor.valid($pos)) return $pos; - let pos2 = $pos.pos, next2 = null; + let pos = $pos.pos, next2 = null; for (let d2 = $pos.depth; ; d2--) { let parent = $pos.node(d2); if (dir > 0 ? $pos.indexAfter(d2) < parent.childCount : $pos.index(d2) > 0) { @@ -183077,8 +184382,8 @@ class GapCursor extends Selection { } else if (d2 == 0) { return null; } - pos2 += dir; - let $cur = $pos.doc.resolve(pos2); + pos += dir; + let $cur = $pos.doc.resolve(pos); if (GapCursor.valid($cur)) return $cur; } @@ -183086,15 +184391,15 @@ class GapCursor extends Selection { let inside = dir > 0 ? next2.firstChild : next2.lastChild; if (!inside) { if (next2.isAtom && !next2.isText && !NodeSelection.isSelectable(next2)) { - $pos = $pos.doc.resolve(pos2 + next2.nodeSize * dir); + $pos = $pos.doc.resolve(pos + next2.nodeSize * dir); mustMove = false; continue search; } break; } next2 = inside; - pos2 += dir; - let $cur = $pos.doc.resolve(pos2); + pos += dir; + let $cur = $pos.doc.resolve(pos); if (GapCursor.valid($cur)) return $cur; } @@ -183109,8 +184414,8 @@ class GapBookmark { static { __name(this, "GapBookmark"); } - constructor(pos2) { - this.pos = pos2; + constructor(pos) { + this.pos = pos; } map(mapping) { return new GapBookmark(mapping.map(this.pos)); @@ -183196,10 +184501,10 @@ function arrow(axis, dir) { }; } __name(arrow, "arrow"); -function handleClick(view, pos2, event) { +function handleClick(view, pos, event) { if (!view || !view.editable) return false; - let $pos = view.state.doc.resolve(pos2); + let $pos = view.state.doc.resolve(pos); if (!GapCursor.valid($pos)) return false; let clickPos = view.posAtCoords({ left: event.clientX, top: event.clientY }); @@ -183675,14 +184980,14 @@ class Branch { }, start2); let iRebased = rebasedCount; this.items.forEach((item3) => { - let pos2 = mapping.getMirror(--iRebased); - if (pos2 == null) + let pos = mapping.getMirror(--iRebased); + if (pos == null) return; - newUntil = Math.min(newUntil, pos2); - let map3 = mapping.maps[pos2]; + newUntil = Math.min(newUntil, pos); + let map3 = mapping.maps[pos]; if (item3.step) { - let step3 = rebasedTransform.steps[pos2].invert(rebasedTransform.docs[pos2]); - let selection = item3.selection && item3.selection.map(mapping.slice(iRebased + 1, pos2)); + let step3 = rebasedTransform.steps[pos].invert(rebasedTransform.docs[pos]); + let selection = item3.selection && item3.selection.map(mapping.slice(iRebased + 1, pos)); if (selection) eventCount++; rebasedItems.push(new Item(map3, step3, selection)); @@ -185393,8 +186698,8 @@ function assign$1(obj) { return obj; } __name(assign$1, "assign$1"); -function arrayReplaceAt(src, pos2, newElements) { - return [].concat(src.slice(0, pos2), newElements, src.slice(pos2 + 1)); +function arrayReplaceAt(src, pos, newElements) { + return [].concat(src.slice(0, pos), newElements, src.slice(pos + 1)); } __name(arrayReplaceAt, "arrayReplaceAt"); function isValidEntityCode(c2) { @@ -185635,16 +186940,16 @@ function parseLinkLabel(state, start2, disableNested) { __name(parseLinkLabel, "parseLinkLabel"); function parseLinkDestination(str, start2, max) { let code2; - let pos2 = start2; + let pos = start2; const result = { ok: false, pos: 0, str: "" }; - if (str.charCodeAt(pos2) === 60) { - pos2++; - while (pos2 < max) { - code2 = str.charCodeAt(pos2); + if (str.charCodeAt(pos) === 60) { + pos++; + while (pos < max) { + code2 = str.charCodeAt(pos); if (code2 === 10) { return result; } @@ -185652,33 +186957,33 @@ function parseLinkDestination(str, start2, max) { return result; } if (code2 === 62) { - result.pos = pos2 + 1; - result.str = unescapeAll(str.slice(start2 + 1, pos2)); + result.pos = pos + 1; + result.str = unescapeAll(str.slice(start2 + 1, pos)); result.ok = true; return result; } - if (code2 === 92 && pos2 + 1 < max) { - pos2 += 2; + if (code2 === 92 && pos + 1 < max) { + pos += 2; continue; } - pos2++; + pos++; } return result; } let level = 0; - while (pos2 < max) { - code2 = str.charCodeAt(pos2); + while (pos < max) { + code2 = str.charCodeAt(pos); if (code2 === 32) { break; } if (code2 < 32 || code2 === 127) { break; } - if (code2 === 92 && pos2 + 1 < max) { - if (str.charCodeAt(pos2 + 1) === 32) { + if (code2 === 92 && pos + 1 < max) { + if (str.charCodeAt(pos + 1) === 32) { break; } - pos2 += 2; + pos += 2; continue; } if (code2 === 40) { @@ -185693,23 +186998,23 @@ function parseLinkDestination(str, start2, max) { } level--; } - pos2++; + pos++; } - if (start2 === pos2) { + if (start2 === pos) { return result; } if (level !== 0) { return result; } - result.str = unescapeAll(str.slice(start2, pos2)); - result.pos = pos2; + result.str = unescapeAll(str.slice(start2, pos)); + result.pos = pos; result.ok = true; return result; } __name(parseLinkDestination, "parseLinkDestination"); function parseLinkTitle(str, start2, max, prev_state) { let code2; - let pos2 = start2; + let pos = start2; const state = { // if `true`, this is a valid link title ok: false, @@ -185726,36 +187031,36 @@ function parseLinkTitle(str, start2, max, prev_state) { state.str = prev_state.str; state.marker = prev_state.marker; } else { - if (pos2 >= max) { + if (pos >= max) { return state; } - let marker = str.charCodeAt(pos2); + let marker = str.charCodeAt(pos); if (marker !== 34 && marker !== 39 && marker !== 40) { return state; } start2++; - pos2++; + pos++; if (marker === 40) { marker = 41; } state.marker = marker; } - while (pos2 < max) { - code2 = str.charCodeAt(pos2); + while (pos < max) { + code2 = str.charCodeAt(pos); if (code2 === state.marker) { - state.pos = pos2 + 1; - state.str += unescapeAll(str.slice(start2, pos2)); + state.pos = pos + 1; + state.str += unescapeAll(str.slice(start2, pos)); state.ok = true; return state; } else if (code2 === 40 && state.marker === 41) { return state; - } else if (code2 === 92 && pos2 + 1 < max) { - pos2++; + } else if (code2 === 92 && pos + 1 < max) { + pos++; } - pos2++; + pos++; } state.can_continue = true; - state.str += unescapeAll(str.slice(start2, pos2)); + state.str += unescapeAll(str.slice(start2, pos)); return state; } __name(parseLinkTitle, "parseLinkTitle"); @@ -186232,10 +187537,10 @@ function linkify$1(state) { } else { urlText = state.md.normalizeLinkText(urlText); } - const pos2 = links[ln].index; - if (pos2 > lastPos) { + const pos = links[ln].index; + if (pos > lastPos) { const token = new state.Token("text", "", 0); - token.content = text2.slice(lastPos, pos2); + token.content = text2.slice(lastPos, pos); token.level = level; nodes.push(token); } @@ -186355,18 +187660,18 @@ function process_inlines(tokens, state) { continue; } let text2 = token.content; - let pos2 = 0; + let pos = 0; let max = text2.length; OUTER: - while (pos2 < max) { - QUOTE_RE.lastIndex = pos2; + while (pos < max) { + QUOTE_RE.lastIndex = pos; const t2 = QUOTE_RE.exec(text2); if (!t2) { break; } let canOpen = true; let canClose = true; - pos2 = t2.index + 1; + pos = t2.index + 1; const isSingle = t2[0] === "'"; let lastChar = 32; if (t2.index - 1 >= 0) { @@ -186380,8 +187685,8 @@ function process_inlines(tokens, state) { } } let nextChar = 32; - if (pos2 < max) { - nextChar = text2.charCodeAt(pos2); + if (pos < max) { + nextChar = text2.charCodeAt(pos); } else { for (j2 = i2 + 1; j2 < tokens.length; j2++) { if (tokens[j2].type === "softbreak" || tokens[j2].type === "hardbreak") break; @@ -186446,9 +187751,9 @@ function process_inlines(tokens, state) { item3.pos, openQuote ); - pos2 += closeQuote.length - 1; + pos += closeQuote.length - 1; if (item3.token === i2) { - pos2 += openQuote.length - 1; + pos += openQuote.length - 1; } text2 = token.content; max = text2.length; @@ -186556,8 +187861,8 @@ function StateBlock(src, md2, env, tokens) { this.parentType = "root"; this.level = 0; const s2 = this.src; - for (let start2 = 0, pos2 = 0, indent = 0, offset = 0, len = s2.length, indent_found = false; pos2 < len; pos2++) { - const ch = s2.charCodeAt(pos2); + for (let start2 = 0, pos = 0, indent = 0, offset = 0, len = s2.length, indent_found = false; pos < len; pos++) { + const ch = s2.charCodeAt(pos); if (!indent_found) { if (isSpace(ch)) { indent++; @@ -186571,19 +187876,19 @@ function StateBlock(src, md2, env, tokens) { indent_found = true; } } - if (ch === 10 || pos2 === len - 1) { + if (ch === 10 || pos === len - 1) { if (ch !== 10) { - pos2++; + pos++; } this.bMarks.push(start2); - this.eMarks.push(pos2); + this.eMarks.push(pos); this.tShift.push(indent); this.sCount.push(offset); this.bsCount.push(0); indent_found = false; indent = 0; offset = 0; - start2 = pos2 + 1; + start2 = pos + 1; } } this.bMarks.push(s2.length); @@ -186614,44 +187919,44 @@ StateBlock.prototype.skipEmptyLines = /* @__PURE__ */ __name(function skipEmptyL } return from2; }, "skipEmptyLines"); -StateBlock.prototype.skipSpaces = /* @__PURE__ */ __name(function skipSpaces(pos2) { - for (let max = this.src.length; pos2 < max; pos2++) { - const ch = this.src.charCodeAt(pos2); +StateBlock.prototype.skipSpaces = /* @__PURE__ */ __name(function skipSpaces(pos) { + for (let max = this.src.length; pos < max; pos++) { + const ch = this.src.charCodeAt(pos); if (!isSpace(ch)) { break; } } - return pos2; + return pos; }, "skipSpaces"); -StateBlock.prototype.skipSpacesBack = /* @__PURE__ */ __name(function skipSpacesBack(pos2, min) { - if (pos2 <= min) { - return pos2; +StateBlock.prototype.skipSpacesBack = /* @__PURE__ */ __name(function skipSpacesBack(pos, min) { + if (pos <= min) { + return pos; } - while (pos2 > min) { - if (!isSpace(this.src.charCodeAt(--pos2))) { - return pos2 + 1; + while (pos > min) { + if (!isSpace(this.src.charCodeAt(--pos))) { + return pos + 1; } } - return pos2; + return pos; }, "skipSpacesBack"); -StateBlock.prototype.skipChars = /* @__PURE__ */ __name(function skipChars(pos2, code2) { - for (let max = this.src.length; pos2 < max; pos2++) { - if (this.src.charCodeAt(pos2) !== code2) { +StateBlock.prototype.skipChars = /* @__PURE__ */ __name(function skipChars(pos, code2) { + for (let max = this.src.length; pos < max; pos++) { + if (this.src.charCodeAt(pos) !== code2) { break; } } - return pos2; + return pos; }, "skipChars"); -StateBlock.prototype.skipCharsBack = /* @__PURE__ */ __name(function skipCharsBack(pos2, code2, min) { - if (pos2 <= min) { - return pos2; +StateBlock.prototype.skipCharsBack = /* @__PURE__ */ __name(function skipCharsBack(pos, code2, min) { + if (pos <= min) { + return pos; } - while (pos2 > min) { - if (code2 !== this.src.charCodeAt(--pos2)) { - return pos2 + 1; + while (pos > min) { + if (code2 !== this.src.charCodeAt(--pos)) { + return pos + 1; } } - return pos2; + return pos; }, "skipCharsBack"); StateBlock.prototype.getLines = /* @__PURE__ */ __name(function getLines(begin, end, indent, keepLastLF) { if (begin >= end) { @@ -186694,33 +187999,33 @@ StateBlock.prototype.getLines = /* @__PURE__ */ __name(function getLines(begin, StateBlock.prototype.Token = Token; const MAX_AUTOCOMPLETED_CELLS = 65536; function getLine(state, line) { - const pos2 = state.bMarks[line] + state.tShift[line]; + const pos = state.bMarks[line] + state.tShift[line]; const max = state.eMarks[line]; - return state.src.slice(pos2, max); + return state.src.slice(pos, max); } __name(getLine, "getLine"); function escapedSplit(str) { const result = []; const max = str.length; - let pos2 = 0; - let ch = str.charCodeAt(pos2); + let pos = 0; + let ch = str.charCodeAt(pos); let isEscaped = false; let lastPos = 0; let current = ""; - while (pos2 < max) { + while (pos < max) { if (ch === 124) { if (!isEscaped) { - result.push(current + str.substring(lastPos, pos2)); + result.push(current + str.substring(lastPos, pos)); current = ""; - lastPos = pos2 + 1; + lastPos = pos + 1; } else { - current += str.substring(lastPos, pos2 - 1); - lastPos = pos2; + current += str.substring(lastPos, pos - 1); + lastPos = pos; } } isEscaped = ch === 92; - pos2++; - ch = str.charCodeAt(pos2); + pos++; + ch = str.charCodeAt(pos); } result.push(current + str.substring(lastPos)); return result; @@ -186737,30 +188042,30 @@ function table(state, startLine, endLine, silent) { if (state.sCount[nextLine] - state.blkIndent >= 4) { return false; } - let pos2 = state.bMarks[nextLine] + state.tShift[nextLine]; - if (pos2 >= state.eMarks[nextLine]) { + let pos = state.bMarks[nextLine] + state.tShift[nextLine]; + if (pos >= state.eMarks[nextLine]) { return false; } - const firstCh = state.src.charCodeAt(pos2++); + const firstCh = state.src.charCodeAt(pos++); if (firstCh !== 124 && firstCh !== 45 && firstCh !== 58) { return false; } - if (pos2 >= state.eMarks[nextLine]) { + if (pos >= state.eMarks[nextLine]) { return false; } - const secondCh = state.src.charCodeAt(pos2++); + const secondCh = state.src.charCodeAt(pos++); if (secondCh !== 124 && secondCh !== 45 && secondCh !== 58 && !isSpace(secondCh)) { return false; } if (firstCh === 45 && isSpace(secondCh)) { return false; } - while (pos2 < state.eMarks[nextLine]) { - const ch = state.src.charCodeAt(pos2); + while (pos < state.eMarks[nextLine]) { + const ch = state.src.charCodeAt(pos); if (ch !== 124 && ch !== 45 && ch !== 58 && !isSpace(ch)) { return false; } - pos2++; + pos++; } let lineText = getLine(state, startLine + 1); let columns = lineText.split("|"); @@ -186909,26 +188214,26 @@ function code(state, startLine, endLine) { } __name(code, "code"); function fence(state, startLine, endLine, silent) { - let pos2 = state.bMarks[startLine] + state.tShift[startLine]; + let pos = state.bMarks[startLine] + state.tShift[startLine]; let max = state.eMarks[startLine]; if (state.sCount[startLine] - state.blkIndent >= 4) { return false; } - if (pos2 + 3 > max) { + if (pos + 3 > max) { return false; } - const marker = state.src.charCodeAt(pos2); + const marker = state.src.charCodeAt(pos); if (marker !== 126 && marker !== 96) { return false; } - let mem = pos2; - pos2 = state.skipChars(pos2, marker); - let len = pos2 - mem; + let mem = pos; + pos = state.skipChars(pos, marker); + let len = pos - mem; if (len < 3) { return false; } - const markup = state.src.slice(mem, pos2); - const params = state.src.slice(pos2, max); + const markup = state.src.slice(mem, pos); + const params = state.src.slice(pos, max); if (marker === 96) { if (params.indexOf(String.fromCharCode(marker)) >= 0) { return false; @@ -186944,23 +188249,23 @@ function fence(state, startLine, endLine, silent) { if (nextLine >= endLine) { break; } - pos2 = mem = state.bMarks[nextLine] + state.tShift[nextLine]; + pos = mem = state.bMarks[nextLine] + state.tShift[nextLine]; max = state.eMarks[nextLine]; - if (pos2 < max && state.sCount[nextLine] < state.blkIndent) { + if (pos < max && state.sCount[nextLine] < state.blkIndent) { break; } - if (state.src.charCodeAt(pos2) !== marker) { + if (state.src.charCodeAt(pos) !== marker) { continue; } if (state.sCount[nextLine] - state.blkIndent >= 4) { continue; } - pos2 = state.skipChars(pos2, marker); - if (pos2 - mem < len) { + pos = state.skipChars(pos, marker); + if (pos - mem < len) { continue; } - pos2 = state.skipSpaces(pos2); - if (pos2 < max) { + pos = state.skipSpaces(pos); + if (pos < max) { continue; } haveEndMarker = true; @@ -186977,13 +188282,13 @@ function fence(state, startLine, endLine, silent) { } __name(fence, "fence"); function blockquote(state, startLine, endLine, silent) { - let pos2 = state.bMarks[startLine] + state.tShift[startLine]; + let pos = state.bMarks[startLine] + state.tShift[startLine]; let max = state.eMarks[startLine]; const oldLineMax = state.lineMax; if (state.sCount[startLine] - state.blkIndent >= 4) { return false; } - if (state.src.charCodeAt(pos2) !== 62) { + if (state.src.charCodeAt(pos) !== 62) { return false; } if (silent) { @@ -187000,24 +188305,24 @@ function blockquote(state, startLine, endLine, silent) { let nextLine; for (nextLine = startLine; nextLine < endLine; nextLine++) { const isOutdented = state.sCount[nextLine] < state.blkIndent; - pos2 = state.bMarks[nextLine] + state.tShift[nextLine]; + pos = state.bMarks[nextLine] + state.tShift[nextLine]; max = state.eMarks[nextLine]; - if (pos2 >= max) { + if (pos >= max) { break; } - if (state.src.charCodeAt(pos2++) === 62 && !isOutdented) { + if (state.src.charCodeAt(pos++) === 62 && !isOutdented) { let initial = state.sCount[nextLine] + 1; let spaceAfterMarker; let adjustTab; - if (state.src.charCodeAt(pos2) === 32) { - pos2++; + if (state.src.charCodeAt(pos) === 32) { + pos++; initial++; adjustTab = false; spaceAfterMarker = true; - } else if (state.src.charCodeAt(pos2) === 9) { + } else if (state.src.charCodeAt(pos) === 9) { spaceAfterMarker = true; if ((state.bsCount[nextLine] + initial) % 4 === 3) { - pos2++; + pos++; initial++; adjustTab = false; } else { @@ -187028,9 +188333,9 @@ function blockquote(state, startLine, endLine, silent) { } let offset = initial; oldBMarks.push(state.bMarks[nextLine]); - state.bMarks[nextLine] = pos2; - while (pos2 < max) { - const ch = state.src.charCodeAt(pos2); + state.bMarks[nextLine] = pos; + while (pos < max) { + const ch = state.src.charCodeAt(pos); if (isSpace(ch)) { if (ch === 9) { offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4; @@ -187040,15 +188345,15 @@ function blockquote(state, startLine, endLine, silent) { } else { break; } - pos2++; + pos++; } - lastLineEmpty = pos2 >= max; + lastLineEmpty = pos >= max; oldBSCount.push(state.bsCount[nextLine]); state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0); oldSCount.push(state.sCount[nextLine]); state.sCount[nextLine] = offset - initial; oldTShift.push(state.tShift[nextLine]); - state.tShift[nextLine] = pos2 - state.bMarks[nextLine]; + state.tShift[nextLine] = pos - state.bMarks[nextLine]; continue; } if (lastLineEmpty) { @@ -187105,14 +188410,14 @@ function hr(state, startLine, endLine, silent) { if (state.sCount[startLine] - state.blkIndent >= 4) { return false; } - let pos2 = state.bMarks[startLine] + state.tShift[startLine]; - const marker = state.src.charCodeAt(pos2++); + let pos = state.bMarks[startLine] + state.tShift[startLine]; + const marker = state.src.charCodeAt(pos++); if (marker !== 42 && marker !== 45 && marker !== 95) { return false; } let cnt = 1; - while (pos2 < max) { - const ch = state.src.charCodeAt(pos2++); + while (pos < max) { + const ch = state.src.charCodeAt(pos++); if (ch !== marker && !isSpace(ch)) { return false; } @@ -187135,38 +188440,38 @@ function hr(state, startLine, endLine, silent) { __name(hr, "hr"); function skipBulletListMarker(state, startLine) { const max = state.eMarks[startLine]; - let pos2 = state.bMarks[startLine] + state.tShift[startLine]; - const marker = state.src.charCodeAt(pos2++); + let pos = state.bMarks[startLine] + state.tShift[startLine]; + const marker = state.src.charCodeAt(pos++); if (marker !== 42 && marker !== 45 && marker !== 43) { return -1; } - if (pos2 < max) { - const ch = state.src.charCodeAt(pos2); + if (pos < max) { + const ch = state.src.charCodeAt(pos); if (!isSpace(ch)) { return -1; } } - return pos2; + return pos; } __name(skipBulletListMarker, "skipBulletListMarker"); function skipOrderedListMarker(state, startLine) { const start2 = state.bMarks[startLine] + state.tShift[startLine]; const max = state.eMarks[startLine]; - let pos2 = start2; - if (pos2 + 1 >= max) { + let pos = start2; + if (pos + 1 >= max) { return -1; } - let ch = state.src.charCodeAt(pos2++); + let ch = state.src.charCodeAt(pos++); if (ch < 48 || ch > 57) { return -1; } for (; ; ) { - if (pos2 >= max) { + if (pos >= max) { return -1; } - ch = state.src.charCodeAt(pos2++); + ch = state.src.charCodeAt(pos++); if (ch >= 48 && ch <= 57) { - if (pos2 - start2 >= 10) { + if (pos - start2 >= 10) { return -1; } continue; @@ -187176,13 +188481,13 @@ function skipOrderedListMarker(state, startLine) { } return -1; } - if (pos2 < max) { - ch = state.src.charCodeAt(pos2); + if (pos < max) { + ch = state.src.charCodeAt(pos); if (!isSpace(ch)) { return -1; } } - return pos2; + return pos; } __name(skipOrderedListMarker, "skipOrderedListMarker"); function markTightParagraphs(state, idx) { @@ -187197,7 +188502,7 @@ function markTightParagraphs(state, idx) { } __name(markTightParagraphs, "markTightParagraphs"); function list(state, startLine, endLine, silent) { - let max, pos2, start2, token; + let max, pos, start2, token; let nextLine = startLine; let tight = true; if (state.sCount[nextLine] - state.blkIndent >= 4) { @@ -187249,12 +188554,12 @@ function list(state, startLine, endLine, silent) { const oldParentType = state.parentType; state.parentType = "list"; while (nextLine < endLine) { - pos2 = posAfterMarker; + pos = posAfterMarker; max = state.eMarks[nextLine]; const initial = state.sCount[nextLine] + posAfterMarker - (state.bMarks[nextLine] + state.tShift[nextLine]); let offset = initial; - while (pos2 < max) { - const ch = state.src.charCodeAt(pos2); + while (pos < max) { + const ch = state.src.charCodeAt(pos); if (ch === 9) { offset += 4 - (offset + state.bsCount[nextLine]) % 4; } else if (ch === 32) { @@ -187262,9 +188567,9 @@ function list(state, startLine, endLine, silent) { } else { break; } - pos2++; + pos++; } - const contentStart = pos2; + const contentStart = pos; let indentAfterMarker; if (contentStart >= max) { indentAfterMarker = 1; @@ -187360,13 +188665,13 @@ function list(state, startLine, endLine, silent) { } __name(list, "list"); function reference(state, startLine, _endLine, silent) { - let pos2 = state.bMarks[startLine] + state.tShift[startLine]; + let pos = state.bMarks[startLine] + state.tShift[startLine]; let max = state.eMarks[startLine]; let nextLine = startLine + 1; if (state.sCount[startLine] - state.blkIndent >= 4) { return false; } - if (state.src.charCodeAt(pos2) !== 91) { + if (state.src.charCodeAt(pos) !== 91) { return false; } function getNextLine(nextLine2) { @@ -187397,20 +188702,20 @@ function reference(state, startLine, _endLine, silent) { return null; } } - const pos3 = state.bMarks[nextLine2] + state.tShift[nextLine2]; + const pos2 = state.bMarks[nextLine2] + state.tShift[nextLine2]; const max2 = state.eMarks[nextLine2]; - return state.src.slice(pos3, max2 + 1); + return state.src.slice(pos2, max2 + 1); } __name(getNextLine, "getNextLine"); - let str = state.src.slice(pos2, max + 1); + let str = state.src.slice(pos, max + 1); max = str.length; let labelEnd = -1; - for (pos2 = 1; pos2 < max; pos2++) { - const ch = str.charCodeAt(pos2); + for (pos = 1; pos < max; pos++) { + const ch = str.charCodeAt(pos); if (ch === 91) { return false; } else if (ch === 93) { - labelEnd = pos2; + labelEnd = pos; break; } else if (ch === 10) { const lineContent = getNextLine(nextLine); @@ -187420,8 +188725,8 @@ function reference(state, startLine, _endLine, silent) { nextLine++; } } else if (ch === 92) { - pos2++; - if (pos2 < max && str.charCodeAt(pos2) === 10) { + pos++; + if (pos < max && str.charCodeAt(pos) === 10) { const lineContent = getNextLine(nextLine); if (lineContent !== null) { str += lineContent; @@ -187434,8 +188739,8 @@ function reference(state, startLine, _endLine, silent) { if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 58) { return false; } - for (pos2 = labelEnd + 2; pos2 < max; pos2++) { - const ch = str.charCodeAt(pos2); + for (pos = labelEnd + 2; pos < max; pos++) { + const ch = str.charCodeAt(pos); if (ch === 10) { const lineContent = getNextLine(nextLine); if (lineContent !== null) { @@ -187448,7 +188753,7 @@ function reference(state, startLine, _endLine, silent) { break; } } - const destRes = state.md.helpers.parseLinkDestination(str, pos2, max); + const destRes = state.md.helpers.parseLinkDestination(str, pos, max); if (!destRes.ok) { return false; } @@ -187456,12 +188761,12 @@ function reference(state, startLine, _endLine, silent) { if (!state.md.validateLink(href)) { return false; } - pos2 = destRes.pos; - const destEndPos = pos2; + pos = destRes.pos; + const destEndPos = pos; const destEndLineNo = nextLine; - const start2 = pos2; - for (; pos2 < max; pos2++) { - const ch = str.charCodeAt(pos2); + const start2 = pos; + for (; pos < max; pos++) { + const ch = str.charCodeAt(pos); if (ch === 10) { const lineContent = getNextLine(nextLine); if (lineContent !== null) { @@ -187474,47 +188779,47 @@ function reference(state, startLine, _endLine, silent) { break; } } - let titleRes = state.md.helpers.parseLinkTitle(str, pos2, max); + let titleRes = state.md.helpers.parseLinkTitle(str, pos, max); while (titleRes.can_continue) { const lineContent = getNextLine(nextLine); if (lineContent === null) break; str += lineContent; - pos2 = max; + pos = max; max = str.length; nextLine++; - titleRes = state.md.helpers.parseLinkTitle(str, pos2, max, titleRes); + titleRes = state.md.helpers.parseLinkTitle(str, pos, max, titleRes); } let title; - if (pos2 < max && start2 !== pos2 && titleRes.ok) { + if (pos < max && start2 !== pos && titleRes.ok) { title = titleRes.str; - pos2 = titleRes.pos; + pos = titleRes.pos; } else { title = ""; - pos2 = destEndPos; + pos = destEndPos; nextLine = destEndLineNo; } - while (pos2 < max) { - const ch = str.charCodeAt(pos2); + while (pos < max) { + const ch = str.charCodeAt(pos); if (!isSpace(ch)) { break; } - pos2++; + pos++; } - if (pos2 < max && str.charCodeAt(pos2) !== 10) { + if (pos < max && str.charCodeAt(pos) !== 10) { if (title) { title = ""; - pos2 = destEndPos; + pos = destEndPos; nextLine = destEndLineNo; - while (pos2 < max) { - const ch = str.charCodeAt(pos2); + while (pos < max) { + const ch = str.charCodeAt(pos); if (!isSpace(ch)) { break; } - pos2++; + pos++; } } } - if (pos2 < max && str.charCodeAt(pos2) !== 10) { + if (pos < max && str.charCodeAt(pos) !== 10) { return false; } const label5 = normalizeReference(str.slice(1, labelEnd)); @@ -187622,7 +188927,7 @@ const HTML_SEQUENCES = [ [new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + "\\s*$"), /^$/, false] ]; function html_block(state, startLine, endLine, silent) { - let pos2 = state.bMarks[startLine] + state.tShift[startLine]; + let pos = state.bMarks[startLine] + state.tShift[startLine]; let max = state.eMarks[startLine]; if (state.sCount[startLine] - state.blkIndent >= 4) { return false; @@ -187630,10 +188935,10 @@ function html_block(state, startLine, endLine, silent) { if (!state.md.options.html) { return false; } - if (state.src.charCodeAt(pos2) !== 60) { + if (state.src.charCodeAt(pos) !== 60) { return false; } - let lineText = state.src.slice(pos2, max); + let lineText = state.src.slice(pos, max); let i2 = 0; for (; i2 < HTML_SEQUENCES.length; i2++) { if (HTML_SEQUENCES[i2][0].test(lineText)) { @@ -187652,9 +188957,9 @@ function html_block(state, startLine, endLine, silent) { if (state.sCount[nextLine] < state.blkIndent) { break; } - pos2 = state.bMarks[nextLine] + state.tShift[nextLine]; + pos = state.bMarks[nextLine] + state.tShift[nextLine]; max = state.eMarks[nextLine]; - lineText = state.src.slice(pos2, max); + lineText = state.src.slice(pos, max); if (HTML_SEQUENCES[i2][1].test(lineText)) { if (lineText.length !== 0) { nextLine++; @@ -187671,30 +188976,30 @@ function html_block(state, startLine, endLine, silent) { } __name(html_block, "html_block"); function heading(state, startLine, endLine, silent) { - let pos2 = state.bMarks[startLine] + state.tShift[startLine]; + let pos = state.bMarks[startLine] + state.tShift[startLine]; let max = state.eMarks[startLine]; if (state.sCount[startLine] - state.blkIndent >= 4) { return false; } - let ch = state.src.charCodeAt(pos2); - if (ch !== 35 || pos2 >= max) { + let ch = state.src.charCodeAt(pos); + if (ch !== 35 || pos >= max) { return false; } let level = 1; - ch = state.src.charCodeAt(++pos2); - while (ch === 35 && pos2 < max && level <= 6) { + ch = state.src.charCodeAt(++pos); + while (ch === 35 && pos < max && level <= 6) { level++; - ch = state.src.charCodeAt(++pos2); + ch = state.src.charCodeAt(++pos); } - if (level > 6 || pos2 < max && !isSpace(ch)) { + if (level > 6 || pos < max && !isSpace(ch)) { return false; } if (silent) { return true; } - max = state.skipSpacesBack(max, pos2); - const tmp = state.skipCharsBack(max, 35, pos2); - if (tmp > pos2 && isSpace(state.src.charCodeAt(tmp - 1))) { + max = state.skipSpacesBack(max, pos); + const tmp = state.skipCharsBack(max, 35, pos); + if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) { max = tmp; } state.line = startLine + 1; @@ -187702,7 +189007,7 @@ function heading(state, startLine, endLine, silent) { token_o.markup = "########".slice(0, level); token_o.map = [startLine, state.line]; const token_i = state.push("inline", "", 0); - token_i.content = state.src.slice(pos2, max).trim(); + token_i.content = state.src.slice(pos, max).trim(); token_i.map = [startLine, state.line]; token_i.children = []; const token_c = state.push("heading_close", "h" + String(level), -1); @@ -187725,14 +189030,14 @@ function lheading(state, startLine, endLine) { continue; } if (state.sCount[nextLine] >= state.blkIndent) { - let pos2 = state.bMarks[nextLine] + state.tShift[nextLine]; + let pos = state.bMarks[nextLine] + state.tShift[nextLine]; const max = state.eMarks[nextLine]; - if (pos2 < max) { - marker = state.src.charCodeAt(pos2); + if (pos < max) { + marker = state.src.charCodeAt(pos); if (marker === 45 || marker === 61) { - pos2 = state.skipChars(pos2, marker); - pos2 = state.skipSpaces(pos2); - if (pos2 >= max) { + pos = state.skipChars(pos, marker); + pos = state.skipSpaces(pos); + if (pos >= max) { level = marker === 61 ? 1 : 2; break; } @@ -187932,12 +189237,12 @@ StateInline.prototype.scanDelims = function(start2, canSplitWord) { const max = this.posMax; const marker = this.src.charCodeAt(start2); const lastChar = start2 > 0 ? this.src.charCodeAt(start2 - 1) : 32; - let pos2 = start2; - while (pos2 < max && this.src.charCodeAt(pos2) === marker) { - pos2++; + let pos = start2; + while (pos < max && this.src.charCodeAt(pos) === marker) { + pos++; } - const count = pos2 - start2; - const nextChar = pos2 < max ? this.src.charCodeAt(pos2) : 32; + const count = pos - start2; + const nextChar = pos < max ? this.src.charCodeAt(pos) : 32; const isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar)); const isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar)); const isLastWhiteSpace = isWhiteSpace(lastChar); @@ -187981,17 +189286,17 @@ function isTerminatorChar(ch) { } __name(isTerminatorChar, "isTerminatorChar"); function text(state, silent) { - let pos2 = state.pos; - while (pos2 < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos2))) { - pos2++; + let pos = state.pos; + while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) { + pos++; } - if (pos2 === state.pos) { + if (pos === state.pos) { return false; } if (!silent) { - state.pending += state.src.slice(state.pos, pos2); + state.pending += state.src.slice(state.pos, pos); } - state.pos = pos2; + state.pos = pos; return true; } __name(text, "text"); @@ -187999,16 +189304,16 @@ const SCHEME_RE = /(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i; function linkify(state, silent) { if (!state.md.options.linkify) return false; if (state.linkLevel > 0) return false; - const pos2 = state.pos; + const pos = state.pos; const max = state.posMax; - if (pos2 + 3 > max) return false; - if (state.src.charCodeAt(pos2) !== 58) return false; - if (state.src.charCodeAt(pos2 + 1) !== 47) return false; - if (state.src.charCodeAt(pos2 + 2) !== 47) return false; + if (pos + 3 > max) return false; + if (state.src.charCodeAt(pos) !== 58) return false; + if (state.src.charCodeAt(pos + 1) !== 47) return false; + if (state.src.charCodeAt(pos + 2) !== 47) return false; const match2 = state.pending.match(SCHEME_RE); if (!match2) return false; const proto = match2[1]; - const link2 = state.md.linkify.matchAtStart(state.src.slice(pos2 - proto.length)); + const link2 = state.md.linkify.matchAtStart(state.src.slice(pos - proto.length)); if (!link2) return false; let url = link2.url; if (url.length <= proto.length) return false; @@ -188032,8 +189337,8 @@ function linkify(state, silent) { } __name(linkify, "linkify"); function newline(state, silent) { - let pos2 = state.pos; - if (state.src.charCodeAt(pos2) !== 10) { + let pos = state.pos; + if (state.src.charCodeAt(pos) !== 10) { return false; } const pmax = state.pending.length - 1; @@ -188053,11 +189358,11 @@ function newline(state, silent) { state.push("softbreak", "br", 0); } } - pos2++; - while (pos2 < max && isSpace(state.src.charCodeAt(pos2))) { - pos2++; + pos++; + while (pos < max && isSpace(state.src.charCodeAt(pos))) { + pos++; } - state.pos = pos2; + state.pos = pos; return true; } __name(newline, "newline"); @@ -188069,31 +189374,31 @@ for (let i2 = 0; i2 < 256; i2++) { ESCAPED[ch.charCodeAt(0)] = 1; }); function escape$1(state, silent) { - let pos2 = state.pos; + let pos = state.pos; const max = state.posMax; - if (state.src.charCodeAt(pos2) !== 92) return false; - pos2++; - if (pos2 >= max) return false; - let ch1 = state.src.charCodeAt(pos2); + if (state.src.charCodeAt(pos) !== 92) return false; + pos++; + if (pos >= max) return false; + let ch1 = state.src.charCodeAt(pos); if (ch1 === 10) { if (!silent) { state.push("hardbreak", "br", 0); } - pos2++; - while (pos2 < max) { - ch1 = state.src.charCodeAt(pos2); + pos++; + while (pos < max) { + ch1 = state.src.charCodeAt(pos); if (!isSpace(ch1)) break; - pos2++; + pos++; } - state.pos = pos2; + state.pos = pos; return true; } - let escapedStr = state.src[pos2]; - if (ch1 >= 55296 && ch1 <= 56319 && pos2 + 1 < max) { - const ch2 = state.src.charCodeAt(pos2 + 1); + let escapedStr = state.src[pos]; + if (ch1 >= 55296 && ch1 <= 56319 && pos + 1 < max) { + const ch2 = state.src.charCodeAt(pos + 1); if (ch2 >= 56320 && ch2 <= 57343) { - escapedStr += state.src[pos2 + 1]; - pos2++; + escapedStr += state.src[pos + 1]; + pos++; } } const origStr = "\\" + escapedStr; @@ -188107,30 +189412,30 @@ function escape$1(state, silent) { token.markup = origStr; token.info = "escape"; } - state.pos = pos2 + 1; + state.pos = pos + 1; return true; } __name(escape$1, "escape$1"); function backtick(state, silent) { - let pos2 = state.pos; - const ch = state.src.charCodeAt(pos2); + let pos = state.pos; + const ch = state.src.charCodeAt(pos); if (ch !== 96) { return false; } - const start2 = pos2; - pos2++; + const start2 = pos; + pos++; const max = state.posMax; - while (pos2 < max && state.src.charCodeAt(pos2) === 96) { - pos2++; + while (pos < max && state.src.charCodeAt(pos) === 96) { + pos++; } - const marker = state.src.slice(start2, pos2); + const marker = state.src.slice(start2, pos); const openerLength = marker.length; if (state.backticksScanned && (state.backticks[openerLength] || 0) <= start2) { if (!silent) state.pending += marker; state.pos += openerLength; return true; } - let matchEnd = pos2; + let matchEnd = pos; let matchStart; while ((matchStart = state.src.indexOf("`", matchEnd)) !== -1) { matchEnd = matchStart + 1; @@ -188142,7 +189447,7 @@ function backtick(state, silent) { if (!silent) { const token = state.push("code_inline", "code", 0); token.markup = marker; - token.content = state.src.slice(pos2, matchStart).replace(/\n/g, " ").replace(/^ (.+) $/, "$1"); + token.content = state.src.slice(pos, matchStart).replace(/\n/g, " ").replace(/^ (.+) $/, "$1"); } state.pos = matchEnd; return true; @@ -188356,66 +189661,66 @@ function link(state, silent) { if (labelEnd < 0) { return false; } - let pos2 = labelEnd + 1; - if (pos2 < max && state.src.charCodeAt(pos2) === 40) { + let pos = labelEnd + 1; + if (pos < max && state.src.charCodeAt(pos) === 40) { parseReference = false; - pos2++; - for (; pos2 < max; pos2++) { - code2 = state.src.charCodeAt(pos2); + pos++; + for (; pos < max; pos++) { + code2 = state.src.charCodeAt(pos); if (!isSpace(code2) && code2 !== 10) { break; } } - if (pos2 >= max) { + if (pos >= max) { return false; } - start2 = pos2; - res = state.md.helpers.parseLinkDestination(state.src, pos2, state.posMax); + start2 = pos; + res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax); if (res.ok) { href = state.md.normalizeLink(res.str); if (state.md.validateLink(href)) { - pos2 = res.pos; + pos = res.pos; } else { href = ""; } - start2 = pos2; - for (; pos2 < max; pos2++) { - code2 = state.src.charCodeAt(pos2); + start2 = pos; + for (; pos < max; pos++) { + code2 = state.src.charCodeAt(pos); if (!isSpace(code2) && code2 !== 10) { break; } } - res = state.md.helpers.parseLinkTitle(state.src, pos2, state.posMax); - if (pos2 < max && start2 !== pos2 && res.ok) { + res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax); + if (pos < max && start2 !== pos && res.ok) { title = res.str; - pos2 = res.pos; - for (; pos2 < max; pos2++) { - code2 = state.src.charCodeAt(pos2); + pos = res.pos; + for (; pos < max; pos++) { + code2 = state.src.charCodeAt(pos); if (!isSpace(code2) && code2 !== 10) { break; } } } } - if (pos2 >= max || state.src.charCodeAt(pos2) !== 41) { + if (pos >= max || state.src.charCodeAt(pos) !== 41) { parseReference = true; } - pos2++; + pos++; } if (parseReference) { if (typeof state.env.references === "undefined") { return false; } - if (pos2 < max && state.src.charCodeAt(pos2) === 91) { - start2 = pos2 + 1; - pos2 = state.md.helpers.parseLinkLabel(state, pos2); - if (pos2 >= 0) { - label5 = state.src.slice(start2, pos2++); + if (pos < max && state.src.charCodeAt(pos) === 91) { + start2 = pos + 1; + pos = state.md.helpers.parseLinkLabel(state, pos); + if (pos >= 0) { + label5 = state.src.slice(start2, pos++); } else { - pos2 = labelEnd + 1; + pos = labelEnd + 1; } } else { - pos2 = labelEnd + 1; + pos = labelEnd + 1; } if (!label5) { label5 = state.src.slice(labelStart, labelEnd); @@ -188442,13 +189747,13 @@ function link(state, silent) { state.linkLevel--; state.push("link_close", "a", -1); } - state.pos = pos2; + state.pos = pos; state.posMax = max; return true; } __name(link, "link"); function image(state, silent) { - let code2, content2, label5, pos2, ref2, res, title, start2; + let code2, content2, label5, pos, ref2, res, title, start2; let href = ""; const oldPos = state.pos; const max = state.posMax; @@ -188463,41 +189768,41 @@ function image(state, silent) { if (labelEnd < 0) { return false; } - pos2 = labelEnd + 1; - if (pos2 < max && state.src.charCodeAt(pos2) === 40) { - pos2++; - for (; pos2 < max; pos2++) { - code2 = state.src.charCodeAt(pos2); + pos = labelEnd + 1; + if (pos < max && state.src.charCodeAt(pos) === 40) { + pos++; + for (; pos < max; pos++) { + code2 = state.src.charCodeAt(pos); if (!isSpace(code2) && code2 !== 10) { break; } } - if (pos2 >= max) { + if (pos >= max) { return false; } - start2 = pos2; - res = state.md.helpers.parseLinkDestination(state.src, pos2, state.posMax); + start2 = pos; + res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax); if (res.ok) { href = state.md.normalizeLink(res.str); if (state.md.validateLink(href)) { - pos2 = res.pos; + pos = res.pos; } else { href = ""; } } - start2 = pos2; - for (; pos2 < max; pos2++) { - code2 = state.src.charCodeAt(pos2); + start2 = pos; + for (; pos < max; pos++) { + code2 = state.src.charCodeAt(pos); if (!isSpace(code2) && code2 !== 10) { break; } } - res = state.md.helpers.parseLinkTitle(state.src, pos2, state.posMax); - if (pos2 < max && start2 !== pos2 && res.ok) { + res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax); + if (pos < max && start2 !== pos && res.ok) { title = res.str; - pos2 = res.pos; - for (; pos2 < max; pos2++) { - code2 = state.src.charCodeAt(pos2); + pos = res.pos; + for (; pos < max; pos++) { + code2 = state.src.charCodeAt(pos); if (!isSpace(code2) && code2 !== 10) { break; } @@ -188505,25 +189810,25 @@ function image(state, silent) { } else { title = ""; } - if (pos2 >= max || state.src.charCodeAt(pos2) !== 41) { + if (pos >= max || state.src.charCodeAt(pos) !== 41) { state.pos = oldPos; return false; } - pos2++; + pos++; } else { if (typeof state.env.references === "undefined") { return false; } - if (pos2 < max && state.src.charCodeAt(pos2) === 91) { - start2 = pos2 + 1; - pos2 = state.md.helpers.parseLinkLabel(state, pos2); - if (pos2 >= 0) { - label5 = state.src.slice(start2, pos2++); + if (pos < max && state.src.charCodeAt(pos) === 91) { + start2 = pos + 1; + pos = state.md.helpers.parseLinkLabel(state, pos); + if (pos >= 0) { + label5 = state.src.slice(start2, pos++); } else { - pos2 = labelEnd + 1; + pos = labelEnd + 1; } } else { - pos2 = labelEnd + 1; + pos = labelEnd + 1; } if (!label5) { label5 = state.src.slice(labelStart, labelEnd); @@ -188554,7 +189859,7 @@ function image(state, silent) { attrs6.push(["title", title]); } } - state.pos = pos2; + state.pos = pos; state.posMax = max; return true; } @@ -188562,19 +189867,19 @@ __name(image, "image"); const EMAIL_RE = /^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/; const AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/; function autolink(state, silent) { - let pos2 = state.pos; - if (state.src.charCodeAt(pos2) !== 60) { + let pos = state.pos; + if (state.src.charCodeAt(pos) !== 60) { return false; } const start2 = state.pos; const max = state.posMax; for (; ; ) { - if (++pos2 >= max) return false; - const ch = state.src.charCodeAt(pos2); + if (++pos >= max) return false; + const ch = state.src.charCodeAt(pos); if (ch === 60) return false; if (ch === 62) break; } - const url = state.src.slice(start2 + 1, pos2); + const url = state.src.slice(start2 + 1, pos); if (AUTOLINK_RE.test(url)) { const fullUrl = state.md.normalizeLink(url); if (!state.md.validateLink(fullUrl)) { @@ -188634,15 +189939,15 @@ function html_inline(state, silent) { return false; } const max = state.posMax; - const pos2 = state.pos; - if (state.src.charCodeAt(pos2) !== 60 || pos2 + 2 >= max) { + const pos = state.pos; + if (state.src.charCodeAt(pos) !== 60 || pos + 2 >= max) { return false; } - const ch = state.src.charCodeAt(pos2 + 1); + const ch = state.src.charCodeAt(pos + 1); if (ch !== 33 && ch !== 63 && ch !== 47 && !isLetter(ch)) { return false; } - const match2 = state.src.slice(pos2).match(HTML_TAG_RE); + const match2 = state.src.slice(pos).match(HTML_TAG_RE); if (!match2) { return false; } @@ -188659,13 +189964,13 @@ __name(html_inline, "html_inline"); const DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i; const NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i; function entity(state, silent) { - const pos2 = state.pos; + const pos = state.pos; const max = state.posMax; - if (state.src.charCodeAt(pos2) !== 38) return false; - if (pos2 + 1 >= max) return false; - const ch = state.src.charCodeAt(pos2 + 1); + if (state.src.charCodeAt(pos) !== 38) return false; + if (pos + 1 >= max) return false; + const ch = state.src.charCodeAt(pos + 1); if (ch === 35) { - const match2 = state.src.slice(pos2).match(DIGITAL_RE); + const match2 = state.src.slice(pos).match(DIGITAL_RE); if (match2) { if (!silent) { const code2 = match2[1][0].toLowerCase() === "x" ? parseInt(match2[1].slice(1), 16) : parseInt(match2[1], 10); @@ -188678,7 +189983,7 @@ function entity(state, silent) { return true; } } else { - const match2 = state.src.slice(pos2).match(NAMED_RE); + const match2 = state.src.slice(pos).match(NAMED_RE); if (match2) { const decoded = decodeHTML(match2[0]); if (decoded !== match2[0]) { @@ -188817,13 +190122,13 @@ function ParserInline() { } __name(ParserInline, "ParserInline"); ParserInline.prototype.skipToken = function(state) { - const pos2 = state.pos; + const pos = state.pos; const rules = this.ruler.getRules(""); const len = rules.length; const maxNesting = state.md.options.maxNesting; const cache2 = state.cache; - if (typeof cache2[pos2] !== "undefined") { - state.pos = cache2[pos2]; + if (typeof cache2[pos] !== "undefined") { + state.pos = cache2[pos]; return; } let ok = false; @@ -188833,7 +190138,7 @@ ParserInline.prototype.skipToken = function(state) { ok = rules[i2](state, true); state.level--; if (ok) { - if (pos2 >= state.pos) { + if (pos >= state.pos) { throw new Error("inline rule didn't increment state.pos"); } break; @@ -188845,7 +190150,7 @@ ParserInline.prototype.skipToken = function(state) { if (!ok) { state.pos++; } - cache2[pos2] = state.pos; + cache2[pos] = state.pos; }; ParserInline.prototype.tokenize = function(state) { const rules = this.ruler.getRules(""); @@ -188979,8 +190284,8 @@ function isOptionsObj(obj) { __name(isOptionsObj, "isOptionsObj"); const defaultSchemas = { "http:": { - validate: /* @__PURE__ */ __name(function(text2, pos2, self2) { - const tail = text2.slice(pos2); + validate: /* @__PURE__ */ __name(function(text2, pos, self2) { + const tail = text2.slice(pos); if (!self2.re.http) { self2.re.http = new RegExp( "^\\/\\/" + self2.re.src_auth + self2.re.src_host_port_strict + self2.re.src_path, @@ -188996,8 +190301,8 @@ const defaultSchemas = { "https:": "http:", "ftp:": "http:", "//": { - validate: /* @__PURE__ */ __name(function(text2, pos2, self2) { - const tail = text2.slice(pos2); + validate: /* @__PURE__ */ __name(function(text2, pos, self2) { + const tail = text2.slice(pos); if (!self2.re.no_http) { self2.re.no_http = new RegExp( "^" + self2.re.src_auth + // Don't allow single-level domains, because of false positives like '//test' @@ -189007,10 +190312,10 @@ const defaultSchemas = { ); } if (self2.re.no_http.test(tail)) { - if (pos2 >= 3 && text2[pos2 - 3] === ":") { + if (pos >= 3 && text2[pos - 3] === ":") { return 0; } - if (pos2 >= 3 && text2[pos2 - 3] === "/") { + if (pos >= 3 && text2[pos - 3] === "/") { return 0; } return tail.match(self2.re.no_http)[0].length; @@ -189019,8 +190324,8 @@ const defaultSchemas = { }, "validate") }, "mailto:": { - validate: /* @__PURE__ */ __name(function(text2, pos2, self2) { - const tail = text2.slice(pos2); + validate: /* @__PURE__ */ __name(function(text2, pos, self2) { + const tail = text2.slice(pos); if (!self2.re.mailto) { self2.re.mailto = new RegExp( "^" + self2.re.src_email_name + "@" + self2.re.src_host_strict, @@ -189042,8 +190347,8 @@ function resetScanCache(self2) { } __name(resetScanCache, "resetScanCache"); function createValidator(re) { - return function(text2, pos2) { - const tail = text2.slice(pos2); + return function(text2, pos) { + const tail = text2.slice(pos); if (re.test(tail)) { return tail.match(re)[0].length; } @@ -189235,11 +190540,11 @@ LinkifyIt.prototype.test = /* @__PURE__ */ __name(function test2(text2) { LinkifyIt.prototype.pretest = /* @__PURE__ */ __name(function pretest(text2) { return this.re.pretest.test(text2); }, "pretest"); -LinkifyIt.prototype.testSchemaAt = /* @__PURE__ */ __name(function testSchemaAt(text2, schema2, pos2) { +LinkifyIt.prototype.testSchemaAt = /* @__PURE__ */ __name(function testSchemaAt(text2, schema2, pos) { if (!this.__compiled__[schema2.toLowerCase()]) { return 0; } - return this.__compiled__[schema2.toLowerCase()].validate(text2, pos2, this); + return this.__compiled__[schema2.toLowerCase()].validate(text2, pos, this); }, "testSchemaAt"); LinkifyIt.prototype.match = /* @__PURE__ */ __name(function match(text2) { const result = []; @@ -190821,13 +192126,13 @@ const MarkdownTightLists = Extension.create({ } }); const md = MarkdownIt(); -function scanDelims(text2, pos2) { +function scanDelims(text2, pos) { md.inline.State.prototype.scanDelims.call({ src: text2, posMax: text2.length }); const state = new md.inline.State(text2, null, null, []); - return state.scanDelims(pos2, true); + return state.scanDelims(pos, true); } __name(scanDelims, "scanDelims"); function shiftDelim(text2, delim, start2, offset) { @@ -190837,34 +192142,34 @@ function shiftDelim(text2, delim, start2, offset) { } __name(shiftDelim, "shiftDelim"); function trimStart(text2, delim, from2, to) { - let pos2 = from2, res = text2; - while (pos2 < to) { - if (scanDelims(res, pos2).can_open) { + let pos = from2, res = text2; + while (pos < to) { + if (scanDelims(res, pos).can_open) { break; } - res = shiftDelim(res, delim, pos2, 1); - pos2++; + res = shiftDelim(res, delim, pos, 1); + pos++; } return { text: res, - from: pos2, + from: pos, to }; } __name(trimStart, "trimStart"); function trimEnd(text2, delim, from2, to) { - let pos2 = to, res = text2; - while (pos2 > from2) { - if (scanDelims(res, pos2).can_close) { + let pos = to, res = text2; + while (pos > from2) { + if (scanDelims(res, pos).can_close) { break; } - res = shiftDelim(res, delim, pos2, -1); - pos2--; + res = shiftDelim(res, delim, pos, -1); + pos--; } return { text: res, from: from2, - to: pos2 + to: pos }; } __name(trimEnd, "trimEnd"); @@ -191794,6 +193099,202 @@ const Markdown = Extension.create({ })]; } }); +function addMarkdownWidget(node3, name2, opts, app2) { + Markdown.configure({ + html: false, + breaks: true, + transformPastedText: true + }); + const editor = new Editor({ + extensions: [ + StarterKit, + Markdown, + Link$2, + Table$2, + TableCell, + TableHeader, + TableRow + ], + content: opts.defaultVal, + editable: false + }); + const inputEl = editor.options.element; + inputEl.classList.add("comfy-markdown"); + const textarea = document.createElement("textarea"); + inputEl.append(textarea); + const widget = node3.addDOMWidget(name2, "MARKDOWN", inputEl, { + getValue() { + return textarea.value; + }, + setValue(v2) { + textarea.value = v2; + editor.commands.setContent(v2); + } + }); + widget.inputEl = inputEl; + inputEl.addEventListener("pointerdown", (event) => { + if (event.button !== 0) { + app2.canvas.processMouseDown(event); + return; + } + if (event.target instanceof HTMLAnchorElement) { + return; + } + inputEl.classList.add("editing"); + setTimeout(() => { + textarea.focus(); + }, 0); + }); + textarea.addEventListener("blur", () => { + inputEl.classList.remove("editing"); + }); + textarea.addEventListener("change", () => { + editor.commands.setContent(textarea.value); + widget.callback?.(widget.value); + }); + inputEl.addEventListener("keydown", (event) => { + event.stopPropagation(); + }); + inputEl.addEventListener("pointerdown", (event) => { + if (event.button === 1) { + app2.canvas.processMouseDown(event); + } + }); + inputEl.addEventListener("pointermove", (event) => { + if ((event.buttons & 4) === 4) { + app2.canvas.processMouseMove(event); + } + }); + inputEl.addEventListener("pointerup", (event) => { + if (event.button === 1) { + app2.canvas.processMouseUp(event); + } + }); + return { minWidth: 400, minHeight: 200, widget }; +} +__name(addMarkdownWidget, "addMarkdownWidget"); +const useMarkdownWidget = /* @__PURE__ */ __name(() => { + const widgetConstructor = /* @__PURE__ */ __name((node3, inputName, inputData, app2) => { + const defaultVal = inputData[1]?.default || ""; + return addMarkdownWidget( + node3, + inputName, + { defaultVal, ...inputData[1] }, + app2 + ); + }, "widgetConstructor"); + return widgetConstructor; +}, "useMarkdownWidget"); +const useSeedWidget = /* @__PURE__ */ __name(() => { + const IntWidget = useIntWidget(); + const widgetConstructor = /* @__PURE__ */ __name((node3, inputName, inputData, app2, widgetName) => { + inputData[1] = { + ...inputData[1], + control_after_generate: true + }; + return IntWidget(node3, inputName, inputData, app2, widgetName); + }, "widgetConstructor"); + return widgetConstructor; +}, "useSeedWidget"); +function addMultilineWidget(node3, name2, opts, app2) { + const inputEl = document.createElement("textarea"); + inputEl.className = "comfy-multiline-input"; + inputEl.value = opts.defaultVal; + inputEl.placeholder = opts.placeholder || name2; + if (app2.vueAppReady) { + inputEl.spellcheck = useSettingStore().get( + "Comfy.TextareaWidget.Spellcheck" + ); + } + const widget = node3.addDOMWidget(name2, "customtext", inputEl, { + getValue() { + return inputEl.value; + }, + setValue(v2) { + inputEl.value = v2; + } + }); + widget.inputEl = inputEl; + inputEl.addEventListener("input", () => { + widget.callback?.(widget.value); + }); + inputEl.addEventListener("pointerdown", (event) => { + if (event.button === 1) { + app2.canvas.processMouseDown(event); + } + }); + inputEl.addEventListener("pointermove", (event) => { + if ((event.buttons & 4) === 4) { + app2.canvas.processMouseMove(event); + } + }); + inputEl.addEventListener("pointerup", (event) => { + if (event.button === 1) { + app2.canvas.processMouseUp(event); + } + }); + return { minWidth: 400, minHeight: 200, widget }; +} +__name(addMultilineWidget, "addMultilineWidget"); +const useStringWidget = /* @__PURE__ */ __name(() => { + const widgetConstructor = /* @__PURE__ */ __name((node3, inputName, inputData, app2) => { + const defaultVal = inputData[1]?.default || ""; + const multiline = !!inputData[1]?.multiline; + let res; + if (multiline) { + res = addMultilineWidget( + node3, + inputName, + { defaultVal, ...inputData[1] }, + app2 + ); + } else { + res = { + widget: node3.addWidget("text", inputName, defaultVal, () => { + }, {}) + }; + } + if (inputData[1]?.dynamicPrompts != void 0) + res.widget.dynamicPrompts = inputData[1].dynamicPrompts; + return res; + }, "widgetConstructor"); + return widgetConstructor; +}, "useStringWidget"); +function distributeSpace(totalSpace, requests) { + if (requests.length === 0) return []; + const totalMinSize = requests.reduce((sum, req) => sum + req.minSize, 0); + if (totalSpace < totalMinSize) { + return requests.map((req) => req.minSize); + } + let allocations = requests.map((req) => ({ + computedSize: req.minSize, + maxSize: req.maxSize ?? Infinity, + remaining: (req.maxSize ?? Infinity) - req.minSize + })); + let remainingSpace = totalSpace - totalMinSize; + while (remainingSpace > 0 && allocations.some((alloc) => alloc.remaining > 0)) { + const growableItems = allocations.filter( + (alloc) => alloc.remaining > 0 + ).length; + if (growableItems === 0) break; + const sharePerItem = remainingSpace / growableItems; + let spaceUsedThisRound = 0; + allocations = allocations.map((alloc) => { + if (alloc.remaining <= 0) return alloc; + const growth = Math.min(sharePerItem, alloc.remaining); + spaceUsedThisRound += growth; + return { + ...alloc, + computedSize: alloc.computedSize + growth, + remaining: alloc.remaining - growth + }; + }); + remainingSpace -= spaceUsedThisRound; + if (spaceUsedThisRound === 0) break; + } + return allocations.map(({ computedSize }) => computedSize); +} +__name(distributeSpace, "distributeSpace"); const SIZE = Symbol(); function intersect(a2, b2) { const x2 = Math.max(a2.x, b2.x); @@ -191806,7 +193307,7 @@ function intersect(a2, b2) { __name(intersect, "intersect"); function getClipPath(node3, element, canvasRect) { const selectedNode = Object.values( - app$1.canvas.selected_nodes + app$1.canvas.selected_nodes ?? {} )[0]; if (selectedNode && selectedNode !== node3) { const elRect = element.getBoundingClientRect(); @@ -191841,95 +193342,44 @@ function getClipPath(node3, element, canvasRect) { } __name(getClipPath, "getClipPath"); function computeSize(size) { - if (this.widgets?.[0]?.last_y == null) return; + if (!this.widgets?.[0]?.last_y) return; let y2 = this.widgets[0].last_y; let freeSpace = size[1] - y2; - let widgetHeight = 0; - let dom = []; + let fixedWidgetHeight = 0; + const layoutWidgets = []; for (const w2 of this.widgets) { if (w2.type === "converted-widget") { delete w2.computedHeight; - } else if (w2.computeSize) { - widgetHeight += w2.computeSize()[1] + 4; - } else if (w2.element) { - const styles = getComputedStyle(w2.element); - let minHeight = w2.options.getMinHeight?.() ?? parseInt(styles.getPropertyValue("--comfy-widget-min-height")); - let maxHeight = w2.options.getMaxHeight?.() ?? parseInt(styles.getPropertyValue("--comfy-widget-max-height")); - let prefHeight = w2.options.getHeight?.() ?? styles.getPropertyValue("--comfy-widget-height"); - if (prefHeight.endsWith?.("%")) { - prefHeight = size[1] * (parseFloat(prefHeight.substring(0, prefHeight.length - 1)) / 100); - } else { - prefHeight = parseInt(prefHeight); - if (isNaN(minHeight)) { - minHeight = prefHeight; - } - } - if (isNaN(minHeight)) { - minHeight = 50; - } - if (!isNaN(maxHeight)) { - if (!isNaN(prefHeight)) { - prefHeight = Math.min(prefHeight, maxHeight); - } else { - prefHeight = maxHeight; - } - } - dom.push({ + } else if (w2.computeLayoutSize) { + const { minHeight, maxHeight } = w2.computeLayoutSize(this); + layoutWidgets.push({ minHeight, - prefHeight, + prefHeight: maxHeight, w: w2 }); + } else if (w2.computeSize) { + fixedWidgetHeight += w2.computeSize()[1] + 4; } else { - widgetHeight += LiteGraph.NODE_WIDGET_HEIGHT + 4; + fixedWidgetHeight += LiteGraph.NODE_WIDGET_HEIGHT + 4; } } - freeSpace -= widgetHeight; - const prefGrow = []; - const canGrow = []; - let growBy = 0; - for (const d2 of dom) { - freeSpace -= d2.minHeight; - if (isNaN(d2.prefHeight)) { - canGrow.push(d2); - d2.w.computedHeight = d2.minHeight; - } else { - const diff2 = d2.prefHeight - d2.minHeight; - if (diff2 > 0) { - prefGrow.push(d2); - growBy += diff2; - d2.diff = diff2; - } else { - d2.w.computedHeight = d2.minHeight; - } - } - } - if (this.imgs && !this.widgets.find((w2) => w2.name === ANIM_PREVIEW_WIDGET)) { - freeSpace -= 220; + if (this.imgs && !this.widgets?.find((w2) => w2.name === ANIM_PREVIEW_WIDGET)) { + fixedWidgetHeight += 220; } + freeSpace -= fixedWidgetHeight; this.freeWidgetSpace = freeSpace; - if (freeSpace < 0) { - size[1] -= freeSpace; - this.graph.setDirtyCanvas(true); - } else { - const growDiff = freeSpace - growBy; - if (growDiff > 0) { - freeSpace = growDiff; - for (const d2 of prefGrow) { - d2.w.computedHeight = d2.prefHeight; - } - } else { - const shared = -growDiff / prefGrow.length; - for (const d2 of prefGrow) { - d2.w.computedHeight = d2.prefHeight - shared; - } - freeSpace = 0; - } - if (freeSpace > 0 && canGrow.length) { - const shared = freeSpace / canGrow.length; - for (const d2 of canGrow) { - d2.w.computedHeight += shared; - } - } + const spaceRequests = layoutWidgets.map((d2) => ({ + minSize: d2.minHeight, + maxSize: d2.prefHeight + })); + const allocations = distributeSpace(Math.max(0, freeSpace), spaceRequests); + layoutWidgets.forEach((d2, i2) => { + d2.w.computedHeight = allocations[i2]; + }); + const totalNeeded = fixedWidgetHeight + allocations.reduce((sum, h2) => sum + h2, 0); + if (totalNeeded > size[1] - this.widgets[0].last_y) { + size[1] = totalNeeded + this.widgets[0].last_y; + this.graph?.setDirtyCanvas(true); } for (const w2 of this.widgets) { w2.y = y2; @@ -191945,12 +193395,12 @@ function computeSize(size) { __name(computeSize, "computeSize"); const elementWidgets = /* @__PURE__ */ new Set(); const computeVisibleNodes = LGraphCanvas.prototype.computeVisibleNodes; -LGraphCanvas.prototype.computeVisibleNodes = function() { - const visibleNodes = computeVisibleNodes.apply(this, arguments); +LGraphCanvas.prototype.computeVisibleNodes = function(nodes, out) { + const visibleNodes = computeVisibleNodes.call(this, nodes, out); for (const node3 of app$1.graph.nodes) { if (elementWidgets.has(node3)) { const hidden = visibleNodes.indexOf(node3) === -1; - for (const w2 of node3.widgets) { + for (const w2 of node3.widgets ?? []) { if (w2.element) { w2.element.dataset.isInVisibleNodes = hidden ? "false" : "true"; const shouldOtherwiseHide = w2.element.dataset.shouldHide === "true"; @@ -191958,7 +193408,7 @@ LGraphCanvas.prototype.computeVisibleNodes = function() { const wasHidden = w2.element.hidden; const actualHidden = hidden || shouldOtherwiseHide || isCollapsed; w2.element.hidden = actualHidden; - w2.element.style.display = actualHidden ? "none" : null; + w2.element.style.display = actualHidden ? "none" : ""; if (actualHidden && !wasHidden) { w2.options.onHide?.(w2); } @@ -191968,6 +193418,108 @@ LGraphCanvas.prototype.computeVisibleNodes = function() { } return visibleNodes; }; +class DOMWidgetImpl { + static { + __name(this, "DOMWidgetImpl"); + } + type; + name; + element; + options; + computedHeight; + callback; + mouseDownHandler; + constructor(name2, type, element, options4 = {}) { + this.type = type; + this.name = name2; + this.element = element; + this.options = options4; + if (element.blur) { + this.mouseDownHandler = (event) => { + if (!element.contains(event.target)) { + element.blur(); + } + }; + document.addEventListener("mousedown", this.mouseDownHandler); + } + } + get value() { + return this.options.getValue?.() ?? ""; + } + set value(v2) { + this.options.setValue?.(v2); + this.callback?.(this.value); + } + /** Extract DOM widget size info */ + computeLayoutSize(node3) { + const styles = getComputedStyle(this.element); + let minHeight = this.options.getMinHeight?.() ?? parseInt(styles.getPropertyValue("--comfy-widget-min-height")); + let maxHeight = this.options.getMaxHeight?.() ?? parseInt(styles.getPropertyValue("--comfy-widget-max-height")); + let prefHeight = this.options.getHeight?.() ?? styles.getPropertyValue("--comfy-widget-height"); + if (typeof prefHeight === "string" && prefHeight.endsWith?.("%")) { + prefHeight = node3.size[1] * (parseFloat(prefHeight.substring(0, prefHeight.length - 1)) / 100); + } else { + prefHeight = typeof prefHeight === "number" ? prefHeight : parseInt(prefHeight); + if (isNaN(minHeight)) { + minHeight = prefHeight; + } + } + return { + minHeight: isNaN(minHeight) ? 50 : minHeight, + maxHeight: isNaN(maxHeight) ? void 0 : maxHeight, + minWidth: 0 + }; + } + draw(ctx, node3, widgetWidth, y2) { + if (this.computedHeight == null) { + computeSize.call(node3, node3.size); + } + const { offset, scale } = app$1.canvas.ds; + const hidden = !!this.options.hideOnZoom && app$1.canvas.low_quality || (this.computedHeight ?? 0) <= 0 || // @ts-expect-error custom widget type + this.type === "converted-widget" || // @ts-expect-error custom widget type + this.type === "hidden"; + this.element.dataset.shouldHide = hidden ? "true" : "false"; + const isInVisibleNodes = this.element.dataset.isInVisibleNodes === "true"; + const isCollapsed = this.element.dataset.collapsed === "true"; + const actualHidden = hidden || !isInVisibleNodes || isCollapsed; + const wasHidden = this.element.hidden; + this.element.hidden = actualHidden; + this.element.style.display = actualHidden ? "none" : ""; + if (actualHidden && !wasHidden) { + this.options.onHide?.(this); + } + if (actualHidden) { + return; + } + const elRect = ctx.canvas.getBoundingClientRect(); + const margin = 10; + const top = node3.pos[0] + offset[0] + margin; + const left = node3.pos[1] + offset[1] + margin + y2; + Object.assign(this.element.style, { + transformOrigin: "0 0", + transform: `scale(${scale})`, + left: `${top * scale}px`, + top: `${left * scale}px`, + width: `${widgetWidth - margin * 2}px`, + height: `${(this.computedHeight ?? 50) - margin * 2}px`, + position: "absolute", + zIndex: app$1.graph.nodes.indexOf(node3), + pointerEvents: app$1.canvas.read_only ? "none" : "auto" + }); + if (useSettingStore().get("Comfy.DOMClippingEnabled")) { + const clipPath = getClipPath(node3, this.element, elRect); + this.element.style.clipPath = clipPath ?? "none"; + this.element.style.willChange = "clip-path"; + } + this.options.onDraw?.(this); + } + onRemove() { + if (this.mouseDownHandler) { + document.removeEventListener("mousedown", this.mouseDownHandler); + } + this.element.remove(); + } +} LGraphNode.prototype.addDOMWidget = function(name2, type, element, options4 = {}) { options4 = { hideOnZoom: true, selectOn: ["focus", "click"], ...options4 }; if (!element.parentElement) { @@ -191975,167 +193527,90 @@ LGraphNode.prototype.addDOMWidget = function(name2, type, element, options4 = {} } element.hidden = true; element.style.display = "none"; - let mouseDownHandler; - if (element.blur) { - mouseDownHandler = /* @__PURE__ */ __name((event) => { - if (!element.contains(event.target)) { - element.blur(); - } - }, "mouseDownHandler"); - document.addEventListener("mousedown", mouseDownHandler); - } const { nodeData } = this.constructor; const tooltip = (nodeData?.input.required?.[name2] ?? nodeData?.input.optional?.[name2])?.[1]?.tooltip; if (tooltip && !element.title) { element.title = tooltip; } - const widget2 = { - // @ts-expect-error All unrecognized types will be treated the same way as 'custom' - // in litegraph internally. - type, - name: name2, - get value() { - return options4.getValue?.() ?? void 0; + const widget = new DOMWidgetImpl(name2, type, element, options4); + Object.defineProperty(widget, "value", { + get() { + return this.options.getValue?.() ?? ""; }, - set value(v2) { - options4.setValue?.(v2); - widget2.callback?.(widget2.value); - }, - draw: /* @__PURE__ */ __name(function(ctx, node3, widgetWidth, y2, widgetHeight) { - if (widget2.computedHeight == null) { - computeSize.call(node3, node3.size); - } - const { offset, scale } = app$1.canvas.ds; - const hidden = !!options4.hideOnZoom && scale < 0.5 || widget2.computedHeight <= 0 || // @ts-expect-error Used by widgetInputs.ts - widget2.type === "converted-widget" || // @ts-expect-error Used by groupNode.ts - widget2.type === "hidden"; - element.dataset.shouldHide = hidden ? "true" : "false"; - const isInVisibleNodes = element.dataset.isInVisibleNodes === "true"; - const isCollapsed = element.dataset.collapsed === "true"; - const actualHidden = hidden || !isInVisibleNodes || isCollapsed; - const wasHidden = element.hidden; - element.hidden = actualHidden; - element.style.display = actualHidden ? "none" : null; - if (actualHidden && !wasHidden) { - widget2.options.onHide?.(widget2); - } - if (actualHidden) { - return; - } - const elRect = ctx.canvas.getBoundingClientRect(); - const margin = 10; - const top = node3.pos[0] + offset[0] + margin; - const left = node3.pos[1] + offset[1] + margin + y2; - Object.assign(element.style, { - transformOrigin: "0 0", - transform: `scale(${scale})`, - left: `${top * scale}px`, - top: `${left * scale}px`, - width: `${widgetWidth - margin * 2}px`, - height: `${(widget2.computedHeight ?? 50) - margin * 2}px`, - position: "absolute", - zIndex: app$1.graph.nodes.indexOf(node3), - pointerEvents: app$1.canvas.read_only ? "none" : "auto" - }); - if (useSettingStore().get("Comfy.DOMClippingEnabled")) { - element.style.clipPath = getClipPath(node3, element, elRect); - element.style.willChange = "clip-path"; - } - this.options.onDraw?.(widget2); - }, "draw"), - element, - options: options4, - onRemove() { - if (mouseDownHandler) { - document.removeEventListener("mousedown", mouseDownHandler); - } - element.remove(); + set(v2) { + this.options.setValue?.(v2); + this.callback?.(this.value); } - }; - for (const evt of options4.selectOn) { + }); + const selectEvents = options4.selectOn ?? ["focus", "click"]; + for (const evt of selectEvents) { element.addEventListener(evt, () => { app$1.canvas.selectNode(this); app$1.canvas.bringToFront(this); }); } - this.addCustomWidget(widget2); + this.addCustomWidget(widget); elementWidgets.add(this); const collapse = this.collapse; - this.collapse = function() { - collapse.apply(this, arguments); - if (this.flags?.collapsed) { + this.collapse = function(force) { + collapse.call(this, force); + if (this.collapsed) { element.hidden = true; element.style.display = "none"; } - element.dataset.collapsed = this.flags?.collapsed ? "true" : "false"; + element.dataset.collapsed = this.collapsed ? "true" : "false"; }; const { onConfigure } = this; - this.onConfigure = function() { - onConfigure?.apply(this, arguments); - element.dataset.collapsed = this.flags?.collapsed ? "true" : "false"; + this.onConfigure = function(serializedNode) { + onConfigure?.call(this, serializedNode); + element.dataset.collapsed = this.collapsed ? "true" : "false"; }; const onRemoved = this.onRemoved; this.onRemoved = function() { element.remove(); elementWidgets.delete(this); - onRemoved?.apply(this, arguments); + onRemoved?.call(this); }; if (!this[SIZE]) { this[SIZE] = true; const onResize2 = this.onResize; this.onResize = function(size) { - options4.beforeResize?.call(widget2, this); + options4.beforeResize?.call(widget, this); computeSize.call(this, size); - onResize2?.apply(this, arguments); - options4.afterResize?.call(widget2, this); + onResize2?.call(this, size); + options4.afterResize?.call(widget, this); }; } - return widget2; + return widget; }; +window.comfyAPI = window.comfyAPI || {}; +window.comfyAPI.domWidget = window.comfyAPI.domWidget || {}; +window.comfyAPI.domWidget.DOMWidgetImpl = DOMWidgetImpl; function controlValueRunBefore() { return useSettingStore().get("Comfy.WidgetControlMode") === "before"; } __name(controlValueRunBefore, "controlValueRunBefore"); -function updateControlWidgetLabel(widget2) { +function updateControlWidgetLabel(widget) { let replacement = "after"; let find2 = "before"; if (controlValueRunBefore()) { ; [find2, replacement] = [replacement, find2]; } - widget2.label = (widget2.label ?? widget2.name).replace(find2, replacement); + widget.label = (widget.label ?? widget.name ?? "").replace(find2, replacement); } __name(updateControlWidgetLabel, "updateControlWidgetLabel"); const IS_CONTROL_WIDGET = Symbol(); const HAS_EXECUTED = Symbol(); -function getNumberDefaults(inputData, defaultStep, precision, enable_rounding) { - let defaultVal = inputData[1]["default"]; - let { min, max, step: step3, round } = inputData[1]; - if (defaultVal == void 0) defaultVal = 0; - if (min == void 0) min = 0; - if (max == void 0) max = 2048; - if (step3 == void 0) step3 = defaultStep; - if (precision == void 0) { - precision = Math.max(-Math.floor(Math.log10(step3)), 0); - } - if (enable_rounding && (round == void 0 || round === true)) { - round = Math.round(1e6 * Math.pow(0.1, precision)) / 1e6; - } - return { - val: defaultVal, - config: { min, max, step: 10 * step3, round, precision } - }; -} -__name(getNumberDefaults, "getNumberDefaults"); -function addValueControlWidget(node3, targetWidget, defaultValue2 = "randomize", values, widgetName, inputData) { - let name2 = inputData[1]?.control_after_generate; +function addValueControlWidget(node3, targetWidget, defaultValue2, values, widgetName, inputData) { + let name2 = inputData?.[1]?.control_after_generate; if (typeof name2 !== "string") { name2 = widgetName; } const widgets = addValueControlWidgets( node3, targetWidget, - defaultValue2, + defaultValue2 ?? "randomize", { addFilterList: false, controlAfterGenerateName: name2 @@ -192145,7 +193620,7 @@ function addValueControlWidget(node3, targetWidget, defaultValue2 = "randomize", return widgets[0]; } __name(addValueControlWidget, "addValueControlWidget"); -function addValueControlWidgets(node3, targetWidget, defaultValue2 = "randomize", options4, inputData) { +function addValueControlWidgets(node3, targetWidget, defaultValue2, options4, inputData) { if (!defaultValue2) defaultValue2 = "randomize"; if (!options4) options4 = {}; const getName = /* @__PURE__ */ __name((defaultName, optionName) => { @@ -192178,7 +193653,7 @@ function addValueControlWidgets(node3, targetWidget, defaultValue2 = "randomize" widgets.push(valueControl); const isCombo = targetWidget.type === "combo"; let comboFilter; - if (isCombo) { + if (isCombo && valueControl.options.values) { valueControl.options.values.push("increment-wrap"); } if (isCombo && options4.addFilterList !== false) { @@ -192200,7 +193675,7 @@ function addValueControlWidgets(node3, targetWidget, defaultValue2 = "randomize" const applyWidgetControl = /* @__PURE__ */ __name(() => { var v2 = valueControl.value; if (isCombo && v2 !== "fixed") { - let values = targetWidget.options.values; + let values = targetWidget.options.values ?? []; const filter4 = comboFilter?.value; if (filter4) { let check; @@ -192221,7 +193696,7 @@ function addValueControlWidgets(node3, targetWidget, defaultValue2 = "randomize" check = /* @__PURE__ */ __name((item3) => item3.toLocaleLowerCase().includes(lower), "check"); } values = values.filter((item3) => check(item3)); - if (!values.length && targetWidget.options.values.length) { + if (!values.length && targetWidget.options.values?.length) { console.warn( "Filter for node " + node3.id + " has filtered out all items", filter4 @@ -192254,32 +193729,31 @@ function addValueControlWidgets(node3, targetWidget, defaultValue2 = "randomize" if (current_index >= 0) { let value4 = values[current_index]; targetWidget.value = value4; - targetWidget.callback(value4); + targetWidget.callback?.(value4); } } else { - let min = targetWidget.options.min; - let max = targetWidget.options.max; + let { min = 0, max = 1, step: step3 = 1 } = targetWidget.options; max = Math.min(1125899906842624, max); min = Math.max(-1125899906842624, min); - let range2 = (max - min) / (targetWidget.options.step / 10); + let range2 = (max - min) / (step3 / 10); switch (v2) { case "fixed": break; case "increment": - targetWidget.value += targetWidget.options.step / 10; + targetWidget.value += step3 / 10; break; case "decrement": - targetWidget.value -= targetWidget.options.step / 10; + targetWidget.value -= step3 / 10; break; case "randomize": - targetWidget.value = Math.floor(Math.random() * range2) * (targetWidget.options.step / 10) + min; + targetWidget.value = Math.floor(Math.random() * range2) * (step3 / 10) + min; break; default: break; } if (targetWidget.value < min) targetWidget.value = min; if (targetWidget.value > max) targetWidget.value = max; - targetWidget.callback(targetWidget.value); + targetWidget.callback?.(targetWidget.value); } }, "applyWidgetControl"); valueControl.beforeQueued = () => { @@ -192298,414 +193772,17 @@ function addValueControlWidgets(node3, targetWidget, defaultValue2 = "randomize" return widgets; } __name(addValueControlWidgets, "addValueControlWidgets"); -function seedWidget(node3, inputName, inputData, app2, widgetName) { - const seed = createIntWidget(node3, inputName, inputData, app2, true); - const seedControl = addValueControlWidget( - node3, - seed.widget, - "randomize", - void 0, - widgetName, - inputData - ); - seed.widget.linkedWidgets = [seedControl]; - return seed; -} -__name(seedWidget, "seedWidget"); -function createIntWidget(node3, inputName, inputData, app2, isSeedInput = false) { - const control = inputData[1]?.control_after_generate; - if (!isSeedInput && control) { - return seedWidget( - node3, - inputName, - inputData, - app2, - typeof control === "string" ? control : void 0 - ); - } - let widgetType = isSlider(inputData[1]["display"], app2); - const { val, config: config2 } = getNumberDefaults(inputData, 1, 0, true); - Object.assign(config2, { precision: 0 }); - return { - widget: node3.addWidget( - widgetType, - inputName, - val, - function(v2) { - const s2 = this.options.step / 10; - let sh = this.options.min % s2; - if (isNaN(sh)) { - sh = 0; - } - this.value = Math.round((v2 - sh) / s2) * s2 + sh; - }, - config2 - ) - }; -} -__name(createIntWidget, "createIntWidget"); -function addMultilineWidget(node3, name2, opts, app2) { - const inputEl = document.createElement("textarea"); - inputEl.className = "comfy-multiline-input"; - inputEl.value = opts.defaultVal; - inputEl.placeholder = opts.placeholder || name2; - if (app2.vueAppReady) { - inputEl.spellcheck = useSettingStore().get( - "Comfy.TextareaWidget.Spellcheck" - ); - } - const widget2 = node3.addDOMWidget(name2, "customtext", inputEl, { - getValue() { - return inputEl.value; - }, - setValue(v2) { - inputEl.value = v2; - } - }); - widget2.inputEl = inputEl; - inputEl.addEventListener("input", () => { - widget2.callback?.(widget2.value); - }); - inputEl.addEventListener("pointerdown", (event) => { - if (event.button === 1) { - app2.canvas.processMouseDown(event); - } - }); - inputEl.addEventListener("pointermove", (event) => { - if ((event.buttons & 4) === 4) { - app2.canvas.processMouseMove(event); - } - }); - inputEl.addEventListener("pointerup", (event) => { - if (event.button === 1) { - app2.canvas.processMouseUp(event); - } - }); - return { minWidth: 400, minHeight: 200, widget: widget2 }; -} -__name(addMultilineWidget, "addMultilineWidget"); -function addMarkdownWidget(node3, name2, opts, app2) { - Markdown.configure({ - html: false, - breaks: true, - transformPastedText: true - }); - const editor = new Editor({ - extensions: [ - StarterKit, - Markdown, - Link$2, - Table$2, - TableCell, - TableHeader, - TableRow - ], - content: opts.defaultVal, - editable: false - }); - const inputEl = editor.options.element; - inputEl.classList.add("comfy-markdown"); - const textarea = document.createElement("textarea"); - inputEl.append(textarea); - const widget2 = node3.addDOMWidget(name2, "MARKDOWN", inputEl, { - getValue() { - return textarea.value; - }, - setValue(v2) { - textarea.value = v2; - editor.commands.setContent(v2); - } - }); - widget2.inputEl = inputEl; - editor.options.element.addEventListener( - "pointerdown", - (event) => { - if (event.button !== 0) { - app2.canvas.processMouseDown(event); - return; - } - if (event.target instanceof HTMLAnchorElement) { - return; - } - inputEl.classList.add("editing"); - setTimeout(() => { - textarea.focus(); - }, 0); - } - ); - textarea.addEventListener("blur", () => { - inputEl.classList.remove("editing"); - }); - textarea.addEventListener("change", () => { - editor.commands.setContent(textarea.value); - widget2.callback?.(widget2.value); - }); - inputEl.addEventListener("keydown", (event) => { - event.stopPropagation(); - }); - inputEl.addEventListener("pointerdown", (event) => { - if (event.button === 1) { - app2.canvas.processMouseDown(event); - } - }); - inputEl.addEventListener("pointermove", (event) => { - if ((event.buttons & 4) === 4) { - app2.canvas.processMouseMove(event); - } - }); - inputEl.addEventListener("pointerup", (event) => { - if (event.button === 1) { - app2.canvas.processMouseUp(event); - } - }); - return { minWidth: 400, minHeight: 200, widget: widget2 }; -} -__name(addMarkdownWidget, "addMarkdownWidget"); -function isSlider(display, app2) { - if (app2.ui.settings.getSettingValue("Comfy.DisableSliders")) { - return "number"; - } - return display === "slider" ? "slider" : "number"; -} -__name(isSlider, "isSlider"); +const SeedWidget = useSeedWidget(); const ComfyWidgets = { - "INT:seed": seedWidget, - "INT:noise_seed": seedWidget, - FLOAT(node3, inputName, inputData, app2) { - let widgetType = isSlider(inputData[1]["display"], app2); - let precision = app2.ui.settings.getSettingValue( - "Comfy.FloatRoundingPrecision" - ); - let disable_rounding = app2.ui.settings.getSettingValue( - "Comfy.DisableFloatRounding" - ); - if (precision == 0) precision = void 0; - const { val, config: config2 } = getNumberDefaults( - inputData, - 0.5, - precision, - !disable_rounding - ); - return { - widget: node3.addWidget( - widgetType, - inputName, - val, - function(v2) { - if (config2.round) { - this.value = Math.round((v2 + Number.EPSILON) / config2.round) * config2.round; - if (this.value > config2.max) this.value = config2.max; - if (this.value < config2.min) this.value = config2.min; - } else { - this.value = v2; - } - }, - config2 - ) - }; - }, - INT(node3, inputName, inputData, app2) { - return createIntWidget(node3, inputName, inputData, app2); - }, - BOOLEAN(node3, inputName, inputData) { - let defaultVal = false; - let options4 = {}; - if (inputData[1]) { - if (inputData[1].default) defaultVal = inputData[1].default; - if (inputData[1].label_on) options4["on"] = inputData[1].label_on; - if (inputData[1].label_off) options4["off"] = inputData[1].label_off; - } - return { - widget: node3.addWidget("toggle", inputName, defaultVal, () => { - }, options4) - }; - }, - STRING(node3, inputName, inputData, app2) { - const defaultVal = inputData[1].default || ""; - const multiline = !!inputData[1].multiline; - let res; - if (multiline) { - res = addMultilineWidget( - node3, - inputName, - { defaultVal, ...inputData[1] }, - app2 - ); - } else { - res = { - widget: node3.addWidget("text", inputName, defaultVal, () => { - }, {}) - }; - } - if (inputData[1].dynamicPrompts != void 0) - res.widget.dynamicPrompts = inputData[1].dynamicPrompts; - return res; - }, - MARKDOWN(node3, inputName, inputData, app2) { - const defaultVal = inputData[1].default || ""; - let res; - res = addMarkdownWidget( - node3, - inputName, - { defaultVal, ...inputData[1] }, - app2 - ); - return res; - }, - COMBO(node3, inputName, inputData) { - const type = inputData[0]; - let defaultValue2 = type[0]; - if (inputData[1] && inputData[1].default) { - defaultValue2 = inputData[1].default; - } - const res = { - widget: node3.addWidget("combo", inputName, defaultValue2, () => { - }, { - values: type - }) - }; - if (inputData[1]?.control_after_generate) { - res.widget.linkedWidgets = addValueControlWidgets( - node3, - res.widget, - void 0, - void 0, - inputData - ); - } - return res; - }, - IMAGEUPLOAD(node3, inputName, inputData, app2) { - const imageWidget = node3.widgets.find( - (w2) => w2.name === (inputData[1]?.widget ?? "image") - ); - let uploadWidget; - function showImage(name2) { - const img = new Image(); - img.onload = () => { - node3.imgs = [img]; - app2.graph.setDirtyCanvas(true); - }; - let folder_separator = name2.lastIndexOf("/"); - let subfolder = ""; - if (folder_separator > -1) { - subfolder = name2.substring(0, folder_separator); - name2 = name2.substring(folder_separator + 1); - } - img.src = api.apiURL( - `/view?filename=${encodeURIComponent(name2)}&type=input&subfolder=${subfolder}${app2.getPreviewFormatParam()}${app2.getRandParam()}` - ); - node3.setSizeForImage?.(); - } - __name(showImage, "showImage"); - var default_value = imageWidget.value; - Object.defineProperty(imageWidget, "value", { - set: /* @__PURE__ */ __name(function(value4) { - this._real_value = value4; - }, "set"), - get: /* @__PURE__ */ __name(function() { - if (!this._real_value) { - return default_value; - } - let value4 = this._real_value; - if (value4.filename) { - let real_value = value4; - value4 = ""; - if (real_value.subfolder) { - value4 = real_value.subfolder + "/"; - } - value4 += real_value.filename; - if (real_value.type && real_value.type !== "input") - value4 += ` [${real_value.type}]`; - } - return value4; - }, "get") - }); - const cb = node3.callback; - imageWidget.callback = function() { - showImage(imageWidget.value); - if (cb) { - return cb.apply(this, arguments); - } - }; - requestAnimationFrame(() => { - if (imageWidget.value) { - showImage(imageWidget.value); - } - }); - async function uploadFile2(file, updateNode, pasted = false) { - try { - const body = new FormData(); - body.append("image", file); - if (pasted) body.append("subfolder", "pasted"); - const resp = await api.fetchApi("/upload/image", { - method: "POST", - body - }); - if (resp.status === 200) { - const data26 = await resp.json(); - let path = data26.name; - if (data26.subfolder) path = data26.subfolder + "/" + path; - if (!imageWidget.options.values.includes(path)) { - imageWidget.options.values.push(path); - } - if (updateNode) { - showImage(path); - imageWidget.value = path; - } - } else { - useToastStore().addAlert(resp.status + " - " + resp.statusText); - } - } catch (error2) { - useToastStore().addAlert(error2); - } - } - __name(uploadFile2, "uploadFile"); - const fileInput2 = document.createElement("input"); - Object.assign(fileInput2, { - type: "file", - accept: "image/jpeg,image/png,image/webp", - style: "display: none", - onchange: /* @__PURE__ */ __name(async () => { - if (fileInput2.files.length) { - await uploadFile2(fileInput2.files[0], true); - } - }, "onchange") - }); - document.body.append(fileInput2); - uploadWidget = node3.addWidget("button", inputName, "image", () => { - fileInput2.click(); - }); - uploadWidget.label = "choose file to upload"; - uploadWidget.serialize = false; - node3.onDragOver = function(e2) { - if (e2.dataTransfer && e2.dataTransfer.items) { - const image2 = [...e2.dataTransfer.items].find((f2) => f2.kind === "file"); - return !!image2; - } - return false; - }; - node3.onDragDrop = function(e2) { - console.log("onDragDrop called"); - let handled = false; - for (const file of e2.dataTransfer.files) { - if (file.type.startsWith("image/")) { - uploadFile2(file, !handled); - handled = true; - } - } - return handled; - }; - node3.pasteFile = function(file) { - if (file.type.startsWith("image/")) { - const is_pasted = file.name === "image.png" && file.lastModified - Date.now() < 2e3; - uploadFile2(file, true, is_pasted); - return true; - } - return false; - }; - return { widget: uploadWidget }; - } + "INT:seed": SeedWidget, + "INT:noise_seed": SeedWidget, + INT: useIntWidget(), + FLOAT: useFloatWidget(), + BOOLEAN: useBooleanWidget(), + STRING: useStringWidget(), + MARKDOWN: useMarkdownWidget(), + COMBO: useComboWidget(), + IMAGEUPLOAD: useImageUploadWidget() }; window.comfyAPI = window.comfyAPI || {}; window.comfyAPI.widgets = window.comfyAPI.widgets || {}; @@ -192744,11 +193821,33 @@ const useWidgetStore = /* @__PURE__ */ defineStore("widget", () => { }; } __name(registerCustomWidgets, "registerCustomWidgets"); + function getDefaultValue(inputData) { + if (Array.isArray(inputData[0])) + return getDefaultValue(transformComboInput(inputData)); + const widgetType = getWidgetType(inputData[0], inputData[1]?.name); + const [_2, props] = inputData; + if (!props) return void 0; + if (props.default) return props.default; + if (widgetType === "COMBO" && props.options?.length) return props.options[0]; + if (props.remote) return "Loading..."; + return void 0; + } + __name(getDefaultValue, "getDefaultValue"); + const transformComboInput = /* @__PURE__ */ __name((inputData) => { + return isComboInputSpecV1(inputData) ? [ + "COMBO", + { + options: inputData[0], + ...Object(inputData[1] || {}) + } + ] : inputData; + }, "transformComboInput"); return { widgets, getWidgetType, inputIsWidget, - registerCustomWidgets + registerCustomWidgets, + getDefaultValue }; }); var addonFit$2 = { exports: {} }; @@ -199050,12 +200149,13 @@ __name(useTerminal, "useTerminal"); const _hoisted_1$q = { class: "p-terminal rounded-none h-full w-full p-2" }; const _sfc_main$t = /* @__PURE__ */ defineComponent({ __name: "BaseTerminal", - emits: ["created"], + emits: ["created", "unmounted"], setup(__props, { emit: __emit }) { const emit2 = __emit; const terminalEl = ref(); const rootEl = ref(); emit2("created", useTerminal(terminalEl), rootEl); + onUnmounted(() => emit2("unmounted")); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", { class: "relative overflow-hidden h-full w-full bg-black", @@ -199073,7 +200173,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({ }; } }); -const BaseTerminal = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-250ab9af"]]); +const BaseTerminal = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-873a313f"]]); const _sfc_main$s = /* @__PURE__ */ defineComponent({ __name: "CommandTerminal", setup(__props) { @@ -199115,7 +200215,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({ }; } }); -const CommandTerminal = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-90a7f075"]]); +const CommandTerminal = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-14fef2e4"]]); const useExecutionStore = /* @__PURE__ */ defineStore("execution", () => { const clientId = ref(null); const activePromptId = ref(null); @@ -199331,7 +200431,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({ }; } }); -const LogsTerminal = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-03daf1c8"]]); +const LogsTerminal = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-cf0c7d52"]]); const useLogsTerminalTab = /* @__PURE__ */ __name(() => { const { t: t2 } = useI18n(); return { @@ -199422,7 +200522,7 @@ const useExtensionService = /* @__PURE__ */ __name(() => { settingStore.get("Comfy.Extension.Disabled") ); const extensions = await api.getExtensions(); - await __vitePreload(() => import("./index-BYzwFNH3.js"), true ? __vite__mapDeps([30,12,31]) : void 0, import.meta.url); + await __vitePreload(() => import("./index-D9D9jjLT.js"), true ? __vite__mapDeps([34,13,35]) : void 0, import.meta.url); extensionStore.captureCoreExtensions(); await Promise.all( extensions.filter((extension) => !extension.includes("extensions/core")).map(async (ext) => { @@ -199555,12 +200655,12 @@ class ComfySettingsDialog extends ComfyDialog$1 { super(); this.app = app2; } - dispatchChange(id3, value4, oldValue2) { + dispatchChange(id3, value4, oldValue) { this.dispatchEvent( new CustomEvent(id3 + ".change", { detail: { value: value4, - oldValue: oldValue2 + oldValue } }) ); @@ -199799,9 +200899,9 @@ function dragElement(dragEl, settings) { function restorePos() { let posString = localStorage.getItem("Comfy.MenuPosition"); if (posString) { - const pos2 = JSON.parse(posString); - newPosX = pos2.x; - newPosY = pos2.y; + const pos = JSON.parse(posString); + newPosX = pos.x; + newPosY = pos.y; positionElement(); ensureInBounds(); } @@ -200197,7 +201297,7 @@ class ComfyUI { if (!useSettingStore().get("Comfy.ConfirmClear") || confirm("Clear workflow?")) { app$1.clean(); app$1.graph.clear(); - app$1.resetView(); + useLitegraphService().resetView(); api.dispatchCustomEvent("graphCleared"); } }, "onclick") @@ -200207,7 +201307,7 @@ class ComfyUI { textContent: "Load Default", onclick: /* @__PURE__ */ __name(async () => { if (!useSettingStore().get("Comfy.ConfirmClear") || confirm("Load default workflow?")) { - app$1.resetView(); + useLitegraphService().resetView(); await app$1.loadGraphData(); } }, "onclick") @@ -200216,7 +201316,7 @@ class ComfyUI { id: "comfy-reset-view-button", textContent: "Reset View", onclick: /* @__PURE__ */ __name(async () => { - app$1.resetView(); + useLitegraphService().resetView(); }, "onclick") }) ] @@ -200337,9 +201437,26 @@ window.comfyAPI = window.comfyAPI || {}; window.comfyAPI.imagePreview = window.comfyAPI.imagePreview || {}; window.comfyAPI.imagePreview.calculateImageGrid = calculateImageGrid; window.comfyAPI.imagePreview.createImageHost = createImageHost; +const useTitleEditorStore = /* @__PURE__ */ defineStore("titleEditor", () => { + const titleEditorTarget = shallowRef(null); + return { + titleEditorTarget + }; +}); +const useCanvasStore = /* @__PURE__ */ defineStore("canvas", () => { + const canvas2 = shallowRef(null); + return { + canvas: canvas2 + }; +}); +function isImageNode(node3) { + return node3.imgs || node3 && node3.widgets && node3.widgets.findIndex((obj) => obj.name === "image") >= 0; +} +__name(isImageNode, "isImageNode"); const useLitegraphService = /* @__PURE__ */ __name(() => { const extensionService = useExtensionService(); const toastStore = useToastStore(); + const canvasStore = useCanvasStore(); async function registerNodeDef(nodeId, nodeData) { const node3 = class ComfyNode extends LGraphNode { static { @@ -200499,11 +201616,11 @@ const useLitegraphService = /* @__PURE__ */ __name(() => { await writeImage(blob); } catch (error2) { if (blob.type !== "image/png") { - const canvas = $el("canvas", { + const canvas2 = $el("canvas", { width: img.naturalWidth, height: img.naturalHeight }); - const ctx = canvas.getContext("2d"); + const ctx = canvas2.getContext("2d"); let image2; if (typeof window.createImageBitmap === "undefined") { image2 = new Image(); @@ -200520,7 +201637,7 @@ const useLitegraphService = /* @__PURE__ */ __name(() => { } try { ctx.drawImage(image2, 0, 0); - canvas.toBlob(writeImage, "image/png"); + canvas2.toBlob(writeImage, "image/png"); } finally { if (typeof image2.close === "function") { image2.close(); @@ -200603,7 +201720,7 @@ const useLitegraphService = /* @__PURE__ */ __name(() => { }, "callback") }); } - if (ComfyApp.isImageNode(this)) { + if (isImageNode(this)) { options4.push({ content: "Open in MaskEditor", callback: /* @__PURE__ */ __name((obj) => { @@ -200712,12 +201829,12 @@ const useLitegraphService = /* @__PURE__ */ __name(() => { ); if (this.animatedImages) { if (widgetIdx > -1) { - const widget2 = this.widgets[widgetIdx]; - widget2.options.host.updateImages(this.imgs); + const widget = this.widgets[widgetIdx]; + widget.options.host.updateImages(this.imgs); } else { const host = createImageHost(this); this.setSizeForImage(true); - const widget2 = this.addDOMWidget( + const widget = this.addDOMWidget( ANIM_PREVIEW_WIDGET, "img", host.el, @@ -200728,8 +201845,8 @@ const useLitegraphService = /* @__PURE__ */ __name(() => { hideOnZoom: false } ); - widget2.serializeValue = () => void 0; - widget2.options.host.updateImages(this.imgs); + widget.serializeValue = () => void 0; + widget.options.host.updateImages(this.imgs); } return; } @@ -200737,9 +201854,9 @@ const useLitegraphService = /* @__PURE__ */ __name(() => { this.widgets[widgetIdx].onRemove?.(); this.widgets.splice(widgetIdx, 1); } - const canvas = app$1.graph.list_of_graphcanvas[0]; - const mouse = canvas.graph_mouse; - if (!canvas.pointer_is_down && this.pointerDown) { + const canvas2 = app$1.graph.list_of_graphcanvas[0]; + const mouse = canvas2.graph_mouse; + if (!canvas2.pointer_is_down && this.pointerDown) { if (mouse[0] === this.pointerDown.pos[0] && mouse[1] === this.pointerDown.pos[1]) { this.imageIndex = this.pointerDown.index; } @@ -200805,14 +201922,14 @@ const useLitegraphService = /* @__PURE__ */ __name(() => { if (anyHovered) { this.overIndex = i2; let value4 = 110; - if (canvas.pointer_is_down) { + if (canvas2.pointer_is_down) { if (!this.pointerDown || this.pointerDown.index !== i2) { this.pointerDown = { index: i2, pos: [...mouse] }; } value4 = 125; } ctx.filter = `contrast(${value4}%) brightness(${value4}%)`; - canvas.canvas.style.cursor = "pointer"; + canvas2.canvas.style.cursor = "pointer"; } } this.imageRects.push([x22, y22, cellWidth, cellHeight]); @@ -200871,8 +201988,8 @@ const useLitegraphService = /* @__PURE__ */ __name(() => { let textFill = "#fff"; let isClicking = false; if (hovered) { - canvas.canvas.style.cursor = "pointer"; - if (canvas.pointer_is_down) { + canvas2.canvas.style.cursor = "pointer"; + if (canvas2.pointer_is_down) { fill2 = "#1e90ff"; isClicking = true; } else { @@ -200970,11 +202087,20 @@ const useLitegraphService = /* @__PURE__ */ __name(() => { app$1.canvas.animateToBounds(graphNode.boundingRect); } __name(goToNode, "goToNode"); + function resetView() { + const canvas2 = canvasStore.canvas; + if (!canvas2) return; + canvas2.ds.scale = 1; + canvas2.ds.offset = [0, 0]; + canvas2.setDirty(true, true); + } + __name(resetView, "resetView"); return { registerNodeDef, addNodeOnGraph, getCanvasCenter, - goToNode + goToNode, + resetView }; }, "useLitegraphService"); const defaultGraph = { @@ -201093,7 +202219,7 @@ const defaultGraph = { { name: "VAE", type: "VAE", links: [8], slot_index: 2 } ], properties: {}, - widgets_values: ["v1-5-pruned-emaonly.ckpt"] + widgets_values: ["v1-5-pruned-emaonly-fp16.safetensors"] } ], links: [ @@ -201184,12 +202310,12 @@ function applyTextReplacements(app2, value4) { console.warn("Multiple nodes matched", split2[0], "using first match"); } const node3 = nodes[0]; - const widget2 = node3.widgets?.find((w2) => w2.name === split2[1]); - if (!widget2) { + const widget = node3.widgets?.find((w2) => w2.name === split2[1]); + if (!widget) { console.warn("Unable to find widget", split2[1], "on node", split2[0], node3); return match2; } - return ((widget2.value ?? "") + "").replaceAll(/\/|\\/g, "_"); + return ((widget.value ?? "") + "").replaceAll(/\/|\\/g, "_"); }); } __name(applyTextReplacements, "applyTextReplacements"); @@ -203630,13 +204756,16 @@ const useWorkflowService = /* @__PURE__ */ __name(() => { } ); }, "openWorkflow"); - const closeWorkflow = /* @__PURE__ */ __name(async (workflow, options4 = { warnIfUnsaved: true }) => { + const closeWorkflow = /* @__PURE__ */ __name(async (workflow, options4 = { + warnIfUnsaved: true + }) => { if (workflow.isModified && options4.warnIfUnsaved) { const confirmed = await dialogService.confirm({ title: t("sideToolbar.workflowTab.dirtyCloseTitle"), type: "dirtyClose", message: t("sideToolbar.workflowTab.dirtyClose"), - itemList: [workflow.path] + itemList: [workflow.path], + hint: options4.hint }); if (confirmed === null) return false; if (confirmed === true) { @@ -203716,20 +204845,20 @@ const useWorkflowService = /* @__PURE__ */ __name(() => { loadedWorkflow.changeTracker.reset(workflowData); loadedWorkflow.changeTracker.restore(); }, "afterLoadNewGraph"); - const insertWorkflow = /* @__PURE__ */ __name(async (workflow) => { + const insertWorkflow = /* @__PURE__ */ __name(async (workflow, options4 = {}) => { const loadedWorkflow = await workflow.load(); const data26 = loadedWorkflow.initialState; const old = localStorage.getItem("litegrapheditor_clipboard"); const graph = new LGraph(data26); const canvasElement = document.createElement("canvas"); - const canvas = new LGraphCanvas(canvasElement, graph, { + const canvas2 = new LGraphCanvas(canvasElement, graph, { skip_events: true, skip_render: true }); - canvas.reroutesEnabled = app$1.canvas.reroutesEnabled; - canvas.selectItems(); - canvas.copyToClipboard(); - app$1.canvas.pasteFromClipboard(); + canvas2.reroutesEnabled = app$1.canvas.reroutesEnabled; + canvas2.selectItems(); + canvas2.copyToClipboard(); + app$1.canvas.pasteFromClipboard(options4); if (old !== null) { localStorage.setItem("litegrapheditor_clipboard", old); } @@ -206074,17 +207203,17 @@ function serialise(nodes, graph) { return JSON.stringify(serialisable); } __name(serialise, "serialise"); -function deserialiseAndCreate(data26, canvas) { +function deserialiseAndCreate(data26, canvas2) { if (!data26) return; - const { graph, graph_mouse } = canvas; - canvas.emitBeforeChange(); + const { graph, graph_mouse } = canvas2; + canvas2.emitBeforeChange(); try { graph.beforeChange(); const deserialised = JSON.parse(data26); const topLeft = [Infinity, Infinity]; - for (const { pos: pos2 } of deserialised.nodes) { - if (topLeft[0] > pos2[0]) topLeft[0] = pos2[0]; - if (topLeft[1] > pos2[1]) topLeft[1] = pos2[1]; + for (const { pos } of deserialised.nodes) { + if (topLeft[0] > pos[0]) topLeft[0] = pos[0]; + if (topLeft[1] > pos[1]) topLeft[1] = pos[1]; } if (!Number.isFinite(topLeft[0]) || !Number.isFinite(topLeft[1])) { topLeft[0] = graph_mouse[0]; @@ -206107,10 +207236,10 @@ function deserialiseAndCreate(data26, canvas) { if (outNode && inNode) outNode.connect(info[1], inNode, info[3]); else console.warn("Warning, nodes missing on pasting"); } - canvas.selectNodes(nodes); + canvas2.selectNodes(nodes); graph.afterChange(); } finally { - canvas.emitAfterChange(); + canvas2.emitAfterChange(); } } __name(deserialiseAndCreate, "deserialiseAndCreate"); @@ -206384,7 +207513,7 @@ async function importA1111(graph, parameters) { const getWidget = /* @__PURE__ */ __name((node3, name2) => { return node3.widgets.find((w2) => w2.name === name2); }, "getWidget"); - const setWidgetValue2 = /* @__PURE__ */ __name((node3, name2, value4, isOptionPrefix) => { + const setWidgetValue = /* @__PURE__ */ __name((node3, name2, value4, isOptionPrefix) => { const w2 = getWidget(node3, name2); if (isOptionPrefix) { const o2 = w2.options.values.find((w22) => w22.startsWith(value4)); @@ -206413,9 +207542,9 @@ async function importA1111(graph, parameters) { for (const l2 of loras) { const loraNode = LiteGraph.createNode("LoraLoader"); graph.add(loraNode); - setWidgetValue2(loraNode, "lora_name", l2.name, true); - setWidgetValue2(loraNode, "strength_model", l2.weight); - setWidgetValue2(loraNode, "strength_clip", l2.weight); + setWidgetValue(loraNode, "lora_name", l2.name, true); + setWidgetValue(loraNode, "strength_model", l2.weight); + setWidgetValue(loraNode, "strength_clip", l2.weight); prevModel.node.connect(prevModel.index, loraNode, 0); prevClip.node.connect(prevClip.index, loraNode, 1); prevModel = { node: loraNode, index: 0 }; @@ -206465,31 +207594,31 @@ async function importA1111(graph, parameters) { vaeLoaderNode.connect(0, vaeNode, 1); const handlers2 = { model(v2) { - setWidgetValue2(ckptNode, "ckpt_name", v2, true); + setWidgetValue(ckptNode, "ckpt_name", v2, true); }, vae(v2) { - setWidgetValue2(vaeLoaderNode, "vae_name", v2, true); + setWidgetValue(vaeLoaderNode, "vae_name", v2, true); }, "cfg scale"(v2) { - setWidgetValue2(samplerNode, "cfg", +v2); + setWidgetValue(samplerNode, "cfg", +v2); }, "clip skip"(v2) { - setWidgetValue2(clipSkipNode, "stop_at_clip_layer", -v2); + setWidgetValue(clipSkipNode, "stop_at_clip_layer", -v2); }, sampler(v2) { let name2 = v2.toLowerCase().replace("++", "pp").replaceAll(" ", "_"); if (name2.includes("karras")) { name2 = name2.replace("karras", "").replace(/_+$/, ""); - setWidgetValue2(samplerNode, "scheduler", "karras"); + setWidgetValue(samplerNode, "scheduler", "karras"); } else { - setWidgetValue2(samplerNode, "scheduler", "normal"); + setWidgetValue(samplerNode, "scheduler", "normal"); } const w2 = getWidget(samplerNode, "sampler_name"); const o2 = w2.options.values.find( (w22) => w22 === name2 || w22 === "sample_" + name2 ); if (o2) { - setWidgetValue2(samplerNode, "sampler_name", o2); + setWidgetValue(samplerNode, "sampler_name", o2); } }, size(v2) { @@ -206500,8 +207629,8 @@ async function importA1111(graph, parameters) { const hrSz = popOpt("hires resize"); hrSteps = popOpt("hires steps"); let hrMethod = popOpt("hires upscaler"); - setWidgetValue2(imageNode, "width", w2); - setWidgetValue2(imageNode, "height", h2); + setWidgetValue(imageNode, "width", w2); + setWidgetValue(imageNode, "height", h2); if (hrUp || hrSz) { let uw, uh; if (hrUp) { @@ -206523,7 +207652,7 @@ async function importA1111(graph, parameters) { hrMethod = "nearest-exact"; break; } - setWidgetValue2(upscaleNode, "upscale_method", hrMethod, true); + setWidgetValue(upscaleNode, "upscale_method", hrMethod, true); } else { const decode2 = LiteGraph.createNode("VAEDecodeTiled"); graph.add(decode2); @@ -206531,7 +207660,7 @@ async function importA1111(graph, parameters) { vaeLoaderNode.connect(0, decode2, 1); const upscaleLoaderNode = LiteGraph.createNode("UpscaleModelLoader"); graph.add(upscaleLoaderNode); - setWidgetValue2(upscaleLoaderNode, "model_name", hrMethod, true); + setWidgetValue(upscaleLoaderNode, "model_name", hrMethod, true); const modelUpscaleNode = LiteGraph.createNode( "ImageUpscaleWithModel" ); @@ -206546,8 +207675,8 @@ async function importA1111(graph, parameters) { upscaleNode.connect(0, vaeEncodeNode, 0); vaeLoaderNode.connect(0, vaeEncodeNode, 1); } - setWidgetValue2(upscaleNode, "width", ceil64(uw)); - setWidgetValue2(upscaleNode, "height", ceil64(uh)); + setWidgetValue(upscaleNode, "width", ceil64(uw)); + setWidgetValue(upscaleNode, "height", ceil64(uh)); hrSamplerNode = LiteGraph.createNode("KSampler"); graph.add(hrSamplerNode); ckptNode.connect(0, hrSamplerNode, 0); @@ -206558,10 +207687,10 @@ async function importA1111(graph, parameters) { } }, steps(v2) { - setWidgetValue2(samplerNode, "steps", +v2); + setWidgetValue(samplerNode, "steps", +v2); }, seed(v2) { - setWidgetValue2(samplerNode, "seed", +v2); + setWidgetValue(samplerNode, "seed", +v2); } }; for (const opt in opts) { @@ -206570,27 +207699,27 @@ async function importA1111(graph, parameters) { } } if (hrSamplerNode) { - setWidgetValue2( + setWidgetValue( hrSamplerNode, "steps", hrSteps ? +hrSteps : getWidget(samplerNode, "steps").value ); - setWidgetValue2( + setWidgetValue( hrSamplerNode, "cfg", getWidget(samplerNode, "cfg").value ); - setWidgetValue2( + setWidgetValue( hrSamplerNode, "scheduler", getWidget(samplerNode, "scheduler").value ); - setWidgetValue2( + setWidgetValue( hrSamplerNode, "sampler_name", getWidget(samplerNode, "sampler_name").value ); - setWidgetValue2( + setWidgetValue( hrSamplerNode, "denoise", +(popOpt("denoising strength") || "1") @@ -206605,8 +207734,8 @@ async function importA1111(graph, parameters) { positive = n2.text; n2 = createLoraNodes(negativeNode, negative, n2.prevClip, n2.prevModel); negative = n2.text; - setWidgetValue2(positiveNode, "text", replaceEmbeddings(positive)); - setWidgetValue2(negativeNode, "text", replaceEmbeddings(negative)); + setWidgetValue(positiveNode, "text", replaceEmbeddings(positive)); + setWidgetValue(negativeNode, "text", replaceEmbeddings(negative)); graph.arrange(); for (const opt of [ "model hash", @@ -207403,8 +208532,6 @@ class ComfyApp { canvas; dragOverNode; canvasEl; - // x, y, scale - zoom_drag_start; lastNodeErrors; /** @type {ExecutionErrorWsMessage} */ lastExecutionError; @@ -207467,17 +208594,28 @@ class ComfyApp { get progress() { return useExecutionStore()._executingNodeProgress; } + /** + * @deprecated Use {@link isImageNode} from @/utils/litegraphUtil instead + */ + static isImageNode(node3) { + return isImageNode(node3); + } + /** + * Resets the canvas view to the default + * @deprecated Use {@link useLitegraphService().resetView} instead + */ + resetView() { + useLitegraphService().resetView(); + } constructor() { this.vueAppReady = false; this.ui = new ComfyUI(this); this.api = api; - this.bodyTop = $el("div.comfyui-body-top", { parent: document.body }); - this.bodyLeft = $el("div.comfyui-body-left", { parent: document.body }); - this.bodyRight = $el("div.comfyui-body-right", { parent: document.body }); - this.bodyBottom = $el("div.comfyui-body-bottom", { parent: document.body }); - this.canvasContainer = $el("div.graph-canvas-container", { - parent: document.body - }); + this.bodyTop = $el("div.comfyui-body-top"); + this.bodyLeft = $el("div.comfyui-body-left"); + this.bodyRight = $el("div.comfyui-body-right"); + this.bodyBottom = $el("div.comfyui-body-bottom"); + this.canvasContainer = $el("div.graph-canvas-container"); this.menu = new ComfyAppMenu(this); this.bypassBgColor = "#FF00FF"; this.nodeOutputs = {}; @@ -207499,9 +208637,6 @@ class ComfyApp { getRandParam() { return "&rand=" + Math.random(); } - static isImageNode(node3) { - return node3.imgs || node3 && node3.widgets && node3.widgets.findIndex((obj) => obj.name === "image") >= 0; - } static onClipspaceEditorSave() { if (ComfyApp.clipspace_return_node) { ComfyApp.pasteFromClipspace(ComfyApp.clipspace_return_node); @@ -207685,113 +208820,6 @@ class ComfyApp { false ); } - /** - * Adds a handler on paste that extracts and loads images or workflows from pasted JSON data - */ - #addPasteHandler() { - document.addEventListener("paste", async (e2) => { - if (this.shiftDown) return; - let data26 = e2.clipboardData || window.clipboardData; - const items2 = data26.items; - for (const item3 of items2) { - if (item3.type.startsWith("image/")) { - var imageNode = null; - if (this.canvas.current_node && this.canvas.current_node.is_selected && ComfyApp.isImageNode(this.canvas.current_node)) { - imageNode = this.canvas.current_node; - } - if (!imageNode) { - const newNode = LiteGraph.createNode("LoadImage"); - newNode.pos = [...this.canvas.graph_mouse]; - imageNode = this.graph.add(newNode); - this.graph.change(); - } - const blob = item3.getAsFile(); - imageNode.pasteFile(blob); - return; - } - } - data26 = data26.getData("text/plain"); - let workflow = null; - try { - data26 = data26.slice(data26.indexOf("{")); - workflow = JSON.parse(data26); - } catch (err) { - try { - data26 = data26.slice(data26.indexOf("workflow\n")); - data26 = data26.slice(data26.indexOf("{")); - workflow = JSON.parse(data26); - } catch (error2) { - workflow = null; - } - } - if (workflow && workflow.version && workflow.nodes && workflow.extra) { - await this.loadGraphData(workflow); - } else { - if (e2.target instanceof HTMLTextAreaElement && e2.target.type === "textarea" || e2.target instanceof HTMLInputElement && e2.target.type === "text") { - return; - } - this.canvas.pasteFromClipboard(); - } - }); - } - /** - * Adds a handler on copy that serializes selected nodes to JSON - */ - #addCopyHandler() { - document.addEventListener("copy", (e2) => { - if (!(e2.target instanceof Element)) { - return; - } - if (e2.target instanceof HTMLTextAreaElement && e2.target.type === "textarea" || e2.target instanceof HTMLInputElement && e2.target.type === "text") { - return; - } - const isTargetInGraph = e2.target.classList.contains("litegraph") || e2.target.classList.contains("graph-canvas-container") || e2.target.id === "graph-canvas"; - if (isTargetInGraph && this.canvas.selected_nodes) { - this.canvas.copyToClipboard(); - e2.clipboardData.setData("text", " "); - e2.preventDefault(); - e2.stopImmediatePropagation(); - return false; - } - }); - } - /** - * Handle mouse - * - * Move group by header - */ - #addProcessMouseHandler() { - const self2 = this; - const origProcessMouseDown = LGraphCanvas.prototype.processMouseDown; - LGraphCanvas.prototype.processMouseDown = function(e2) { - const useFastZoom = useSettingStore().get("Comfy.Graph.CtrlShiftZoom"); - if (useFastZoom && e2.ctrlKey && e2.shiftKey && !e2.altKey && e2.buttons) { - self2.zoom_drag_start = [e2.x, e2.y, this.ds.scale]; - return; - } - const res = origProcessMouseDown.apply(this, arguments); - return res; - }; - const origProcessMouseMove = LGraphCanvas.prototype.processMouseMove; - LGraphCanvas.prototype.processMouseMove = function(e2) { - if (e2.ctrlKey && e2.shiftKey && self2.zoom_drag_start) { - if (!e2.buttons) { - self2.zoom_drag_start = null; - return; - } - let deltaY = e2.y - self2.zoom_drag_start[1]; - let startScale = self2.zoom_drag_start[2]; - let scale = startScale - deltaY / 100; - this.ds.changeScale(scale, [ - self2.zoom_drag_start[0], - self2.zoom_drag_start[1] - ]); - this.graph.change(); - return; - } - return origProcessMouseMove.apply(this, arguments); - }; - } /** * Handle keypress */ @@ -207829,40 +208857,6 @@ class ComfyApp { return origProcessKey.apply(this, arguments); }; } - /** - * Draws group header bar - */ - #addDrawGroupsHandler() { - const self2 = this; - const origDrawGroups = LGraphCanvas.prototype.drawGroups; - LGraphCanvas.prototype.drawGroups = function(canvas, ctx) { - if (!this.graph) { - return; - } - var groups = this.graph.groups; - ctx.save(); - ctx.globalAlpha = 0.7 * this.editor_alpha; - for (var i2 = 0; i2 < groups.length; ++i2) { - var group = groups[i2]; - if (!LiteGraph.overlapBounding(this.visible_area, group._bounding)) { - continue; - } - ctx.fillStyle = group.color || "#335"; - ctx.strokeStyle = group.color || "#335"; - var pos2 = group._pos; - var size = group._size; - ctx.globalAlpha = 0.25 * this.editor_alpha; - ctx.beginPath(); - var font_size = group.font_size || LiteGraph.DEFAULT_GROUP_FONT_SIZE; - ctx.rect(pos2[0] + 0.5, pos2[1] + 0.5, size[0], font_size * 1.4); - ctx.fill(); - ctx.globalAlpha = this.editor_alpha; - } - ctx.restore(); - const res = origDrawGroups.apply(this, arguments); - return res; - }; - } /** * Draws node highlights (executing, drag drop) and progress bar */ @@ -207886,45 +208880,19 @@ class ComfyApp { lineWidth = 2; } if (color2) { - const shape = node3._shape || node3.constructor.shape || LiteGraph.ROUND_SHAPE; - ctx.lineWidth = lineWidth; - ctx.globalAlpha = 0.8; - ctx.beginPath(); - if (shape == LiteGraph.BOX_SHAPE) - ctx.rect( - -6, - -6 - LiteGraph.NODE_TITLE_HEIGHT, - 12 + size[0] + 1, - 12 + size[1] + LiteGraph.NODE_TITLE_HEIGHT - ); - else if (shape == LiteGraph.ROUND_SHAPE || shape == LiteGraph.CARD_SHAPE && node3.flags.collapsed) - ctx.roundRect( - -6, - -6 - LiteGraph.NODE_TITLE_HEIGHT, - 12 + size[0] + 1, - 12 + size[1] + LiteGraph.NODE_TITLE_HEIGHT, - this.round_radius * 2 - ); - else if (shape == LiteGraph.CARD_SHAPE) - ctx.roundRect( - -6, - -6 - LiteGraph.NODE_TITLE_HEIGHT, - 12 + size[0] + 1, - 12 + size[1] + LiteGraph.NODE_TITLE_HEIGHT, - [this.round_radius * 2, this.round_radius * 2, 2, 2] - ); - else if (shape == LiteGraph.CIRCLE_SHAPE) - ctx.arc( - size[0] * 0.5, - size[1] * 0.5, - size[0] * 0.5 + 6, - 0, - Math.PI * 2 - ); - ctx.strokeStyle = color2; - ctx.stroke(); - ctx.strokeStyle = fgcolor; - ctx.globalAlpha = 1; + const area = [ + 0, + -LiteGraph.NODE_TITLE_HEIGHT, + size[0], + size[1] + LiteGraph.NODE_TITLE_HEIGHT + ]; + strokeShape(ctx, area, { + shape: node3._shape || node3.constructor.shape || LiteGraph.ROUND_SHAPE, + thickness: lineWidth, + colour: color2, + title_height: LiteGraph.NODE_TITLE_HEIGHT, + collapsed: node3.collapsed + }); } if (self2.progress && node3.id === +self2.runningNodeId) { ctx.fillStyle = "green"; @@ -207943,11 +208911,11 @@ class ComfyApp { if (error2.extra_info && error2.extra_info.input_name) { const inputIndex = node3.findInputSlot(error2.extra_info.input_name); if (inputIndex !== -1) { - let pos2 = node3.getConnectionPos(true, inputIndex); + let pos = node3.getConnectionPos(true, inputIndex); ctx.beginPath(); ctx.arc( - pos2[0] - node3.pos[0], - pos2[1] - node3.pos[1], + pos[0] - node3.pos[0], + pos[1] - node3.pos[1], 12, 0, 2 * Math.PI, @@ -208077,11 +209045,15 @@ class ComfyApp { * Set up the app on the page */ async setup(canvasEl) { + this.bodyTop = document.getElementById("comfyui-body-top"); + this.bodyLeft = document.getElementById("comfyui-body-left"); + this.bodyRight = document.getElementById("comfyui-body-right"); + this.bodyBottom = document.getElementById("comfyui-body-bottom"); + this.canvasContainer = document.getElementById("graph-canvas-container"); this.canvasEl = canvasEl; this.resizeCanvas(); await useWorkspaceStore().workflow.syncWorkflows(); await useExtensionService().loadExtensions(); - this.#addProcessMouseHandler(); this.#addProcessKeyHandler(); this.#addConfigureHandler(); this.#addApiUpdateHandlers(); @@ -208103,10 +209075,7 @@ class ComfyApp { await useExtensionService().invokeExtensionsAsync("init"); await this.registerNodes(); this.#addDrawNodeHandler(); - this.#addDrawGroupsHandler(); this.#addDropHandler(); - this.#addCopyHandler(); - this.#addPasteHandler(); await useExtensionService().invokeExtensionsAsync("setup"); } resizeCanvas() { @@ -208310,8 +209279,8 @@ class ComfyApp { } catch (error2) { let errorHint = []; const filename = error2.fileName || (error2.stack || "").match(/(\/extensions\/.*\.js)/)?.[1]; - const pos2 = (filename || "").indexOf("/extensions/"); - if (pos2 > -1) { + const pos = (filename || "").indexOf("/extensions/"); + if (pos > -1) { errorHint.push( $el("span", { textContent: "This may be due to the following script:" @@ -208321,7 +209290,7 @@ class ComfyApp { style: { fontWeight: "bold" }, - textContent: filename.substring(pos2) + textContent: filename.substring(pos) }) ); } @@ -208356,27 +209325,27 @@ class ComfyApp { size[1] = Math.max(node3.size[1], size[1]); node3.size = size; if (node3.widgets) { - for (let widget2 of node3.widgets) { + for (let widget of node3.widgets) { if (node3.type == "KSampler" || node3.type == "KSamplerAdvanced") { - if (widget2.name == "sampler_name") { - if (typeof widget2.value === "string" && widget2.value.startsWith("sample_")) { - widget2.value = widget2.value.slice(7); + if (widget.name == "sampler_name") { + if (typeof widget.value === "string" && widget.value.startsWith("sample_")) { + widget.value = widget.value.slice(7); } } } if (node3.type == "KSampler" || node3.type == "KSamplerAdvanced" || node3.type == "PrimitiveNode") { - if (widget2.name == "control_after_generate") { - if (widget2.value === true) { - widget2.value = "randomize"; - } else if (widget2.value === false) { - widget2.value = "fixed"; + if (widget.name == "control_after_generate") { + if (widget.value === true) { + widget.value = "randomize"; + } else if (widget.value === false) { + widget.value = "fixed"; } } } if (reset_invalid_values) { - if (widget2.type == "combo") { - if (!widget2.options.values.includes(widget2.value) && widget2.options.values.length > 0) { - widget2.value = widget2.options.values[0]; + if (widget.type == "combo") { + if (!widget.options.values.includes(widget.value) && widget.options.values.length > 0) { + widget.value = widget.options.values[0]; } } } @@ -208421,8 +209390,8 @@ class ComfyApp { async graphToPrompt(graph = this.graph, clean = true) { for (const outerNode of graph.computeExecutionOrder(false)) { if (outerNode.widgets) { - for (const widget2 of outerNode.widgets) { - widget2.beforeQueued?.(); + for (const widget of outerNode.widgets) { + widget.beforeQueued?.(); } } const innerNodes = outerNode.getInnerNodes ? outerNode.getInnerNodes() : [outerNode]; @@ -208457,14 +209426,14 @@ class ComfyApp { const inputs = {}; const widgets = node3.widgets; if (widgets) { - for (const i2 in widgets) { - const widget2 = widgets[i2]; - if (!widget2.options || widget2.options.serialize !== false) { - inputs[widget2.name] = widget2.serializeValue ? await widget2.serializeValue(node3, i2) : widget2.value; + for (let i2 = 0; i2 < widgets.length; i2++) { + const widget = widgets[i2]; + if (!widget.options || widget.options.serialize !== false) { + inputs[widget.name] = widget.serializeValue ? await widget.serializeValue(node3, i2) : widget.value; } } } - for (let i2 in node3.inputs) { + for (let i2 = 0; i2 < node3.inputs.length; i2++) { let parent = node3.getInputNode(i2); if (parent) { let link2 = node3.getInputLink(i2); @@ -208506,6 +209475,7 @@ class ComfyApp { if (link2) { inputs[node3.inputs[i2].name] = [ String(link2.origin_id), + // @ts-expect-error link.origin_slot is already number. parseInt(link2.origin_slot) ]; } @@ -208596,9 +209566,9 @@ class ComfyApp { for (const n2 of p2.workflow.nodes) { const node3 = this.graph.getNodeById(n2.id); if (node3.widgets) { - for (const widget2 of node3.widgets) { - if (widget2.afterQueued) { - widget2.afterQueued(); + for (const widget of node3.widgets) { + if (widget.afterQueued) { + widget.afterQueued(); } } } @@ -208746,8 +209716,8 @@ class ComfyApp { let toSlot = node3.inputs?.findIndex((inp) => inp.name === input); if (toSlot == null || toSlot === -1) { try { - const widget2 = node3.widgets?.find((w2) => w2.name === input); - if (widget2 && node3.convertWidgetToInput?.(widget2)) { + const widget = node3.widgets?.find((w2) => w2.name === input); + if (widget && node3.convertWidgetToInput?.(widget)) { toSlot = node3.inputs?.length - 1; } } catch (error2) { @@ -208757,10 +209727,10 @@ class ComfyApp { fromNode.connect(fromSlot, node3, toSlot); } } else { - const widget2 = node3.widgets?.find((w2) => w2.name === input); - if (widget2) { - widget2.value = value4; - widget2.callback?.(value4); + const widget = node3.widgets?.find((w2) => w2.name === input); + if (widget) { + widget.value = value4; + widget.callback?.(value4); } } } @@ -208777,8 +209747,8 @@ class ComfyApp { let toSlot = node3.inputs?.findIndex((inp) => inp.name === input); if (toSlot == null || toSlot === -1) { try { - const widget2 = node3.widgets?.find((w2) => w2.name === input); - if (widget2 && node3.convertWidgetToInput?.(widget2)) { + const widget = node3.widgets?.find((w2) => w2.name === input); + if (widget && node3.convertWidgetToInput?.(widget)) { toSlot = node3.inputs?.length - 1; } } catch (error2) { @@ -208788,10 +209758,10 @@ class ComfyApp { fromNode.connect(fromSlot, node3, toSlot); } } else { - const widget2 = node3.widgets?.find((w2) => w2.name === input); - if (widget2) { - widget2.value = value4; - widget2.callback?.(value4); + const widget = node3.widgets?.find((w2) => w2.name === input); + if (widget) { + widget.value = value4; + widget.callback?.(value4); } } } @@ -208829,9 +209799,9 @@ class ComfyApp { node3.refreshComboInNode?.(defs); if (!def2) continue; for (const widgetNum in node3.widgets) { - const widget2 = node3.widgets[widgetNum]; - if (widget2.type == "combo" && def2["input"]["required"][widget2.name] !== void 0) { - widget2.options.values = def2["input"]["required"][widget2.name][0]; + const widget = node3.widgets[widgetNum]; + if (widget.type == "combo" && def2["input"]["required"][widget.name] !== void 0) { + widget.options.values = def2["input"]["required"][widget.name][0]; } } } @@ -208850,11 +209820,6 @@ class ComfyApp { }); } } - resetView() { - app$1.canvas.ds.scale = 1; - app$1.canvas.ds.offset = [0, 0]; - app$1.graph.setDirtyCanvas(true, true); - } /** * Frees memory allocated to image preview blobs for a specific node, by revoking the URLs associated with them. * @param nodeId ID of the node to revoke all preview images of @@ -208877,17 +209842,17 @@ class ComfyApp { this.lastNodeErrors = null; this.lastExecutionError = null; } - clientPosToCanvasPos(pos2) { + clientPosToCanvasPos(pos) { const rect = this.canvasContainer.getBoundingClientRect(); const containerOffsets = [rect.left, rect.top]; - return _.zip(pos2, this.canvas.ds.offset, containerOffsets).map( + return _.zip(pos, this.canvas.ds.offset, containerOffsets).map( ([p2, o1, o2]) => (p2 - o2) / this.canvas.ds.scale - o1 ); } - canvasPosToClientPos(pos2) { + canvasPosToClientPos(pos) { const rect = this.canvasContainer.getBoundingClientRect(); const containerOffsets = [rect.left, rect.top]; - return _.zip(pos2, this.canvas.ds.offset, containerOffsets).map( + return _.zip(pos, this.canvas.ds.offset, containerOffsets).map( ([p2, o1, o2]) => (p2 + o1) * this.canvas.ds.scale + o2 ); } @@ -210998,11 +211963,11 @@ var script$1$7 = { }, "ariaSelected") }, components: { - Checkbox: script$K, + Checkbox: script$J, ChevronDownIcon: script$n, ChevronRightIcon: script$p, - CheckIcon: script$M, - MinusIcon: script$L, + CheckIcon: script$L, + MinusIcon: script$K, SpinnerIcon: script$X }, directives: { @@ -211455,7 +212420,7 @@ var script$b = { }, components: { TreeNode: script$1$7, - InputText: script$J, + InputText: script$I, InputIcon: script$B, IconField: script$C, SearchIcon: script$D, @@ -213411,7 +214376,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({ }; return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1$m, [ - !props.isEditing ? (openBlock(), createElementBlock("span", _hoisted_2$g, toDisplayString$1(_ctx.modelValue), 1)) : withDirectives((openBlock(), createBlock(unref(script$J), { + !props.isEditing ? (openBlock(), createElementBlock("span", _hoisted_2$g, toDisplayString$1(_ctx.modelValue), 1)) : withDirectives((openBlock(), createBlock(unref(script$I), { key: 1, type: "text", size: "small", @@ -213502,7 +214467,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({ const errorHandling = useErrorHandling(); const handleRename = errorHandling.wrapWithErrorHandlingAsync( async (newName) => { - await props.node.handleRename(props.node, newName); + await props.node.handleRename(newName); }, props.node.handleError, () => { @@ -213525,7 +214490,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({ onGenerateDragPreview: props.node.renderDragPreview ? ({ nativeSetDragImage }) => { setCustomNativeDragPreview({ render: /* @__PURE__ */ __name(({ container: container2 }) => { - return props.node.renderDragPreview(props.node, container2); + return props.node.renderDragPreview(container2); }, "render"), nativeSetDragImage }); @@ -213537,7 +214502,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({ onDrop: /* @__PURE__ */ __name(async (event) => { const dndData = event.source.data; if (dndData.type === "tree-explorer-node") { - await props.node.handleDrop?.(props.node, dndData); + await props.node.handleDrop?.(dndData); canDrop.value = false; emit2("itemDropped", props.node, dndData.data); } @@ -213596,7 +214561,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({ }; } }); -const TreeExplorerTreeNode = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-654109c7"]]); +const TreeExplorerTreeNode = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-a945b5a8"]]); const _sfc_main$o = /* @__PURE__ */ defineComponent({ __name: "TreeExplorer", props: /* @__PURE__ */ mergeModels({ @@ -213622,7 +214587,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({ }); const getTreeNodeIcon = /* @__PURE__ */ __name((node3) => { if (node3.getIcon) { - const icon3 = node3.getIcon(node3); + const icon3 = node3.getIcon(); if (icon3) { return icon3; } @@ -213644,7 +214609,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({ children, type: node3.leaf ? "node" : "folder", totalLeaves, - badgeText: node3.getBadgeText ? node3.getBadgeText(node3) : null + badgeText: node3.getBadgeText ? node3.getBadgeText() : null }; }, "fillNodeInfo"); const onNodeContentClick = /* @__PURE__ */ __name(async (e2, node3) => { @@ -213652,7 +214617,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({ selectionKeys.value = {}; } if (node3.handleClick) { - await node3.handleClick(node3, e2); + await node3.handleClick(e2); } emit2("nodeClick", node3, e2); }, "onNodeContentClick"); @@ -213669,7 +214634,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({ renameEditingNode.value = node3; }, "renameCommand"); const deleteCommand = /* @__PURE__ */ __name(async (node3) => { - await node3.handleDelete?.(node3); + await node3.handleDelete?.(); emit2("nodeDelete", node3); }, "deleteCommand"); const menuItems = computed( @@ -213762,7 +214727,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({ }; } }); -const TreeExplorer = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-976a6d58"]]); +const TreeExplorer = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-e3a237e6"]]); var theme$6 = /* @__PURE__ */ __name(function theme36(_ref) { var dt2 = _ref.dt; return "\n.p-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n padding: ".concat(dt2("toolbar.padding"), ";\n background: ").concat(dt2("toolbar.background"), ";\n border: 1px solid ").concat(dt2("toolbar.border.color"), ";\n color: ").concat(dt2("toolbar.color"), ";\n border-radius: ").concat(dt2("toolbar.border.radius"), ";\n gap: ").concat(dt2("toolbar.gap"), ";\n}\n\n.p-toolbar-start,\n.p-toolbar-center,\n.p-toolbar-end {\n display: flex;\n align-items: center;\n}\n"); @@ -213848,7 +214813,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({ }), renderSlot(_ctx.$slots, "header", {}, void 0, true) ]), - createVNode(unref(script$R), { class: "comfy-vue-side-bar-body flex-grow h-0" }, { + createVNode(unref(script$Q), { class: "comfy-vue-side-bar-body flex-grow h-0" }, { default: withCtx(() => [ renderSlot(_ctx.$slots, "body", {}, void 0, true) ]), @@ -214331,7 +215296,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({ label: model ? nameFormat === "title" ? model.title : model.simplified_file_name : node3.label, leaf: node3.leaf, data: node3.data, - getIcon: /* @__PURE__ */ __name(() => { + getIcon() { if (model) { return model.image ? "pi pi-image" : "pi pi-file"; } @@ -214339,31 +215304,31 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({ return folder.state === ResourceState.Loading ? "pi pi-spin pi-spinner" : "pi pi-folder"; } return "pi pi-folder"; - }, "getIcon"), - getBadgeText: /* @__PURE__ */ __name(() => { + }, + getBadgeText() { if (!folder) { return null; } return folder.state === ResourceState.Loaded ? null : ""; - }, "getBadgeText"), + }, children, draggable: node3.leaf, - handleClick: /* @__PURE__ */ __name((node22, e2) => { - if (node22.leaf) { + handleClick(e2) { + if (this.leaf) { const provider = modelToNodeStore.getNodeProvider(model.directory); if (provider) { - const node32 = useLitegraphService().addNodeOnGraph(provider.nodeDef); - const widget2 = node32.widgets.find( - (widget22) => widget22.name === provider.key + const node22 = useLitegraphService().addNodeOnGraph(provider.nodeDef); + const widget = node22.widgets.find( + (widget2) => widget2.name === provider.key ); - if (widget2) { - widget2.value = model.file_name; + if (widget) { + widget.value = model.file_name; } } } else { - toggleNodeOnEvent(e2, node22); + toggleNodeOnEvent(e2, node3); } - }, "handleClick") + } }; }, "fillNodeInfo"); return fillNodeInfo(root29.value); @@ -214452,7 +215417,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({ }; } }); -const ModelLibrarySidebarTab = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-0bb2ac55"]]); +const ModelLibrarySidebarTab = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-3be51840"]]); const useModelLibrarySidebarTab = /* @__PURE__ */ __name(() => { const { t: t2 } = useI18n(); return { @@ -215779,7 +216744,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({ _: 1 }, 8, ["modelValue"]) ]), - createVNode(unref(script$S)), + createVNode(unref(script$R)), createBaseVNode("div", _hoisted_4$3, [ createBaseVNode("label", _hoisted_5$3, toDisplayString$1(_ctx.$t("g.color")), 1), createBaseVNode("div", _hoisted_6$2, [ @@ -215950,38 +216915,49 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({ label: node3.leaf ? node3.data.display_name : node3.label, leaf: node3.leaf, data: node3.data, - getIcon: /* @__PURE__ */ __name((node22) => { - if (node22.leaf) { + getIcon() { + if (this.leaf) { return "pi pi-circle-fill"; } - const customization = nodeBookmarkStore.bookmarksCustomization[node22.data?.nodePath]; + const customization = nodeBookmarkStore.bookmarksCustomization[node3.data?.nodePath]; return customization?.icon ? "pi " + customization.icon : "pi pi-bookmark-fill"; - }, "getIcon"), + }, children: sortedChildren, draggable: node3.leaf, + renderDragPreview(container) { + const vnode = h(NodePreview, { nodeDef: node3.data }); + render$$(vnode, container); + return () => { + render$$(null, container); + }; + }, droppable: !node3.leaf, - handleDrop: /* @__PURE__ */ __name((node22, data26) => { + handleDrop(data26) { const nodeDefToAdd = data26.data.data; if (nodeBookmarkStore.isBookmarked(nodeDefToAdd)) { nodeBookmarkStore.toggleBookmark(nodeDefToAdd); } - const folderNodeDef = node22.data; + const folderNodeDef = node3.data; const nodePath = folderNodeDef.category + "/" + nodeDefToAdd.name; nodeBookmarkStore.addBookmark(nodePath); - }, "handleDrop"), - handleClick: /* @__PURE__ */ __name((node22, e2) => { - if (node22.leaf) { - useLitegraphService().addNodeOnGraph(node22.data); + }, + handleClick(e2) { + if (this.leaf) { + useLitegraphService().addNodeOnGraph(this.data); } else { - toggleNodeOnEvent(e2, node22); + toggleNodeOnEvent(e2, node3); } - }, "handleClick"), + }, contextMenuItems: extraMenuItems, ...node3.leaf ? {} : { - handleRename, - handleDelete: /* @__PURE__ */ __name((node22) => { - nodeBookmarkStore.deleteBookmarkFolder(node22.data); - }, "handleDelete") + handleRename(newName) { + if (this.data && this.data.isDummyFolder) { + nodeBookmarkStore.renameBookmarkFolder(this.data, newName); + } + }, + handleDelete() { + nodeBookmarkStore.deleteBookmarkFolder(this.data); + } } }; }, "fillNodeInfo"); @@ -216006,11 +216982,6 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({ __expose({ addNewBookmarkFolder }); - const handleRename = /* @__PURE__ */ __name((node3, newName) => { - if (node3.data && node3.data.isDummyFolder) { - nodeBookmarkStore.renameBookmarkFolder(node3.data, newName); - } - }, "handleRename"); const showCustomizationDialog = ref(false); const initialIcon = ref(nodeBookmarkStore.defaultBookmarkIcon); const initialColor = ref(nodeBookmarkStore.defaultBookmarkColor); @@ -216074,27 +217045,27 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ label: node3.leaf ? node3.data.display_name : node3.label, leaf: node3.leaf, data: node3.data, - getIcon: /* @__PURE__ */ __name((node22) => { - if (node22.leaf) { + getIcon() { + if (this.leaf) { return "pi pi-circle-fill"; } - }, "getIcon"), + }, children, draggable: node3.leaf, - renderDragPreview: /* @__PURE__ */ __name((node22, container) => { - const vnode = h(NodePreview, { nodeDef: node22.data }); + renderDragPreview(container) { + const vnode = h(NodePreview, { nodeDef: node3.data }); render$$(vnode, container); return () => { render$$(null, container); }; - }, "renderDragPreview"), - handleClick: /* @__PURE__ */ __name((node22, e2) => { - if (node22.leaf) { - useLitegraphService().addNodeOnGraph(node22.data); + }, + handleClick(e2) { + if (this.leaf) { + useLitegraphService().addNodeOnGraph(this.data); } else { - toggleNodeOnEvent(e2, node22); + toggleNodeOnEvent(e2, this); } - }, "handleClick") + } }; }, "fillNodeInfo"); return fillNodeInfo(root29.value); @@ -216211,7 +217182,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ ref: nodeBookmarkTreeExplorerRef, "filtered-node-defs": filteredNodeDefs.value }, null, 8, ["filtered-node-defs"]), - withDirectives(createVNode(unref(script$S), { + withDirectives(createVNode(unref(script$R), { type: "dashed", class: "m-2" }, null, 512), [ @@ -217371,13 +218342,13 @@ var script$2 = { }; }, "data"), watch: { - numVisible: /* @__PURE__ */ __name(function numVisible2(newValue2, oldValue2) { + numVisible: /* @__PURE__ */ __name(function numVisible2(newValue2, oldValue) { this.d_numVisible = newValue2; - this.d_oldNumVisible = oldValue2; + this.d_oldNumVisible = oldValue; }, "numVisible"), - activeIndex: /* @__PURE__ */ __name(function activeIndex2(newValue2, oldValue2) { + activeIndex: /* @__PURE__ */ __name(function activeIndex2(newValue2, oldValue) { this.d_activeIndex = newValue2; - this.d_oldActiveItemIndex = oldValue2; + this.d_oldActiveItemIndex = oldValue; }, "activeIndex") }, mounted: /* @__PURE__ */ __name(function mounted23() { @@ -217970,10 +218941,10 @@ var script$1$1 = { }, "stopSlideShow"), getPositionClass: /* @__PURE__ */ __name(function getPositionClass(preClassName, position3) { var positions = ["top", "left", "bottom", "right"]; - var pos2 = positions.find(function(item3) { + var pos = positions.find(function(item3) { return item3 === position3; }); - return pos2 ? "".concat(preClassName, "-").concat(pos2) : ""; + return pos ? "".concat(preClassName, "-").concat(pos) : ""; }, "getPositionClass"), isVertical: /* @__PURE__ */ __name(function isVertical4() { return this.$attrs.thumbnailsPosition === "left" || this.$attrs.thumbnailsPosition === "right"; @@ -219236,7 +220207,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ class: normalizeClass(["flex items-center", props.class]) }, [ _ctx.position === "left" ? (openBlock(), createElementBlock("span", _hoisted_1$1, toDisplayString$1(_ctx.text), 1)) : createCommentVNode("", true), - createVNode(unref(script$S), { + createVNode(unref(script$R), { align: _ctx.align, type: _ctx.type, layout: _ctx.layout, @@ -219356,34 +220327,36 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ const renderTreeNode = /* @__PURE__ */ __name((node3, type) => { const children = node3.children?.map((child) => renderTreeNode(child, type)); const workflow = node3.data; - const handleClick2 = /* @__PURE__ */ __name((node22, e2) => { - if (node22.leaf) { + function handleClick2(e2) { + if (this.leaf) { workflowService2.openWorkflow(workflow); } else { - toggleNodeOnEvent(e2, node22); + toggleNodeOnEvent(e2, this); } - }, "handleClick"); + } + __name(handleClick2, "handleClick"); const actions = node3.leaf ? { handleClick: handleClick2, - handleRename: /* @__PURE__ */ __name(async (node22, newName) => { + async handleRename(newName) { const newPath = type === "Browse" ? workflow.directory + "/" + appendJsonExt(newName) : ComfyWorkflow.basePath + appendJsonExt(newName); await workflowService2.renameWorkflow(workflow, newPath); - }, "handleRename"), - handleDelete: workflow.isTemporary ? void 0 : async () => { + }, + handleDelete: workflow.isTemporary ? void 0 : async function() { await workflowService2.deleteWorkflow(workflow); }, - contextMenuItems: /* @__PURE__ */ __name((node22) => { + contextMenuItems() { return [ { label: t2("g.insert"), icon: "pi pi-file-export", command: /* @__PURE__ */ __name(() => { - const workflow2 = node22.data; + const workflow2 = node3.data; workflowService2.insertWorkflow(workflow2); }, "command") } ]; - }, "contextMenuItems") + }, + draggable: true } : { handleClick: handleClick2 }; return { key: node3.key, @@ -219659,6 +220632,7 @@ const useWorkspaceStore = /* @__PURE__ */ defineStore("workspace", () => { const workflow = computed(() => useWorkflowStore()); const colorPalette = useColorPaletteService(); const dialog = useDialogService(); + const bottomPanel = useBottomPanelStore(); function registerSidebarTab(tab) { sidebarTab.value.registerSidebarTab(tab); } @@ -219686,6 +220660,7 @@ const useWorkspaceStore = /* @__PURE__ */ defineStore("workspace", () => { workflow, colorPalette, dialog, + bottomPanel, registerSidebarTab, unregisterSidebarTab, getSidebarTabs @@ -219745,7 +220720,7 @@ init$3({ app, dsn: "https://e2d0c0bd392ffdce48e856c2a055f437@o4507954455314432.ingest.us.sentry.io/4508621568475136", enabled: true, - release: "1.8.14", + release: "1.9.17", integrations: [], autoSessionTracking: false, defaultIntegrations: false, @@ -219778,195 +220753,195 @@ export { Fragment$1 as F, script$v as G, markRaw as H, - defineStore as I, - shallowRef as J, - useI18n as K, - useCommandStore as L, - LiteGraph as M, - useColorPaletteStore as N, - watch as O, - useNodeDefStore as P, - BadgePosition as Q, - LGraphBadge as R, - _ as S, - NodeBadgeMode as T, - ref as U, - useEventListener as V, - nextTick as W, - st as X, - normalizeI18nKey as Y, + useI18n as I, + useCommandStore as J, + useCanvasStore as K, + LiteGraph as L, + useColorPaletteStore as M, + watch as N, + useNodeDefStore as O, + BadgePosition as P, + LGraphBadge as Q, + _ as R, + NodeBadgeMode as S, + ref as T, + useEventListener as U, + nextTick as V, + st as W, + normalizeI18nKey as X, + useTitleEditorStore as Y, LGraphGroup as Z, _export_sfc as _, useSettingStore as a, - script$G as a$, + useDraggable as a$, EditableText as a0, - useNodeFrequencyStore as a1, - useNodeBookmarkStore as a2, - highlightQuery as a3, - script$s as a4, - formatNumberWithSuffix as a5, - NodeSourceType as a6, - createTextVNode as a7, - script$t as a8, - NodePreview as a9, + defineStore as a1, + useNodeFrequencyStore as a2, + useNodeBookmarkStore as a3, + highlightQuery as a4, + script$s as a5, + formatNumberWithSuffix as a6, + NodeSourceType as a7, + createTextVNode as a8, + script$t as a9, ComfyNodeDefImpl as aA, ComfyModelDef as aB, - LGraph$1 as aC, - LLink as aD, - DragAndScale as aE, - LGraphCanvas as aF, - ContextMenu as aG, - api as aH, - getStorageValue as aI, - useModelStore as aJ, - setStorageValue as aK, - CanvasPointer as aL, - IS_CONTROL_WIDGET as aM, - updateControlWidgetLabel as aN, - useColorPaletteService as aO, - ChangeTracker as aP, - i18n as aQ, - useToast as aR, - useToastStore as aS, - useQueueSettingsStore as aT, - script$j as aU, - useQueuePendingTaskCountStore as aV, - useLocalStorage as aW, - useDraggable as aX, - watchDebounced as aY, - inject as aZ, - useElementBounding as a_, - NodeSearchFilter as aa, - script$T as ab, - SearchFilterChip as ac, - useLitegraphService as ad, - storeToRefs as ae, - isRef as af, - toRaw as ag, - LinkReleaseTriggerAction as ah, - normalizeClass as ai, - useUserStore as aj, - useDialogStore as ak, - SettingDialogHeader as al, - SettingDialogContent as am, - useKeybindingStore as an, - Teleport as ao, - usePragmaticDraggable as ap, - usePragmaticDroppable as aq, - withModifiers as ar, - mergeProps$2 as as, - useWorkflowService as at, - useWorkflowBookmarkStore as au, - script$7 as av, - script$R as aw, - script$c as ax, - LinkMarkerShape as ay, + ComfyWorkflow as aC, + LGraphCanvas as aD, + te as aE, + LGraph$1 as aF, + LLink as aG, + DragAndScale as aH, + ContextMenu as aI, + CanvasPointer as aJ, + isImageNode as aK, + api as aL, + getStorageValue as aM, + useModelStore as aN, + setStorageValue as aO, + LinkMarkerShape as aP, + IS_CONTROL_WIDGET as aQ, + updateControlWidgetLabel as aR, + useColorPaletteService as aS, + ChangeTracker as aT, + i18n as aU, + useToast as aV, + useToastStore as aW, + useQueueSettingsStore as aX, + script$j as aY, + useQueuePendingTaskCountStore as aZ, + useLocalStorage as a_, + NodePreview as aa, + NodeSearchFilter as ab, + script$T as ac, + SearchFilterChip as ad, + useLitegraphService as ae, + storeToRefs as af, + isRef as ag, + toRaw as ah, + LinkReleaseTriggerAction as ai, + normalizeClass as aj, + useUserStore as ak, + useDialogStore as al, + SettingDialogHeader as am, + SettingDialogContent as an, + useKeybindingStore as ao, + Teleport as ap, + usePragmaticDraggable as aq, + usePragmaticDroppable as ar, + withModifiers as as, + mergeProps$2 as at, + useWorkflowService as au, + useWorkflowBookmarkStore as av, + script$7 as aw, + script$Q as ax, + script$c as ay, useModelToNodeStore as az, useWorkflowStore as b, - addStyle$1 as b$, - lodashExports as b0, - useEventBus as b1, - useMenuItemStore as b2, - provide as b3, - isElectron as b4, - electronAPI as b5, - isNativeWindow as b6, - useDialogService as b7, - LGraphEventMode as b8, - useQueueStore as b9, - BaseStyle$1 as bA, - script$14 as bB, - ZIndex$1 as bC, - addClass$1 as bD, - focus$2 as bE, - blockBodyScroll$1 as bF, - unblockBodyScroll$1 as bG, - FocusTrap as bH, - script$U as bI, - script$_ as bJ, - resolveComponent as bK, - Transition as bL, - script$12 as bM, - PrimeIcons as bN, - findSingle$1 as bO, - getAttribute$1 as bP, - script$f as bQ, - script$n as bR, - Ripple as bS, - UniqueComponentId as bT, - script$p as bU, - BaseDirective as bV, - removeClass$1 as bW, - createElement$1 as bX, - hasClass$1 as bY, - script$$ as bZ, - script$10 as b_, - DEFAULT_DARK_COLOR_PALETTE as ba, - DEFAULT_LIGHT_COLOR_PALETTE as bb, - t as bc, - useErrorHandling as bd, - useRouter as be, - withKeys as bf, - script$J as bg, - script$S as bh, - script$m as bi, - script$I as bj, - ProgressStatus as bk, - BaseTerminal as bl, - useModel as bm, - script$i as bn, - script$B as bo, - script$C as bp, - MigrationItems as bq, - script$K as br, - mergeModels as bs, - ValidationState as bt, - checkMirrorReachable as bu, - _sfc_main$C as bv, - mergeValidationStates as bw, - CUDA_TORCH_URL as bx, - NIGHTLY_CPU_TORCH_URL as by, - script$y as bz, + ConnectedOverlayScrollHandler as b$, + watchDebounced as b0, + inject as b1, + useElementBounding as b2, + script$G as b3, + lodashExports as b4, + useEventBus as b5, + useMenuItemStore as b6, + provide as b7, + isElectron as b8, + electronAPI as b9, + isInChina as bA, + mergeValidationStates as bB, + CUDA_TORCH_URL as bC, + NIGHTLY_CPU_TORCH_URL as bD, + script$12 as bE, + PrimeIcons as bF, + BaseStyle$1 as bG, + script$14 as bH, + Transition as bI, + findSingle$1 as bJ, + getAttribute$1 as bK, + focus$2 as bL, + script$f as bM, + script$n as bN, + Ripple as bO, + UniqueComponentId as bP, + script$p as bQ, + resolveComponent as bR, + BaseDirective as bS, + removeClass$1 as bT, + addClass$1 as bU, + createElement$1 as bV, + hasClass$1 as bW, + script$$ as bX, + script$10 as bY, + ZIndex$1 as bZ, + addStyle$1 as b_, + isNativeWindow as ba, + useDialogService as bb, + LGraphEventMode as bc, + useQueueStore as bd, + DEFAULT_DARK_COLOR_PALETTE as be, + DEFAULT_LIGHT_COLOR_PALETTE as bf, + t as bg, + useErrorHandling as bh, + useRouter as bi, + withKeys as bj, + script$I as bk, + script$R as bl, + script$m as bm, + script$S as bn, + ProgressStatus as bo, + BaseTerminal as bp, + useModel as bq, + script$i as br, + script$B as bs, + script$C as bt, + MigrationItems as bu, + script$J as bv, + mergeModels as bw, + ValidationState as bx, + checkMirrorReachable as by, + _sfc_main$C as bz, computed as c, - useTimeout as c$, - ConnectedOverlayScrollHandler as c0, - isTouchDevice$1 as c1, - relativePosition$1 as c2, - getOuterWidth$1 as c3, - absolutePosition$1 as c4, - find$2 as c5, - getIndex$1 as c6, - getFocusableElements$1 as c7, - OverlayEventBus as c8, - setAttribute$1 as c9, - script$M as cA, - script$u as cB, - getUserAgent$1 as cC, - script$l as cD, - getFirstFocusableElement$1 as cE, - getLastFocusableElement$1 as cF, - FilterService as cG, - script$A as cH, - script$D as cI, - findIndexInList$2 as cJ, - scrollInView$1 as cK, - script$z as cL, - script$k as cM, - script$9 as cN, - findLast$3 as cO, - getWindowScrollTop$1 as cP, - getWidth$1 as cQ, - getOffset$1 as cR, - vModelText as cS, - script$b as cT, - getVNodeProp as cU, - getNextElementSibling$1 as cV, - getPreviousElementSibling$1 as cW, - isClickable$1 as cX, - _default as cY, - clearSelection$1 as cZ, - isRTL$1 as c_, - localeComparator$2 as ca, + getPreviousElementSibling$1 as c$, + isTouchDevice$1 as c0, + relativePosition$1 as c1, + getOuterWidth$1 as c2, + absolutePosition$1 as c3, + find$2 as c4, + getIndex$1 as c5, + getFocusableElements$1 as c6, + OverlayEventBus as c7, + setAttribute$1 as c8, + localeComparator$2 as c9, + unblockBodyScroll$1 as cA, + FocusTrap as cB, + guardReactiveProps as cC, + setCSSProperty$1 as cD, + $dt$1 as cE, + script$L as cF, + script$u as cG, + getUserAgent$1 as cH, + script$l as cI, + getFirstFocusableElement$1 as cJ, + getLastFocusableElement$1 as cK, + FilterService as cL, + script$A as cM, + script$D as cN, + findIndexInList$2 as cO, + scrollInView$1 as cP, + script$z as cQ, + script$k as cR, + script$9 as cS, + findLast$3 as cT, + getWindowScrollTop$1 as cU, + getWidth$1 as cV, + getOffset$1 as cW, + vModelText as cX, + script$b as cY, + getVNodeProp as cZ, + getNextElementSibling$1 as c_, + script$U as ca, script$q as cb, resolveFieldData$2 as cc, isNotEmpty$2 as cd, @@ -219977,57 +220952,68 @@ export { isEmpty$3 as ci, findLastIndex$2 as cj, script$X as ck, - script$11 as cl, - uuid$1 as cm, - sort$2 as cn, - createSlots as co, - EventBus$1 as cp, - resolve$4 as cq, - Tooltip as cr, - script$H as cs, - script$L as ct, - script$W as cu, - normalizeProps as cv, - isAttributeEquals$1 as cw, - guardReactiveProps as cx, - setCSSProperty$1 as cy, - $dt$1 as cz, + script$_ as cl, + script$11 as cm, + uuid$1 as cn, + sort$2 as co, + createSlots as cp, + EventBus$1 as cq, + resolve$4 as cr, + Tooltip as cs, + script$H as ct, + script$K as cu, + script$W as cv, + script$y as cw, + normalizeProps as cx, + blockBodyScroll$1 as cy, + isAttributeEquals$1 as cz, defineComponent as d, - script$Q as d0, - useConfirm as d1, - script$6 as d2, - onUnmounted as d3, - getHeight$1 as d4, - getOuterHeight$1 as d5, - isArray$c as d6, - ToastEventBus as d7, - TransitionGroup as d8, - nestedPosition$1 as d9, - ComfyDialog as da, - $el as db, - ComfyApp as dc, - useExtensionService as dd, - processDynamicPrompt as de, - DraggableList as df, - applyTextReplacements as dg, - ComfyWidgets as dh, - addValueControlWidgets as di, - serialise as dj, - deserialiseAndCreate as dk, - FilterMatchMode as dl, - SearchBox as dm, - _sfc_main$L as dn, - KeyComboImpl as dp, - KeybindingImpl as dq, - useExtensionStore as dr, - invokeElementMethod$1 as ds, - FilterOperator as dt, - exportCSV$1 as du, - getHiddenElementOuterWidth$1 as dv, - getHiddenElementOuterHeight$1 as dw, - reorderArray$2 as dx, - useCopyToClipboard as dy, - FormItem as dz, + isClickable$1 as d0, + _default as d1, + clearSelection$1 as d2, + isRTL$1 as d3, + useTimeout as d4, + script$P as d5, + useConfirm as d6, + script$6 as d7, + onUnmounted as d8, + getHeight$1 as d9, + KeyComboImpl as dA, + KeybindingImpl as dB, + useExtensionStore as dC, + invokeElementMethod$1 as dD, + FilterOperator as dE, + exportCSV$1 as dF, + getHiddenElementOuterWidth$1 as dG, + getHiddenElementOuterHeight$1 as dH, + reorderArray$2 as dI, + useCopyToClipboard as dJ, + FormItem as dK, + getOuterHeight$1 as da, + isArray$c as db, + nestedPosition$1 as dc, + commonjsGlobal as dd, + getDefaultExportFromCjs as de, + xtermExports as df, + ToastEventBus as dg, + TransitionGroup as dh, + ComfyDialog as di, + $el as dj, + ComfyApp as dk, + useExtensionService as dl, + processDynamicPrompt as dm, + DraggableList as dn, + applyTextReplacements as dp, + ComfyWidgets as dq, + addValueControlWidgets as dr, + serialise as ds, + deserialiseAndCreate as dt, + script$g as du, + createApp as dv, + PrimeVue as dw, + FilterMatchMode as dx, + SearchBox as dy, + _sfc_main$L as dz, useTitle as e, createElementBlock as f, useWorkspaceStore as g, @@ -220051,4 +221037,4 @@ export { createBlock as y, withCtx as z }; -//# sourceMappingURL=index-DqqhYDnY.js.map +//# sourceMappingURL=index-DqXp9vW4.js.map diff --git a/web/assets/index-BapOFhAR.js b/web/assets/index-KUUE4Ew8.js similarity index 99% rename from web/assets/index-BapOFhAR.js rename to web/assets/index-KUUE4Ew8.js index a8d556911..dd2a87a8c 100644 --- a/web/assets/index-BapOFhAR.js +++ b/web/assets/index-KUUE4Ew8.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { bA as BaseStyle, bB as script$s, bZ as script$t, o as openBlock, f as createElementBlock, as as mergeProps, m as createBaseVNode, E as toDisplayString, bS as Ripple, r as resolveDirective, i as withDirectives, y as createBlock, C as resolveDynamicComponent, bi as script$u, bK as resolveComponent, ai as normalizeClass, co as createSlots, z as withCtx, aU as script$v, cf as script$w, F as Fragment, D as renderList, a7 as createTextVNode, c9 as setAttribute, cv as normalizeProps, A as renderSlot, B as createCommentVNode, b_ as script$x, ce as equals, cA as script$y, br as script$z, cE as getFirstFocusableElement, c8 as OverlayEventBus, cU as getVNodeProp, cc as resolveFieldData, ds as invokeElementMethod, bP as getAttribute, cV as getNextElementSibling, c3 as getOuterWidth, cW as getPreviousElementSibling, l as script$A, bR as script$B, bU as script$C, bJ as script$E, cd as isNotEmpty, ar as withModifiers, d5 as getOuterHeight, bT as UniqueComponentId, cY as _default, bC as ZIndex, bE as focus, b$ as addStyle, c4 as absolutePosition, c0 as ConnectedOverlayScrollHandler, c1 as isTouchDevice, dt as FilterOperator, bI as script$F, cs as script$G, bH as FocusTrap, k as createVNode, bL as Transition, bf as withKeys, c6 as getIndex, cu as script$H, cX as isClickable, cZ as clearSelection, ca as localeComparator, cn as sort, cG as FilterService, dl as FilterMatchMode, bO as findSingle, cJ as findIndexInList, c5 as find, du as exportCSV, cR as getOffset, c_ as isRTL, dv as getHiddenElementOuterWidth, dw as getHiddenElementOuterHeight, dx as reorderArray, bW as removeClass, bD as addClass, ci as isEmpty, cH as script$I, ck as script$J } from "./index-DqqhYDnY.js"; -import { s as script$D } from "./index-DXE47DZl.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-DqXp9vW4.js"; +import { s as script$D } from "./index-BTHx8UHZ.js"; var ColumnStyle = BaseStyle.extend({ name: "column" }); @@ -8787,4 +8787,4 @@ export { script as h, script$l as s }; -//# sourceMappingURL=index-BapOFhAR.js.map +//# sourceMappingURL=index-KUUE4Ew8.js.map diff --git a/web/assets/keybindingService-DEgCutrm.js b/web/assets/keybindingService-DgS0S2M6.js similarity index 93% rename from web/assets/keybindingService-DEgCutrm.js rename to web/assets/keybindingService-DgS0S2M6.js index 91a668b79..6b2f26f05 100644 --- a/web/assets/keybindingService-DEgCutrm.js +++ b/web/assets/keybindingService-DgS0S2M6.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { an as useKeybindingStore, L as useCommandStore, a as useSettingStore, dp as KeyComboImpl, dq as KeybindingImpl } from "./index-DqqhYDnY.js"; +import { ao as useKeybindingStore, J as useCommandStore, a as useSettingStore, dA as KeyComboImpl, dB as KeybindingImpl } from "./index-DqXp9vW4.js"; const CORE_KEYBINDINGS = [ { combo: { @@ -186,7 +186,7 @@ const useKeybindingService = /* @__PURE__ */ __name(() => { return; } const target = event.composedPath()[0]; - if (!keyCombo.hasModifier && (target.tagName === "TEXTAREA" || target.tagName === "INPUT" || target.tagName === "SPAN" && target.classList.contains("property_value"))) { + if (keyCombo.isReservedByTextInput && (target.tagName === "TEXTAREA" || target.tagName === "INPUT" || target.tagName === "SPAN" && target.classList.contains("property_value"))) { return; } const keybinding = keybindingStore.getKeybinding(keyCombo); @@ -247,4 +247,4 @@ const useKeybindingService = /* @__PURE__ */ __name(() => { export { useKeybindingService as u }; -//# sourceMappingURL=keybindingService-DEgCutrm.js.map +//# sourceMappingURL=keybindingService-DgS0S2M6.js.map diff --git a/web/assets/serverConfigStore-Kb5DJVFt.js b/web/assets/serverConfigStore-C8uoM7Sm.js similarity index 95% rename from web/assets/serverConfigStore-Kb5DJVFt.js rename to web/assets/serverConfigStore-C8uoM7Sm.js index c1ff0646c..b447c27b7 100644 --- a/web/assets/serverConfigStore-Kb5DJVFt.js +++ b/web/assets/serverConfigStore-C8uoM7Sm.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { I as defineStore, U as ref, c as computed } from "./index-DqqhYDnY.js"; +import { a1 as defineStore, T as ref, c as computed } from "./index-DqXp9vW4.js"; const useServerConfigStore = defineStore("serverConfig", () => { const serverConfigById = ref({}); const serverConfigs = computed(() => { @@ -87,4 +87,4 @@ const useServerConfigStore = defineStore("serverConfig", () => { export { useServerConfigStore as u }; -//# sourceMappingURL=serverConfigStore-Kb5DJVFt.js.map +//# sourceMappingURL=serverConfigStore-C8uoM7Sm.js.map diff --git a/web/index.html b/web/index.html index c14633534..f8b1fc2ff 100644 --- a/web/index.html +++ b/web/index.html @@ -6,8 +6,8 @@ - - + +
diff --git a/web/scripts/domWidget.js b/web/scripts/domWidget.js new file mode 100644 index 000000000..a5fd049eb --- /dev/null +++ b/web/scripts/domWidget.js @@ -0,0 +1,2 @@ +// Shim for scripts/domWidget.ts +export const DOMWidgetImpl = window.comfyAPI.domWidget.DOMWidgetImpl; diff --git a/web/templates/image2image.json b/web/templates/image2image.json index 81da539d0..7aaf5a21a 100644 --- a/web/templates/image2image.json +++ b/web/templates/image2image.json @@ -330,7 +330,7 @@ "Node name for S&R": "CheckpointLoaderSimple" }, "widgets_values": [ - "v1-5-pruned-emaonly.safetensors" + "v1-5-pruned-emaonly-fp16.safetensors" ] } ], @@ -440,8 +440,8 @@ "extra": {}, "version": 0.4, "models": [{ - "name": "v1-5-pruned-emaonly.safetensors", - "url": "https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly.safetensors?download=true", + "name": "v1-5-pruned-emaonly-fp16.safetensors", + "url": "https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors?download=true", "directory": "checkpoints" }] } From 93c8607d5157d2e30c4d598b01b32d71e07e9e6a Mon Sep 17 00:00:00 2001 From: Terry Jia Date: Sat, 15 Feb 2025 15:34:36 -0500 Subject: [PATCH 53/78] remove light_intensity and fov from load3d (#6742) --- comfy_extras/nodes_load_3d.py | 46 +++++++++-------------------------- 1 file changed, 12 insertions(+), 34 deletions(-) diff --git a/comfy_extras/nodes_load_3d.py b/comfy_extras/nodes_load_3d.py index 3b969e45f..53a66b95a 100644 --- a/comfy_extras/nodes_load_3d.py +++ b/comfy_extras/nodes_load_3d.py @@ -20,9 +20,7 @@ class Load3D(): "width": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), "height": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), "material": (["original", "normal", "wireframe", "depth"],), - "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), - "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), }} RETURN_TYPES = ("IMAGE", "MASK", "STRING") @@ -34,22 +32,14 @@ class Load3D(): CATEGORY = "3d" def process(self, model_file, image, **kwargs): - if isinstance(image, dict): - image_path = folder_paths.get_annotated_filepath(image['image']) - mask_path = folder_paths.get_annotated_filepath(image['mask']) + image_path = folder_paths.get_annotated_filepath(image['image']) + mask_path = folder_paths.get_annotated_filepath(image['mask']) - load_image_node = nodes.LoadImage() - output_image, ignore_mask = load_image_node.load_image(image=image_path) - ignore_image, output_mask = load_image_node.load_image(image=mask_path) + load_image_node = nodes.LoadImage() + output_image, ignore_mask = load_image_node.load_image(image=image_path) + ignore_image, output_mask = load_image_node.load_image(image=mask_path) - return output_image, output_mask, model_file, - else: - # to avoid the format is not dict which will happen the FE code is not compatibility to core, - # we need to this to double-check, it can be removed after merged FE into the core - image_path = folder_paths.get_annotated_filepath(image) - load_image_node = nodes.LoadImage() - output_image, output_mask = load_image_node.load_image(image=image_path) - return output_image, output_mask, model_file, + return output_image, output_mask, model_file, class Load3DAnimation(): @classmethod @@ -66,9 +56,7 @@ class Load3DAnimation(): "width": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), "height": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), "material": (["original", "normal", "wireframe", "depth"],), - "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), - "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), }} RETURN_TYPES = ("IMAGE", "MASK", "STRING") @@ -80,20 +68,14 @@ class Load3DAnimation(): CATEGORY = "3d" def process(self, model_file, image, **kwargs): - if isinstance(image, dict): - image_path = folder_paths.get_annotated_filepath(image['image']) - mask_path = folder_paths.get_annotated_filepath(image['mask']) + image_path = folder_paths.get_annotated_filepath(image['image']) + mask_path = folder_paths.get_annotated_filepath(image['mask']) - load_image_node = nodes.LoadImage() - output_image, ignore_mask = load_image_node.load_image(image=image_path) - ignore_image, output_mask = load_image_node.load_image(image=mask_path) + load_image_node = nodes.LoadImage() + output_image, ignore_mask = load_image_node.load_image(image=image_path) + ignore_image, output_mask = load_image_node.load_image(image=mask_path) - return output_image, output_mask, model_file, - else: - image_path = folder_paths.get_annotated_filepath(image) - load_image_node = nodes.LoadImage() - output_image, output_mask = load_image_node.load_image(image=image_path) - return output_image, output_mask, model_file, + return output_image, output_mask, model_file, class Preview3D(): @classmethod @@ -101,9 +83,7 @@ class Preview3D(): return {"required": { "model_file": ("STRING", {"default": "", "multiline": False}), "material": (["original", "normal", "wireframe", "depth"],), - "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), - "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), }} OUTPUT_NODE = True @@ -123,9 +103,7 @@ class Preview3DAnimation(): return {"required": { "model_file": ("STRING", {"default": "", "multiline": False}), "material": (["original", "normal", "wireframe", "depth"],), - "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), - "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), }} OUTPUT_NODE = True From e2919d38b4a7cfc03eb8a31b28c5a1ac4c9f10a4 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sun, 16 Feb 2025 05:45:08 -0500 Subject: [PATCH 54/78] Disable bf16 on AMD GPUs that don't support it. --- comfy/model_management.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/comfy/model_management.py b/comfy/model_management.py index fb924f432..9f6522967 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -1106,6 +1106,11 @@ def should_use_bf16(device=None, model_params=0, prioritize_performance=True, ma if is_ascend_npu(): return True + if is_amd(): + arch = torch.cuda.get_device_properties(device).gcnArchName + if arch in ["gfx1030", "gfx1031", "gfx1010", "gfx1011", "gfx1012", "gfx906", "gfx900", "gfx803"]: # RDNA2 and older don't support bf16 + return False + props = torch.cuda.get_device_properties(device) if props.major >= 8: return True From d0399f43436bcc3b6bdfa0f71d92b423e18fae30 Mon Sep 17 00:00:00 2001 From: Comfy Org PR Bot Date: Mon, 17 Feb 2025 01:45:47 +0900 Subject: [PATCH 55/78] Update frontend to v1.9.18 (#6828) Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com> --- ...GljfEG.js => BaseViewTemplate-BTbuZf5t.js} | 4 +- ...BMUZxW.js => DesktopStartView-D9r53Bue.js} | 6 +-- ...ew03S.js => DesktopUpdateView-C-R0415K.js} | 10 ++--- ...PK8AXQU.js => DownloadGitView-PWqK5ke4.js} | 6 +-- ...1HZtMFvH.js => ExtensionPanel-Ba57xrmg.js} | 8 ++-- ...View-CLFBgoGf.js => GraphView-B_UDZi95.js} | 14 +++---- ...ew-x9XCq0hC.js => InstallView-DW9xwU_F.js} | 8 ++-- ...IrxefrS.js => KeybindingPanel-oavhFdkz.js} | 10 ++--- ...UmTZX1d.js => MaintenanceView-Bh8OZpgl.js} | 18 ++++---- ...js => ManualConfigurationView-DTLyJ3VG.js} | 6 +-- ...ednB.js => MetricsConsentView-C80fk2cl.js} | 6 +-- ...M0uuqA.js => NotSupportedView-B78ZVR9Z.js} | 6 +-- ...TW_iX.js => ServerConfigPanel-BYrt6wyr.js} | 6 +-- ...ENqs5bD.js => ServerStartView-B7TlHxYo.js} | 6 +-- ...HP.js => TerminalOutputDrawer-CKr7Br7O.js} | 4 +- ...CRPNAEVJ.js => UserSelectView-C703HOyO.js} | 6 +-- ...ew-Cvtvw05C.js => WelcomeView-DIFvbWc2.js} | 6 +-- .../{index-B0BQ8jlU.js => index-A_bXPJCN.js} | 4 +- .../{index-D9D9jjLT.js => index-B36GcHVN.js} | 8 ++-- .../{index-DqXp9vW4.js => index-Bv0b06LE.js} | 42 +++++++++---------- .../{index-DSWvxALN.js => index-C068lYT4.js} | 6 +-- .../{index-KUUE4Ew8.js => index-CgMyWf7n.js} | 6 +-- .../{index-BTHx8UHZ.js => index-Dzu9WL4p.js} | 4 +- .../{index-A-dAhghd.js => index-SeIZOWJp.js} | 4 +- ...0S2M6.js => keybindingService-DyjX-nxF.js} | 4 +- ...oM7Sm.js => serverConfigStore-D2Vr0L0h.js} | 4 +- web/index.html | 2 +- 27 files changed, 107 insertions(+), 107 deletions(-) rename web/assets/{BaseViewTemplate-DlGljfEG.js => BaseViewTemplate-BTbuZf5t.js} (94%) rename web/assets/{DesktopStartView-B2BMUZxW.js => DesktopStartView-D9r53Bue.js} (78%) rename web/assets/{DesktopUpdateView-DWsew03S.js => DesktopUpdateView-C-R0415K.js} (90%) rename web/assets/{DownloadGitView-SPK8AXQU.js => DownloadGitView-PWqK5ke4.js} (94%) rename web/assets/{ExtensionPanel-1HZtMFvH.js => ExtensionPanel-Ba57xrmg.js} (97%) rename web/assets/{GraphView-CLFBgoGf.js => GraphView-B_UDZi95.js} (99%) rename web/assets/{InstallView-x9XCq0hC.js => InstallView-DW9xwU_F.js} (99%) rename web/assets/{KeybindingPanel-BIrxefrS.js => KeybindingPanel-oavhFdkz.js} (98%) rename web/assets/{MaintenanceView-BUmTZX1d.js => MaintenanceView-Bh8OZpgl.js} (99%) rename web/assets/{ManualConfigurationView-D3on5kXY.js => ManualConfigurationView-DTLyJ3VG.js} (95%) rename web/assets/{MetricsConsentView-DK20ednB.js => MetricsConsentView-C80fk2cl.js} (95%) rename web/assets/{NotSupportedView-BzM0uuqA.js => NotSupportedView-B78ZVR9Z.js} (96%) rename web/assets/{ServerConfigPanel-D0jTW_iX.js => ServerConfigPanel-BYrt6wyr.js} (97%) rename web/assets/{ServerStartView-BENqs5bD.js => ServerStartView-B7TlHxYo.js} (96%) rename web/assets/{TerminalOutputDrawer-BgTEspHP.js => TerminalOutputDrawer-CKr7Br7O.js} (99%) rename web/assets/{UserSelectView-CRPNAEVJ.js => UserSelectView-C703HOyO.js} (97%) rename web/assets/{WelcomeView-Cvtvw05C.js => WelcomeView-DIFvbWc2.js} (91%) rename web/assets/{index-B0BQ8jlU.js => index-A_bXPJCN.js} (99%) rename web/assets/{index-D9D9jjLT.js => index-B36GcHVN.js} (99%) rename web/assets/{index-DqXp9vW4.js => index-Bv0b06LE.js} (99%) rename web/assets/{index-DSWvxALN.js => index-C068lYT4.js} (99%) rename web/assets/{index-KUUE4Ew8.js => index-CgMyWf7n.js} (99%) rename web/assets/{index-BTHx8UHZ.js => index-Dzu9WL4p.js} (94%) rename web/assets/{index-A-dAhghd.js => index-SeIZOWJp.js} (99%) rename web/assets/{keybindingService-DgS0S2M6.js => keybindingService-DyjX-nxF.js} (98%) rename web/assets/{serverConfigStore-C8uoM7Sm.js => serverConfigStore-D2Vr0L0h.js} (97%) diff --git a/web/assets/BaseViewTemplate-DlGljfEG.js b/web/assets/BaseViewTemplate-BTbuZf5t.js similarity index 94% rename from web/assets/BaseViewTemplate-DlGljfEG.js rename to web/assets/BaseViewTemplate-BTbuZf5t.js index 9bf3787d3..d7f9e402b 100644 --- a/web/assets/BaseViewTemplate-DlGljfEG.js +++ b/web/assets/BaseViewTemplate-BTbuZf5t.js @@ -1,4 +1,4 @@ -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-DqXp9vW4.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"; const _hoisted_1 = { class: "flex-grow w-full flex items-center justify-center overflow-auto" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "BaseViewTemplate", @@ -48,4 +48,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as _ }; -//# sourceMappingURL=BaseViewTemplate-DlGljfEG.js.map +//# sourceMappingURL=BaseViewTemplate-BTbuZf5t.js.map diff --git a/web/assets/DesktopStartView-B2BMUZxW.js b/web/assets/DesktopStartView-D9r53Bue.js similarity index 78% rename from web/assets/DesktopStartView-B2BMUZxW.js rename to web/assets/DesktopStartView-D9r53Bue.js index 7fdd14876..744682eca 100644 --- a/web/assets/DesktopStartView-B2BMUZxW.js +++ b/web/assets/DesktopStartView-D9r53Bue.js @@ -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-DqXp9vW4.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.js"; +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"; 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-B2BMUZxW.js.map +//# sourceMappingURL=DesktopStartView-D9r53Bue.js.map diff --git a/web/assets/DesktopUpdateView-DWsew03S.js b/web/assets/DesktopUpdateView-C-R0415K.js similarity index 90% rename from web/assets/DesktopUpdateView-DWsew03S.js rename to web/assets/DesktopUpdateView-C-R0415K.js index dec3d41f2..8de7eee9e 100644 --- a/web/assets/DesktopUpdateView-DWsew03S.js +++ b/web/assets/DesktopUpdateView-C-R0415K.js @@ -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, 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-DqXp9vW4.js"; -import { s as script$2 } from "./index-B0BQ8jlU.js"; -import { _ as _sfc_main$1 } from "./TerminalOutputDrawer-BgTEspHP.js"; -import { _ as _sfc_main$2 } from "./BaseViewTemplate-DlGljfEG.js"; +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"; 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 +55,4 @@ const DesktopUpdateView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", export { DesktopUpdateView as default }; -//# sourceMappingURL=DesktopUpdateView-DWsew03S.js.map +//# sourceMappingURL=DesktopUpdateView-C-R0415K.js.map diff --git a/web/assets/DownloadGitView-SPK8AXQU.js b/web/assets/DownloadGitView-PWqK5ke4.js similarity index 94% rename from web/assets/DownloadGitView-SPK8AXQU.js rename to web/assets/DownloadGitView-PWqK5ke4.js index 1b7d7e0c0..2128466de 100644 --- a/web/assets/DownloadGitView-SPK8AXQU.js +++ b/web/assets/DownloadGitView-PWqK5ke4.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqXp9vW4.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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"; 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" }; @@ -55,4 +55,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=DownloadGitView-SPK8AXQU.js.map +//# sourceMappingURL=DownloadGitView-PWqK5ke4.js.map diff --git a/web/assets/ExtensionPanel-1HZtMFvH.js b/web/assets/ExtensionPanel-Ba57xrmg.js similarity index 97% rename from web/assets/ExtensionPanel-1HZtMFvH.js rename to web/assets/ExtensionPanel-Ba57xrmg.js index 99adb239b..575b6d5b2 100644 --- a/web/assets/ExtensionPanel-1HZtMFvH.js +++ b/web/assets/ExtensionPanel-Ba57xrmg.js @@ -1,8 +1,8 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqXp9vW4.js"; -import { g as script$2, h as script$6 } from "./index-KUUE4Ew8.js"; -import "./index-BTHx8UHZ.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"; const _hoisted_1 = { class: "flex justify-end" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "ExtensionPanel", @@ -179,4 +179,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ExtensionPanel-1HZtMFvH.js.map +//# sourceMappingURL=ExtensionPanel-Ba57xrmg.js.map diff --git a/web/assets/GraphView-CLFBgoGf.js b/web/assets/GraphView-B_UDZi95.js similarity index 99% rename from web/assets/GraphView-CLFBgoGf.js rename to web/assets/GraphView-B_UDZi95.js index 900a8cc86..dc6554706 100644 --- a/web/assets/GraphView-CLFBgoGf.js +++ b/web/assets/GraphView-B_UDZi95.js @@ -1,11 +1,11 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script, m as createBaseVNode, n as normalizeStyle, _ as _export_sfc, p as onMounted, q as onBeforeUnmount, t as useSidebarTabStore, x as useBottomPanelStore, y as createBlock, z as withCtx, A as renderSlot, B as createCommentVNode, C as resolveDynamicComponent, F as Fragment, D as renderList, E as toDisplayString, G as script$5, H as markRaw, I as useI18n, J as useCommandStore, K as useCanvasStore, L as LiteGraph, M as useColorPaletteStore, N as watch, O as useNodeDefStore, P as BadgePosition, Q as LGraphBadge, R as _, S as NodeBadgeMode, T as ref, U as useEventListener, V as nextTick, W as st, X as normalizeI18nKey, Y as useTitleEditorStore, Z as LGraphGroup, $ as LGraphNode, a0 as EditableText, a1 as defineStore, a2 as useNodeFrequencyStore, a3 as useNodeBookmarkStore, a4 as highlightQuery, a5 as script$8, a6 as formatNumberWithSuffix, a7 as NodeSourceType, a8 as createTextVNode, a9 as script$9, aa as NodePreview, ab as NodeSearchFilter, ac as script$a, ad as SearchFilterChip, ae as useLitegraphService, af as storeToRefs, ag as isRef, ah as toRaw, ai as LinkReleaseTriggerAction, aj as normalizeClass, ak as useUserStore, al as useDialogStore, am as SettingDialogHeader, an as SettingDialogContent, ao as useKeybindingStore, ap as Teleport, aq as usePragmaticDraggable, ar as usePragmaticDroppable, as as withModifiers, at as mergeProps, au as useWorkflowService, av as useWorkflowBookmarkStore, aw as script$c, ax as script$d, ay as script$e, az as useModelToNodeStore, aA as ComfyNodeDefImpl, aB as ComfyModelDef, aC as ComfyWorkflow, aD as LGraphCanvas, aE as te, aF as LGraph, aG as LLink, aH as DragAndScale, aI as ContextMenu, aJ as CanvasPointer, aK as isImageNode, aL as api, aM as getStorageValue, aN as useModelStore, aO as setStorageValue, aP as LinkMarkerShape, aQ as IS_CONTROL_WIDGET, aR as updateControlWidgetLabel, aS as useColorPaletteService, aT as ChangeTracker, aU as i18n, aV as useToast, aW as useToastStore, aX as useQueueSettingsStore, aY as script$g, aZ as useQueuePendingTaskCountStore, a_ as useLocalStorage, a$ as useDraggable, b0 as watchDebounced, b1 as inject, b2 as useElementBounding, b3 as script$i, b4 as lodashExports, b5 as useEventBus, b6 as useMenuItemStore, b7 as provide, b8 as isElectron, b9 as electronAPI, ba as isNativeWindow, bb as useDialogService, bc as LGraphEventMode, bd as useQueueStore, be as DEFAULT_DARK_COLOR_PALETTE, bf as DEFAULT_LIGHT_COLOR_PALETTE, bg as t, bh as useErrorHandling } from "./index-DqXp9vW4.js"; -import { s as script$1, a as script$2, b as script$3, c as script$4, d as script$6, e as script$7, f as script$b, g as script$h, h as script$j } from "./index-DSWvxALN.js"; -import { s as script$f } from "./index-B0BQ8jlU.js"; -import { u as useKeybindingService } from "./keybindingService-DgS0S2M6.js"; -import { u as useServerConfigStore } from "./serverConfigStore-C8uoM7Sm.js"; -import "./index-BTHx8UHZ.js"; +import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script, m as createBaseVNode, n as normalizeStyle, _ as _export_sfc, p as onMounted, q as onBeforeUnmount, t as useSidebarTabStore, x as useBottomPanelStore, y as createBlock, z as withCtx, A as renderSlot, B as createCommentVNode, C as resolveDynamicComponent, F as Fragment, D as renderList, E as toDisplayString, G as script$5, H as markRaw, I as useI18n, J as useCommandStore, K as useCanvasStore, L as LiteGraph, M as useColorPaletteStore, N as watch, O as useNodeDefStore, P as BadgePosition, Q as LGraphBadge, R as _, S as NodeBadgeMode, T as ref, U as useEventListener, V as nextTick, W as st, X as normalizeI18nKey, Y as useTitleEditorStore, Z as LGraphGroup, $ as LGraphNode, a0 as EditableText, a1 as defineStore, a2 as useNodeFrequencyStore, a3 as useNodeBookmarkStore, a4 as highlightQuery, a5 as script$8, a6 as formatNumberWithSuffix, a7 as NodeSourceType, a8 as createTextVNode, a9 as script$9, aa as NodePreview, ab as NodeSearchFilter, ac as script$a, ad as SearchFilterChip, ae as useLitegraphService, af as storeToRefs, ag as isRef, ah as toRaw, ai as LinkReleaseTriggerAction, aj as normalizeClass, ak as useUserStore, al as useDialogStore, am as SettingDialogHeader, an as SettingDialogContent, ao as useKeybindingStore, ap as Teleport, aq as usePragmaticDraggable, ar as usePragmaticDroppable, as as withModifiers, at as mergeProps, au as useWorkflowService, av as useWorkflowBookmarkStore, aw as script$c, ax as script$d, ay as script$e, az as useModelToNodeStore, aA as ComfyNodeDefImpl, aB as ComfyModelDef, aC as ComfyWorkflow, aD as LGraphCanvas, aE as te, aF as LGraph, aG as LLink, aH as DragAndScale, aI as ContextMenu, aJ as CanvasPointer, aK as isImageNode, aL as api, aM as getStorageValue, aN as useModelStore, aO as setStorageValue, aP as LinkMarkerShape, aQ as IS_CONTROL_WIDGET, aR as updateControlWidgetLabel, aS as useColorPaletteService, aT as ChangeTracker, aU as i18n, aV as useToast, aW as useToastStore, aX as useQueueSettingsStore, aY as script$g, aZ as useQueuePendingTaskCountStore, a_ as useLocalStorage, a$ as useDraggable, b0 as watchDebounced, b1 as inject, b2 as useElementBounding, b3 as script$i, b4 as lodashExports, b5 as useEventBus, b6 as useMenuItemStore, b7 as provide, b8 as isElectron, b9 as electronAPI, ba as isNativeWindow, bb as useDialogService, bc as LGraphEventMode, bd as useQueueStore, be as DEFAULT_DARK_COLOR_PALETTE, bf as DEFAULT_LIGHT_COLOR_PALETTE, bg as t, bh as useErrorHandling } from "./index-Bv0b06LE.js"; +import { s as script$1, a as script$2, b as script$3, c as script$4, d as script$6, e as script$7, f as script$b, g as script$h, h as script$j } from "./index-C068lYT4.js"; +import { s as script$f } from "./index-A_bXPJCN.js"; +import { u as useKeybindingService } from "./keybindingService-DyjX-nxF.js"; +import { u as useServerConfigStore } from "./serverConfigStore-D2Vr0L0h.js"; +import "./index-Dzu9WL4p.js"; const DEFAULT_TITLE = "ComfyUI"; const TITLE_SUFFIX = " - ComfyUI"; const _sfc_main$u = /* @__PURE__ */ defineComponent({ @@ -4916,4 +4916,4 @@ const GraphView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v- export { GraphView as default }; -//# sourceMappingURL=GraphView-CLFBgoGf.js.map +//# sourceMappingURL=GraphView-B_UDZi95.js.map diff --git a/web/assets/InstallView-x9XCq0hC.js b/web/assets/InstallView-DW9xwU_F.js similarity index 99% rename from web/assets/InstallView-x9XCq0hC.js rename to web/assets/InstallView-DW9xwU_F.js index 9487ebf27..e7e2509e9 100644 --- a/web/assets/InstallView-x9XCq0hC.js +++ b/web/assets/InstallView-DW9xwU_F.js @@ -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-DqXp9vW4.js"; -import { s as script$b, a as script$c, b as script$d, c as script$e, d as script$f } from "./index-A-dAhghd.js"; +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 { P as PYTHON_MIRROR, a as PYPI_MIRROR } from "./uvMirrors-B-HKMf6X.js"; -import { _ as _sfc_main$8 } from "./BaseViewTemplate-DlGljfEG.js"; +import { _ as _sfc_main$8 } from "./BaseViewTemplate-BTbuZf5t.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-x9XCq0hC.js.map +//# sourceMappingURL=InstallView-DW9xwU_F.js.map diff --git a/web/assets/KeybindingPanel-BIrxefrS.js b/web/assets/KeybindingPanel-oavhFdkz.js similarity index 98% rename from web/assets/KeybindingPanel-BIrxefrS.js rename to web/assets/KeybindingPanel-oavhFdkz.js index dc8d2ae3c..aa3739dcd 100644 --- a/web/assets/KeybindingPanel-BIrxefrS.js +++ b/web/assets/KeybindingPanel-oavhFdkz.js @@ -1,9 +1,9 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqXp9vW4.js"; -import { g as script$1, h as script$3 } from "./index-KUUE4Ew8.js"; -import { u as useKeybindingService } from "./keybindingService-DgS0S2M6.js"; -import "./index-BTHx8UHZ.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"; const _hoisted_1$1 = { key: 0, class: "px-2" @@ -289,4 +289,4 @@ const KeybindingPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { KeybindingPanel as default }; -//# sourceMappingURL=KeybindingPanel-BIrxefrS.js.map +//# sourceMappingURL=KeybindingPanel-oavhFdkz.js.map diff --git a/web/assets/MaintenanceView-BUmTZX1d.js b/web/assets/MaintenanceView-Bh8OZpgl.js similarity index 99% rename from web/assets/MaintenanceView-BUmTZX1d.js rename to web/assets/MaintenanceView-Bh8OZpgl.js index f52e9b169..4f3d99c3b 100644 --- a/web/assets/MaintenanceView-BUmTZX1d.js +++ b/web/assets/MaintenanceView-Bh8OZpgl.js @@ -1,13 +1,13 @@ var __defProp = Object.defineProperty; var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); -import { d as defineComponent, bw as mergeModels, bq as useModel, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, aj as normalizeClass, i as withDirectives, v as vShow, k as createVNode, j as unref, bE as script$1c, l as script$1d, c as computed, bF as PrimeIcons, bg as t, a5 as script$1e, b1 as inject, bG as BaseStyle, bH as script$1f, at as mergeProps, bI as Transition, C as resolveDynamicComponent, A as renderSlot, B as createCommentVNode, bJ as findSingle, bK as getAttribute, bL as focus, bM as script$1g, bN as script$1h, bO as Ripple, r as resolveDirective, bP as UniqueComponentId, bQ as script$1i, bR as resolveComponent, f as createElementBlock, F as Fragment, D as renderList, E as toDisplayString, bS as BaseDirective, bT as removeClass, bU as addClass, bV as createElement, bW as hasClass, bX as script$1j, bY as script$1k, bZ as ZIndex, b_ as addStyle, b$ as ConnectedOverlayScrollHandler, c0 as isTouchDevice, c1 as relativePosition, c2 as getOuterWidth, c3 as absolutePosition, c4 as find, c5 as getIndex, c6 as getFocusableElements, c7 as OverlayEventBus, c8 as setAttribute, c9 as localeComparator, bk as script$1l, ca as script$1m, cb as script$1n, n as normalizeStyle, a8 as createTextVNode, bj as withKeys, cc as resolveFieldData, cd as isNotEmpty, ce as equals, cf as script$1o, cg as isString, ch as isPrintableCharacter, ci as isEmpty, cj as findLastIndex, ck as script$1p, cl as script$1q, cm as script$1r, cn as uuid, a9 as script$1s, co as sort, cp as createSlots, cq as EventBus, H as markRaw, cr as resolve, cs as Tooltip, bm as script$1u, ac as script$1v, ct as script$1w, cu as script$1x, cv as script$1y, cw as script$1z, bn as script$1A, cx as normalizeProps, cy as blockBodyScroll, cz as isAttributeEquals, cA as unblockBodyScroll, cB as FocusTrap, cC as guardReactiveProps, cD as setCSSProperty, cE as $dt, cF as script$1C, cG as script$1E, cH as getUserAgent, br as script$1F, cI as script$1G, cJ as getFirstFocusableElement, cK as getLastFocusableElement, cL as FilterService, bv as script$1I, cM as script$1J, bt as script$1K, bs as script$1L, cN as script$1M, cO as findIndexInList, cP as scrollInView, cQ as script$1N, cR as script$1O, cS as script$1P, cT as findLast, cU as getWindowScrollTop, cV as getWidth, cW as getOffset, cX as vModelText, cY as script$1U, as as withModifiers, cZ as getVNodeProp, c_ as getNextElementSibling, c$ as getPreviousElementSibling, d0 as isClickable, d1 as _default, d2 as clearSelection, d3 as isRTL, b9 as electronAPI, a1 as defineStore, T as ref, d4 as useTimeout, N as watch, d5 as script$1Y, _ as _export_sfc, aV as useToast, d6 as useConfirm, bl as script$1Z, d7 as script$1_, p as onMounted, d8 as onUnmounted, aw as script$1$, ag as isRef } from "./index-DqXp9vW4.js"; -import { a as script$1B, b as script$1D, s as script$20 } from "./index-B0BQ8jlU.js"; -import "./index-DSWvxALN.js"; -import { s as script$1t, a as script$1Q, b as script$1R, c as script$1S, d as script$1V, e as script$1W, f as script$1X } from "./index-KUUE4Ew8.js"; -import { s as script$1T, _ as _sfc_main$7 } from "./TerminalOutputDrawer-BgTEspHP.js"; -import { s as script$1H } from "./index-BTHx8UHZ.js"; -import "./index-A-dAhghd.js"; -import { _ as _sfc_main$8 } from "./BaseViewTemplate-DlGljfEG.js"; +import { d as defineComponent, bw as mergeModels, bq as useModel, o as openBlock, y as createBlock, z as withCtx, m as createBaseVNode, aj as normalizeClass, i as withDirectives, v as vShow, k as createVNode, j as unref, bE as script$1c, l as script$1d, c as computed, bF as PrimeIcons, bg as t, a5 as script$1e, b1 as inject, bG as BaseStyle, bH as script$1f, at as mergeProps, bI as Transition, C as resolveDynamicComponent, A as renderSlot, B as createCommentVNode, bJ as findSingle, bK as getAttribute, bL as focus, bM as script$1g, bN as script$1h, bO as Ripple, r as resolveDirective, bP as UniqueComponentId, bQ as script$1i, bR as resolveComponent, f as createElementBlock, F as Fragment, D as renderList, E as toDisplayString, bS as BaseDirective, bT as removeClass, bU as addClass, bV as createElement, bW as hasClass, bX as script$1j, bY as script$1k, bZ as ZIndex, b_ as addStyle, b$ as ConnectedOverlayScrollHandler, c0 as isTouchDevice, c1 as relativePosition, c2 as getOuterWidth, c3 as absolutePosition, c4 as find, c5 as getIndex, c6 as getFocusableElements, c7 as OverlayEventBus, c8 as setAttribute, c9 as localeComparator, bk as script$1l, ca as script$1m, cb as script$1n, n as normalizeStyle, a8 as createTextVNode, bj as withKeys, cc as resolveFieldData, cd as isNotEmpty, ce as equals, cf as script$1o, cg as isString, ch as isPrintableCharacter, ci as isEmpty, cj as findLastIndex, ck as script$1p, cl as script$1q, cm as script$1r, cn as uuid, a9 as script$1s, co as sort, cp as createSlots, cq as EventBus, H as markRaw, cr as resolve, cs as Tooltip, bm as script$1u, ac as script$1v, ct as script$1w, cu as script$1x, cv as script$1y, cw as script$1z, bn as script$1A, cx as normalizeProps, cy as blockBodyScroll, cz as isAttributeEquals, cA as unblockBodyScroll, cB as FocusTrap, cC as guardReactiveProps, cD as setCSSProperty, cE as $dt, cF as script$1C, cG as script$1E, cH as getUserAgent, br as script$1F, cI as script$1G, cJ as getFirstFocusableElement, cK as getLastFocusableElement, cL as FilterService, bv as script$1I, cM as script$1J, bt as script$1K, bs as script$1L, cN as script$1M, cO as findIndexInList, cP as scrollInView, cQ as script$1N, cR as script$1O, cS as script$1P, cT as findLast, cU as getWindowScrollTop, cV as getWidth, cW as getOffset, cX as vModelText, cY as script$1U, as as withModifiers, cZ as getVNodeProp, c_ as getNextElementSibling, c$ as getPreviousElementSibling, d0 as isClickable, d1 as _default, d2 as clearSelection, d3 as isRTL, b9 as electronAPI, a1 as defineStore, T as ref, d4 as useTimeout, N as watch, d5 as script$1Y, _ as _export_sfc, aV as useToast, d6 as useConfirm, bl as script$1Z, d7 as script$1_, p as onMounted, d8 as onUnmounted, aw as script$1$, ag as isRef } from "./index-Bv0b06LE.js"; +import { a as script$1B, b as script$1D, s as script$20 } from "./index-A_bXPJCN.js"; +import "./index-C068lYT4.js"; +import { s as script$1t, a as script$1Q, b as script$1R, c as script$1S, d as script$1V, e as script$1W, f as script$1X } from "./index-CgMyWf7n.js"; +import { s as script$1T, _ as _sfc_main$7 } from "./TerminalOutputDrawer-CKr7Br7O.js"; +import { s as script$1H } from "./index-Dzu9WL4p.js"; +import "./index-SeIZOWJp.js"; +import { _ as _sfc_main$8 } from "./BaseViewTemplate-BTbuZf5t.js"; const _sfc_main$6 = /* @__PURE__ */ defineComponent({ __name: "RefreshButton", props: /* @__PURE__ */ mergeModels({ @@ -25632,4 +25632,4 @@ const MaintenanceView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { MaintenanceView as default }; -//# sourceMappingURL=MaintenanceView-BUmTZX1d.js.map +//# sourceMappingURL=MaintenanceView-Bh8OZpgl.js.map diff --git a/web/assets/ManualConfigurationView-D3on5kXY.js b/web/assets/ManualConfigurationView-DTLyJ3VG.js similarity index 95% rename from web/assets/ManualConfigurationView-D3on5kXY.js rename to web/assets/ManualConfigurationView-DTLyJ3VG.js index bcb4cdaa8..9f2a63acc 100644 --- a/web/assets/ManualConfigurationView-D3on5kXY.js +++ b/web/assets/ManualConfigurationView-DTLyJ3VG.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqXp9vW4.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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"; 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" }; @@ -71,4 +71,4 @@ const ManualConfigurationView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scop export { ManualConfigurationView as default }; -//# sourceMappingURL=ManualConfigurationView-D3on5kXY.js.map +//# sourceMappingURL=ManualConfigurationView-DTLyJ3VG.js.map diff --git a/web/assets/MetricsConsentView-DK20ednB.js b/web/assets/MetricsConsentView-C80fk2cl.js similarity index 95% rename from web/assets/MetricsConsentView-DK20ednB.js rename to web/assets/MetricsConsentView-C80fk2cl.js index e887d63b3..f92e06b76 100644 --- a/web/assets/MetricsConsentView-DK20ednB.js +++ b/web/assets/MetricsConsentView-C80fk2cl.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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-DqXp9vW4.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"; 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" }; @@ -83,4 +83,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=MetricsConsentView-DK20ednB.js.map +//# sourceMappingURL=MetricsConsentView-C80fk2cl.js.map diff --git a/web/assets/NotSupportedView-BzM0uuqA.js b/web/assets/NotSupportedView-B78ZVR9Z.js similarity index 96% rename from web/assets/NotSupportedView-BzM0uuqA.js rename to web/assets/NotSupportedView-B78ZVR9Z.js index 532b19abf..f59e3d1ad 100644 --- a/web/assets/NotSupportedView-BzM0uuqA.js +++ b/web/assets/NotSupportedView-B78ZVR9Z.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqXp9vW4.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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"; 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" }; @@ -83,4 +83,4 @@ const NotSupportedView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", " export { NotSupportedView as default }; -//# sourceMappingURL=NotSupportedView-BzM0uuqA.js.map +//# sourceMappingURL=NotSupportedView-B78ZVR9Z.js.map diff --git a/web/assets/ServerConfigPanel-D0jTW_iX.js b/web/assets/ServerConfigPanel-BYrt6wyr.js similarity index 97% rename from web/assets/ServerConfigPanel-D0jTW_iX.js rename to web/assets/ServerConfigPanel-BYrt6wyr.js index cd7194db4..494678ac1 100644 --- a/web/assets/ServerConfigPanel-D0jTW_iX.js +++ b/web/assets/ServerConfigPanel-BYrt6wyr.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqXp9vW4.js"; -import { u as useServerConfigStore } from "./serverConfigStore-C8uoM7Sm.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"; const _hoisted_1$1 = { viewBox: "0 0 24 24", width: "1.2em", @@ -153,4 +153,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=ServerConfigPanel-D0jTW_iX.js.map +//# sourceMappingURL=ServerConfigPanel-BYrt6wyr.js.map diff --git a/web/assets/ServerStartView-BENqs5bD.js b/web/assets/ServerStartView-B7TlHxYo.js similarity index 96% rename from web/assets/ServerStartView-BENqs5bD.js rename to web/assets/ServerStartView-B7TlHxYo.js index 2e154ee90..80dfeb323 100644 --- a/web/assets/ServerStartView-BENqs5bD.js +++ b/web/assets/ServerStartView-B7TlHxYo.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqXp9vW4.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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"; 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 }; @@ -97,4 +97,4 @@ const ServerStartView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d export { ServerStartView as default }; -//# sourceMappingURL=ServerStartView-BENqs5bD.js.map +//# sourceMappingURL=ServerStartView-B7TlHxYo.js.map diff --git a/web/assets/TerminalOutputDrawer-BgTEspHP.js b/web/assets/TerminalOutputDrawer-CKr7Br7O.js similarity index 99% rename from web/assets/TerminalOutputDrawer-BgTEspHP.js rename to web/assets/TerminalOutputDrawer-CKr7Br7O.js index 786fe62f1..09062bab9 100644 --- a/web/assets/TerminalOutputDrawer-BgTEspHP.js +++ b/web/assets/TerminalOutputDrawer-CKr7Br7O.js @@ -1,6 +1,6 @@ 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-DqXp9vW4.js"; +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"); @@ -1058,4 +1058,4 @@ export { _sfc_main as _, script as s }; -//# sourceMappingURL=TerminalOutputDrawer-BgTEspHP.js.map +//# sourceMappingURL=TerminalOutputDrawer-CKr7Br7O.js.map diff --git a/web/assets/UserSelectView-CRPNAEVJ.js b/web/assets/UserSelectView-C703HOyO.js similarity index 97% rename from web/assets/UserSelectView-CRPNAEVJ.js rename to web/assets/UserSelectView-C703HOyO.js index d5d12bd6b..6ada5034d 100644 --- a/web/assets/UserSelectView-CRPNAEVJ.js +++ b/web/assets/UserSelectView-C703HOyO.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqXp9vW4.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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"; 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" @@ -98,4 +98,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ export { _sfc_main as default }; -//# sourceMappingURL=UserSelectView-CRPNAEVJ.js.map +//# sourceMappingURL=UserSelectView-C703HOyO.js.map diff --git a/web/assets/WelcomeView-Cvtvw05C.js b/web/assets/WelcomeView-DIFvbWc2.js similarity index 91% rename from web/assets/WelcomeView-Cvtvw05C.js rename to web/assets/WelcomeView-DIFvbWc2.js index 20b087d94..93c670199 100644 --- a/web/assets/WelcomeView-Cvtvw05C.js +++ b/web/assets/WelcomeView-DIFvbWc2.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -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-DqXp9vW4.js"; -import { _ as _sfc_main$1 } from "./BaseViewTemplate-DlGljfEG.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"; 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({ @@ -36,4 +36,4 @@ const WelcomeView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data- export { WelcomeView as default }; -//# sourceMappingURL=WelcomeView-Cvtvw05C.js.map +//# sourceMappingURL=WelcomeView-DIFvbWc2.js.map diff --git a/web/assets/index-B0BQ8jlU.js b/web/assets/index-A_bXPJCN.js similarity index 99% rename from web/assets/index-B0BQ8jlU.js rename to web/assets/index-A_bXPJCN.js index 350e04eca..8753d0e80 100644 --- a/web/assets/index-B0BQ8jlU.js +++ b/web/assets/index-A_bXPJCN.js @@ -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-DqXp9vW4.js"; +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"; 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-B0BQ8jlU.js.map +//# sourceMappingURL=index-A_bXPJCN.js.map diff --git a/web/assets/index-D9D9jjLT.js b/web/assets/index-B36GcHVN.js similarity index 99% rename from web/assets/index-D9D9jjLT.js rename to web/assets/index-B36GcHVN.js index 22a3f2910..3aed3257e 100644 --- a/web/assets/index-D9D9jjLT.js +++ b/web/assets/index-B36GcHVN.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { di as ComfyDialog, dj as $el, dk as ComfyApp, h as app, L as LiteGraph, aD as LGraphCanvas, dl as useExtensionService, dm as processDynamicPrompt, b8 as isElectron, b9 as electronAPI, b as useWorkflowStore, by as checkMirrorReachable, bb as useDialogService, bg as t, dn as DraggableList, aW as useToastStore, $ as LGraphNode, dp as applyTextReplacements, dq as ComfyWidgets, dr as addValueControlWidgets, O as useNodeDefStore, a as useSettingStore, ds as serialise, dt as deserialiseAndCreate, aL as api, Z as LGraphGroup, d as defineComponent, T as ref, p as onMounted, d8 as onUnmounted, r as resolveDirective, o as openBlock, f as createElementBlock, k as createVNode, j as unref, l as script, z as withCtx, i as withDirectives, m as createBaseVNode, y as createBlock, aj as normalizeClass, du as script$1, v as vShow, B as createCommentVNode, dv as createApp, cs as Tooltip, N as watch, bm as script$2, dw as PrimeVue, V as nextTick, b4 as lodashExports, aO as setStorageValue, aM as getStorageValue } from "./index-DqXp9vW4.js"; +import { di as ComfyDialog, dj as $el, dk as ComfyApp, h as app, L as LiteGraph, aD as LGraphCanvas, dl as useExtensionService, dm as processDynamicPrompt, b8 as isElectron, b9 as electronAPI, b as useWorkflowStore, by as checkMirrorReachable, bb as useDialogService, bg as t, dn as DraggableList, aW as useToastStore, $ as LGraphNode, dp as applyTextReplacements, dq as ComfyWidgets, dr as addValueControlWidgets, O as useNodeDefStore, a as useSettingStore, ds as serialise, dt as deserialiseAndCreate, aL as api, Z as LGraphGroup, d as defineComponent, T as ref, p as onMounted, d8 as onUnmounted, r as resolveDirective, o as openBlock, f as createElementBlock, k as createVNode, j as unref, l as script, z as withCtx, i as withDirectives, m as createBaseVNode, y as createBlock, aj as normalizeClass, du as script$1, v as vShow, B as createCommentVNode, dv as createApp, cs as Tooltip, N as watch, bm as script$2, dw as PrimeVue, V as nextTick, b4 as lodashExports, aO as setStorageValue, aM as getStorageValue } from "./index-Bv0b06LE.js"; import { P as PYTHON_MIRROR } from "./uvMirrors-B-HKMf6X.js"; class ClipspaceDialog extends ComfyDialog { static { @@ -46215,7 +46215,7 @@ class STLLoader extends Loader { return isBinary(binData) ? parseBinary(binData) : parseASCII(ensureString(data)); } } -const _hoisted_1$1 = { class: "absolute top-2 left-2 flex flex-col gap-2 z-20" }; +const _hoisted_1$1 = { class: "absolute top-2 left-2 flex flex-col gap-2 pointer-events-auto z-20" }; const _hoisted_2$1 = { class: "pi pi-camera text-white text-lg" }; const _hoisted_3 = { class: "pi pi-palette text-white text-lg" }; const _hoisted_4 = ["value"]; @@ -47271,7 +47271,7 @@ class Load3d { const _hoisted_1 = { class: "absolute top-0 left-0 w-full h-full pointer-events-none" }; const _hoisted_2 = { key: 0, - class: "absolute top-0 left-0 w-full flex justify-center pt-2 gap-2 items-center z-10" + class: "absolute top-0 left-0 w-full flex justify-center pt-2 gap-2 items-center pointer-events-auto z-10" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "Load3DAnimationControls", @@ -54179,4 +54179,4 @@ app.registerExtension({ }); } }); -//# sourceMappingURL=index-D9D9jjLT.js.map +//# sourceMappingURL=index-B36GcHVN.js.map diff --git a/web/assets/index-DqXp9vW4.js b/web/assets/index-Bv0b06LE.js similarity index 99% rename from web/assets/index-DqXp9vW4.js rename to web/assets/index-Bv0b06LE.js index 46d800e22..b91de40d7 100644 --- a/web/assets/index-DqXp9vW4.js +++ b/web/assets/index-Bv0b06LE.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-CLFBgoGf.js","./index-DSWvxALN.js","./index-BTHx8UHZ.js","./index-B0BQ8jlU.js","./keybindingService-DgS0S2M6.js","./serverConfigStore-C8uoM7Sm.js","./GraphView-Bo28XDd0.css","./UserSelectView-CRPNAEVJ.js","./BaseViewTemplate-DlGljfEG.js","./ServerStartView-BENqs5bD.js","./ServerStartView-BZ7uhZHv.css","./InstallView-x9XCq0hC.js","./index-A-dAhghd.js","./uvMirrors-B-HKMf6X.js","./InstallView-DbJ2cGfL.css","./WelcomeView-Cvtvw05C.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-BzM0uuqA.js","./NotSupportedView-RFx6eCkN.css","./DownloadGitView-SPK8AXQU.js","./ManualConfigurationView-D3on5kXY.js","./ManualConfigurationView-CsirlNfV.css","./MetricsConsentView-DK20ednB.js","./DesktopStartView-B2BMUZxW.js","./MaintenanceView-BUmTZX1d.js","./index-KUUE4Ew8.js","./TerminalOutputDrawer-BgTEspHP.js","./MaintenanceView-DEJCj8SR.css","./DesktopUpdateView-DWsew03S.js","./DesktopUpdateView-CxchaIvw.css","./KeybindingPanel-BIrxefrS.js","./KeybindingPanel-CDYVPYDp.css","./ExtensionPanel-1HZtMFvH.js","./ServerConfigPanel-D0jTW_iX.js","./index-D9D9jjLT.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GraphView-B_UDZi95.js","./index-C068lYT4.js","./index-Dzu9WL4p.js","./index-A_bXPJCN.js","./keybindingService-DyjX-nxF.js","./serverConfigStore-D2Vr0L0h.js","./GraphView-Bo28XDd0.css","./UserSelectView-C703HOyO.js","./BaseViewTemplate-BTbuZf5t.js","./ServerStartView-B7TlHxYo.js","./ServerStartView-BZ7uhZHv.css","./InstallView-DW9xwU_F.js","./index-SeIZOWJp.js","./uvMirrors-B-HKMf6X.js","./InstallView-DbJ2cGfL.css","./WelcomeView-DIFvbWc2.js","./WelcomeView-Brz3-luE.css","./NotSupportedView-B78ZVR9Z.js","./NotSupportedView-RFx6eCkN.css","./DownloadGitView-PWqK5ke4.js","./ManualConfigurationView-DTLyJ3VG.js","./ManualConfigurationView-CsirlNfV.css","./MetricsConsentView-C80fk2cl.js","./DesktopStartView-D9r53Bue.js","./MaintenanceView-Bh8OZpgl.js","./index-CgMyWf7n.js","./TerminalOutputDrawer-CKr7Br7O.js","./MaintenanceView-DEJCj8SR.css","./DesktopUpdateView-C-R0415K.js","./DesktopUpdateView-CxchaIvw.css","./KeybindingPanel-oavhFdkz.js","./KeybindingPanel-CDYVPYDp.css","./ExtensionPanel-Ba57xrmg.js","./ServerConfigPanel-BYrt6wyr.js","./index-B36GcHVN.js","./index-BRhY6FpL.css"])))=>i.map(i=>d[i]); var __defProp2 = Object.defineProperty; var __name = (target2, value4) => __defProp2(target2, "name", { value: value4, configurable: true }); (/* @__PURE__ */ __name(function polyfill2() { @@ -73870,7 +73870,7 @@ const router = createRouter({ { path: "", name: "GraphView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./GraphView-CLFBgoGf.js"), true ? __vite__mapDeps([0,1,2,3,4,5,6]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./GraphView-B_UDZi95.js"), true ? __vite__mapDeps([0,1,2,3,4,5,6]) : void 0, import.meta.url), "component"), beforeEnter: /* @__PURE__ */ __name(async (to, from2, next2) => { const userStore = useUserStore(); await userStore.initialize(); @@ -73884,66 +73884,66 @@ const router = createRouter({ { path: "user-select", name: "UserSelectView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./UserSelectView-CRPNAEVJ.js"), true ? __vite__mapDeps([7,8]) : void 0, import.meta.url), "component") + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./UserSelectView-C703HOyO.js"), true ? __vite__mapDeps([7,8]) : void 0, import.meta.url), "component") }, { path: "server-start", name: "ServerStartView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ServerStartView-BENqs5bD.js"), true ? __vite__mapDeps([9,8,10]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ServerStartView-B7TlHxYo.js"), true ? __vite__mapDeps([9,8,10]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "install", name: "InstallView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./InstallView-x9XCq0hC.js"), true ? __vite__mapDeps([11,12,13,8,14]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./InstallView-DW9xwU_F.js"), true ? __vite__mapDeps([11,12,13,8,14]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "welcome", name: "WelcomeView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./WelcomeView-Cvtvw05C.js"), true ? __vite__mapDeps([15,8,16]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./WelcomeView-DIFvbWc2.js"), true ? __vite__mapDeps([15,8,16]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "not-supported", name: "NotSupportedView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./NotSupportedView-BzM0uuqA.js"), true ? __vite__mapDeps([17,8,18]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./NotSupportedView-B78ZVR9Z.js"), true ? __vite__mapDeps([17,8,18]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "download-git", name: "DownloadGitView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DownloadGitView-SPK8AXQU.js"), true ? __vite__mapDeps([19,8]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DownloadGitView-PWqK5ke4.js"), true ? __vite__mapDeps([19,8]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "manual-configuration", name: "ManualConfigurationView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ManualConfigurationView-D3on5kXY.js"), true ? __vite__mapDeps([20,8,21]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./ManualConfigurationView-DTLyJ3VG.js"), true ? __vite__mapDeps([20,8,21]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "/metrics-consent", name: "MetricsConsentView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MetricsConsentView-DK20ednB.js"), true ? __vite__mapDeps([22,8]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MetricsConsentView-C80fk2cl.js"), true ? __vite__mapDeps([22,8]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "desktop-start", name: "DesktopStartView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopStartView-B2BMUZxW.js"), true ? __vite__mapDeps([23,8]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopStartView-D9r53Bue.js"), true ? __vite__mapDeps([23,8]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "maintenance", name: "MaintenanceView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MaintenanceView-BUmTZX1d.js"), true ? __vite__mapDeps([24,3,1,2,25,26,12,8,27]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./MaintenanceView-Bh8OZpgl.js"), true ? __vite__mapDeps([24,3,1,2,25,26,12,8,27]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess }, { path: "desktop-update", name: "DesktopUpdateView", - component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopUpdateView-DWsew03S.js"), true ? __vite__mapDeps([28,3,26,8,29]) : void 0, import.meta.url), "component"), + component: /* @__PURE__ */ __name(() => __vitePreload(() => import("./DesktopUpdateView-C-R0415K.js"), true ? __vite__mapDeps([28,3,26,8,29]) : void 0, import.meta.url), "component"), beforeEnter: guardElectronAccess } ] @@ -85961,7 +85961,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({ }); const config$1 = { app_title: "ComfyUI", - app_version: "1.9.17" + app_version: "1.9.18" }; /*! * shared v9.13.1 @@ -154199,7 +154199,7 @@ const useSystemStatsStore = /* @__PURE__ */ defineStore("systemStats", () => { }; }); const useAboutPanelStore = /* @__PURE__ */ defineStore("aboutPanel", () => { - const frontendVersion = "1.9.17"; + const frontendVersion = "1.9.18"; const extensionStore = useExtensionStore(); const systemStatsStore = useSystemStatsStore(); const coreVersion = computed( @@ -159658,13 +159658,13 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({ setup(__props) { const props = __props; const KeybindingPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./KeybindingPanel-BIrxefrS.js"), true ? __vite__mapDeps([30,25,2,4,31]) : void 0, import.meta.url) + () => __vitePreload(() => import("./KeybindingPanel-oavhFdkz.js"), true ? __vite__mapDeps([30,25,2,4,31]) : void 0, import.meta.url) ); const ExtensionPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./ExtensionPanel-1HZtMFvH.js"), true ? __vite__mapDeps([32,25,2]) : void 0, import.meta.url) + () => __vitePreload(() => import("./ExtensionPanel-Ba57xrmg.js"), true ? __vite__mapDeps([32,25,2]) : void 0, import.meta.url) ); const ServerConfigPanel = /* @__PURE__ */ defineAsyncComponent( - () => __vitePreload(() => import("./ServerConfigPanel-D0jTW_iX.js"), true ? __vite__mapDeps([33,5]) : void 0, import.meta.url) + () => __vitePreload(() => import("./ServerConfigPanel-BYrt6wyr.js"), true ? __vite__mapDeps([33,5]) : void 0, import.meta.url) ); const aboutPanelNode = { key: "about", @@ -200522,7 +200522,7 @@ const useExtensionService = /* @__PURE__ */ __name(() => { settingStore.get("Comfy.Extension.Disabled") ); const extensions = await api.getExtensions(); - await __vitePreload(() => import("./index-D9D9jjLT.js"), true ? __vite__mapDeps([34,13,35]) : void 0, import.meta.url); + await __vitePreload(() => import("./index-B36GcHVN.js"), true ? __vite__mapDeps([34,13,35]) : void 0, import.meta.url); extensionStore.captureCoreExtensions(); await Promise.all( extensions.filter((extension) => !extension.includes("extensions/core")).map(async (ext) => { @@ -220720,7 +220720,7 @@ init$3({ app, dsn: "https://e2d0c0bd392ffdce48e856c2a055f437@o4507954455314432.ingest.us.sentry.io/4508621568475136", enabled: true, - release: "1.9.17", + release: "1.9.18", integrations: [], autoSessionTracking: false, defaultIntegrations: false, @@ -221037,4 +221037,4 @@ export { createBlock as y, withCtx as z }; -//# sourceMappingURL=index-DqXp9vW4.js.map +//# sourceMappingURL=index-Bv0b06LE.js.map diff --git a/web/assets/index-DSWvxALN.js b/web/assets/index-C068lYT4.js similarity index 99% rename from web/assets/index-DSWvxALN.js rename to web/assets/index-C068lYT4.js index d7da709c2..0dd767df0 100644 --- a/web/assets/index-DSWvxALN.js +++ b/web/assets/index-C068lYT4.js @@ -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-DqXp9vW4.js"; -import { s as script$q } from "./index-BTHx8UHZ.js"; +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"; 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-DSWvxALN.js.map +//# sourceMappingURL=index-C068lYT4.js.map diff --git a/web/assets/index-KUUE4Ew8.js b/web/assets/index-CgMyWf7n.js similarity index 99% rename from web/assets/index-KUUE4Ew8.js rename to web/assets/index-CgMyWf7n.js index dd2a87a8c..24e5adc4e 100644 --- a/web/assets/index-KUUE4Ew8.js +++ b/web/assets/index-CgMyWf7n.js @@ -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$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-DqXp9vW4.js"; -import { s as script$D } from "./index-BTHx8UHZ.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"; var ColumnStyle = BaseStyle.extend({ name: "column" }); @@ -8787,4 +8787,4 @@ export { script as h, script$l as s }; -//# sourceMappingURL=index-KUUE4Ew8.js.map +//# sourceMappingURL=index-CgMyWf7n.js.map diff --git a/web/assets/index-BTHx8UHZ.js b/web/assets/index-Dzu9WL4p.js similarity index 94% rename from web/assets/index-BTHx8UHZ.js rename to web/assets/index-Dzu9WL4p.js index 71fd1e5d8..43332ad42 100644 --- a/web/assets/index-BTHx8UHZ.js +++ b/web/assets/index-Dzu9WL4p.js @@ -1,6 +1,6 @@ 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-DqXp9vW4.js"; +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 @@ -24,4 +24,4 @@ script.render = render; export { script as s }; -//# sourceMappingURL=index-BTHx8UHZ.js.map +//# sourceMappingURL=index-Dzu9WL4p.js.map diff --git a/web/assets/index-A-dAhghd.js b/web/assets/index-SeIZOWJp.js similarity index 99% rename from web/assets/index-A-dAhghd.js rename to web/assets/index-SeIZOWJp.js index 69e7290ff..eff075f74 100644 --- a/web/assets/index-A-dAhghd.js +++ b/web/assets/index-SeIZOWJp.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); -import { bG as BaseStyle, bH as script$6, o as openBlock, f as createElementBlock, at as mergeProps, cO as findIndexInList, c4 as find, bR as resolveComponent, y as createBlock, C as resolveDynamicComponent, z as withCtx, m as createBaseVNode, E as toDisplayString, A as renderSlot, B as createCommentVNode, aj as normalizeClass, bJ as findSingle, F as Fragment, bI as Transition, i as withDirectives, v as vShow, bP as UniqueComponentId } from "./index-DqXp9vW4.js"; +import { bG as BaseStyle, bH as script$6, o as openBlock, f as createElementBlock, at as mergeProps, cO as findIndexInList, c4 as find, bR as resolveComponent, y as createBlock, C as resolveDynamicComponent, z as withCtx, m as createBaseVNode, E as toDisplayString, A as renderSlot, B as createCommentVNode, aj as normalizeClass, bJ as findSingle, F as Fragment, bI as Transition, i as withDirectives, v as vShow, bP as UniqueComponentId } from "./index-Bv0b06LE.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-A-dAhghd.js.map +//# sourceMappingURL=index-SeIZOWJp.js.map diff --git a/web/assets/keybindingService-DgS0S2M6.js b/web/assets/keybindingService-DyjX-nxF.js similarity index 98% rename from web/assets/keybindingService-DgS0S2M6.js rename to web/assets/keybindingService-DyjX-nxF.js index 6b2f26f05..eb4730051 100644 --- a/web/assets/keybindingService-DgS0S2M6.js +++ b/web/assets/keybindingService-DyjX-nxF.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { ao as useKeybindingStore, J as useCommandStore, a as useSettingStore, dA as KeyComboImpl, dB as KeybindingImpl } from "./index-DqXp9vW4.js"; +import { ao as useKeybindingStore, J as useCommandStore, a as useSettingStore, dA as KeyComboImpl, dB as KeybindingImpl } from "./index-Bv0b06LE.js"; const CORE_KEYBINDINGS = [ { combo: { @@ -247,4 +247,4 @@ const useKeybindingService = /* @__PURE__ */ __name(() => { export { useKeybindingService as u }; -//# sourceMappingURL=keybindingService-DgS0S2M6.js.map +//# sourceMappingURL=keybindingService-DyjX-nxF.js.map diff --git a/web/assets/serverConfigStore-C8uoM7Sm.js b/web/assets/serverConfigStore-D2Vr0L0h.js similarity index 97% rename from web/assets/serverConfigStore-C8uoM7Sm.js rename to web/assets/serverConfigStore-D2Vr0L0h.js index b447c27b7..d4ff4307e 100644 --- a/web/assets/serverConfigStore-C8uoM7Sm.js +++ b/web/assets/serverConfigStore-D2Vr0L0h.js @@ -1,6 +1,6 @@ var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { a1 as defineStore, T as ref, c as computed } from "./index-DqXp9vW4.js"; +import { a1 as defineStore, T as ref, c as computed } from "./index-Bv0b06LE.js"; const useServerConfigStore = defineStore("serverConfig", () => { const serverConfigById = ref({}); const serverConfigs = computed(() => { @@ -87,4 +87,4 @@ const useServerConfigStore = defineStore("serverConfig", () => { export { useServerConfigStore as u }; -//# sourceMappingURL=serverConfigStore-C8uoM7Sm.js.map +//# sourceMappingURL=serverConfigStore-D2Vr0L0h.js.map diff --git a/web/index.html b/web/index.html index f8b1fc2ff..0aa96b19d 100644 --- a/web/index.html +++ b/web/index.html @@ -6,7 +6,7 @@ - + From 61c8c70c6e195de180309ec06f3fb114c387d5e7 Mon Sep 17 00:00:00 2001 From: Zhong-Yu Li <44114862+lzyhha@users.noreply.github.com> Date: Mon, 17 Feb 2025 07:15:43 +0800 Subject: [PATCH 56/78] support system prompt and cfg renorm in Lumina2 (#6795) * support system prompt and cfg renorm in Lumina2 * fix issues with the ruff style check --- comfy_extras/nodes_lumina2.py | 104 ++++++++++++++++++++++++++++++++++ nodes.py | 1 + 2 files changed, 105 insertions(+) create mode 100644 comfy_extras/nodes_lumina2.py diff --git a/comfy_extras/nodes_lumina2.py b/comfy_extras/nodes_lumina2.py new file mode 100644 index 000000000..275189785 --- /dev/null +++ b/comfy_extras/nodes_lumina2.py @@ -0,0 +1,104 @@ +from comfy.comfy_types import IO, ComfyNodeABC, InputTypeDict +import torch + + +class RenormCFG: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "cfg_trunc": ("FLOAT", {"default": 100, "min": 0.0, "max": 100.0, "step": 0.01}), + "renorm_cfg": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/model" + + def patch(self, model, cfg_trunc, renorm_cfg): + def renorm_cfg_func(args): + cond_denoised = args["cond_denoised"] + uncond_denoised = args["uncond_denoised"] + cond_scale = args["cond_scale"] + timestep = args["timestep"] + x_orig = args["input"] + in_channels = model.model.diffusion_model.in_channels + + if timestep[0] < cfg_trunc: + cond_eps, uncond_eps = cond_denoised[:, :in_channels], uncond_denoised[:, :in_channels] + cond_rest, _ = cond_denoised[:, in_channels:], uncond_denoised[:, in_channels:] + half_eps = uncond_eps + cond_scale * (cond_eps - uncond_eps) + half_rest = cond_rest + + if float(renorm_cfg) > 0.0: + ori_pos_norm = torch.linalg.vector_norm(cond_eps + , dim=tuple(range(1, len(cond_eps.shape))), keepdim=True + ) + max_new_norm = ori_pos_norm * float(renorm_cfg) + new_pos_norm = torch.linalg.vector_norm( + half_eps, dim=tuple(range(1, len(half_eps.shape))), keepdim=True + ) + if new_pos_norm >= max_new_norm: + half_eps = half_eps * (max_new_norm / new_pos_norm) + else: + cond_eps, uncond_eps = cond_denoised[:, :in_channels], uncond_denoised[:, :in_channels] + cond_rest, _ = cond_denoised[:, in_channels:], uncond_denoised[:, in_channels:] + half_eps = cond_eps + half_rest = cond_rest + + cfg_result = torch.cat([half_eps, half_rest], dim=1) + + # cfg_result = uncond_denoised + (cond_denoised - uncond_denoised) * cond_scale + + return x_orig - cfg_result + + m = model.clone() + m.set_model_sampler_cfg_function(renorm_cfg_func) + return (m, ) + + +class CLIPTextEncodeLumina2(ComfyNodeABC): + SYSTEM_PROMPT = { + "superior": "You are an assistant designed to generate superior images with the superior "\ + "degree of image-text alignment based on textual prompts or user prompts.", + "alignment": "You are an assistant designed to generate high-quality images with the "\ + "highest degree of image-text alignment based on textual prompts." + } + SYSTEM_PROMPT_TIP = "Lumina2 provide two types of system prompts:" \ + "Superior: You are an assistant designed to generate superior images with the superior "\ + "degree of image-text alignment based on textual prompts or user prompts. "\ + "Alignment: You are an assistant designed to generate high-quality images with the highest "\ + "degree of image-text alignment based on textual prompts." + @classmethod + def INPUT_TYPES(s) -> InputTypeDict: + return { + "required": { + "system_prompt": (list(CLIPTextEncodeLumina2.SYSTEM_PROMPT.keys()), {"tooltip": CLIPTextEncodeLumina2.SYSTEM_PROMPT_TIP}), + "user_prompt": (IO.STRING, {"multiline": True, "dynamicPrompts": True, "tooltip": "The text to be encoded."}), + "clip": (IO.CLIP, {"tooltip": "The CLIP model used for encoding the text."}) + } + } + RETURN_TYPES = (IO.CONDITIONING,) + OUTPUT_TOOLTIPS = ("A conditioning containing the embedded text used to guide the diffusion model.",) + FUNCTION = "encode" + + CATEGORY = "conditioning" + DESCRIPTION = "Encodes a system prompt and a user prompt using a CLIP model into an embedding that can be used to guide the diffusion model towards generating specific images." + + def encode(self, clip, user_prompt, system_prompt): + if clip is None: + raise RuntimeError("ERROR: clip input is invalid: None\n\nIf the clip is from a checkpoint loader node your checkpoint does not contain a valid clip or text encoder model.") + system_prompt = CLIPTextEncodeLumina2.SYSTEM_PROMPT[system_prompt] + prompt = f'{system_prompt} {user_prompt}' + tokens = clip.tokenize(prompt) + return (clip.encode_from_tokens_scheduled(tokens), ) + + +NODE_CLASS_MAPPINGS = { + "CLIPTextEncodeLumina2": CLIPTextEncodeLumina2, + "RenormCFG": RenormCFG +} + + +NODE_DISPLAY_NAME_MAPPINGS = { + "CLIPTextEncodeLumina2": "CLIP Text Encode for Lumina2", +} diff --git a/nodes.py b/nodes.py index 7defb60b7..504a3376e 100644 --- a/nodes.py +++ b/nodes.py @@ -2233,6 +2233,7 @@ def init_builtin_extra_nodes(): "nodes_hooks.py", "nodes_load_3d.py", "nodes_cosmos.py", + "nodes_lumina2.py", ] import_failed = [] From 530412cb9da671d1e191ca19b0df86c5bb252a62 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Mon, 17 Feb 2025 04:36:45 -0500 Subject: [PATCH 57/78] Refactor torch version checks to be more future proof. --- comfy/model_management.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/comfy/model_management.py b/comfy/model_management.py index 9f6522967..05f66c9e5 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -50,7 +50,9 @@ xpu_available = False torch_version = "" try: torch_version = torch.version.__version__ - xpu_available = (int(torch_version[0]) < 2 or (int(torch_version[0]) == 2 and int(torch_version[2]) <= 4)) and torch.xpu.is_available() + temp = torch_version.split(".") + torch_version_numeric = (int(temp[0]), int(temp[1])) + xpu_available = (torch_version_numeric[0] < 2 or (torch_version_numeric[0] == 2 and torch_version_numeric[1] <= 4)) and torch.xpu.is_available() except: pass @@ -227,7 +229,7 @@ if args.use_pytorch_cross_attention: try: if is_nvidia(): - if int(torch_version[0]) >= 2: + if torch_version_numeric[0] >= 2: if ENABLE_PYTORCH_ATTENTION == False and args.use_split_cross_attention == False and args.use_quad_cross_attention == False: ENABLE_PYTORCH_ATTENTION = True if is_intel_xpu() or is_ascend_npu(): @@ -242,7 +244,7 @@ try: arch = torch.cuda.get_device_properties(get_torch_device()).gcnArchName logging.info("AMD arch: {}".format(arch)) if args.use_split_cross_attention == False and args.use_quad_cross_attention == False: - if int(torch_version[0]) >= 2 and int(torch_version[2]) >= 7: # works on 2.6 but doesn't actually seem to improve much + if torch_version_numeric[0] >= 2 and torch_version_numeric[1] >= 7: # works on 2.6 but doesn't actually seem to improve much if arch in ["gfx1100"]: #TODO: more arches ENABLE_PYTORCH_ATTENTION = True except: @@ -261,7 +263,7 @@ except: pass try: - if int(torch_version[0]) == 2 and int(torch_version[2]) >= 5: + if torch_version_numeric[0] == 2 and torch_version_numeric[1] >= 5: torch.backends.cuda.allow_fp16_bf16_reduction_math_sdp(True) except: logging.warning("Warning, could not set allow_fp16_bf16_reduction_math_sdp") @@ -1136,11 +1138,11 @@ def supports_fp8_compute(device=None): if props.minor < 9: return False - if int(torch_version[0]) < 2 or (int(torch_version[0]) == 2 and int(torch_version[2]) < 3): + if torch_version_numeric[0] < 2 or (torch_version_numeric[0] == 2 and torch_version_numeric[1] < 3): return False if WINDOWS: - if (int(torch_version[0]) == 2 and int(torch_version[2]) < 4): + if (torch_version_numeric[0] == 2 and torch_version_numeric[1] < 4): return False return True From 8c0bae50c3b13a4cf1b910f6b98efd27a87acf27 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Mon, 17 Feb 2025 04:42:40 -0500 Subject: [PATCH 58/78] bf16 manual cast works on old AMD. --- comfy/model_management.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/comfy/model_management.py b/comfy/model_management.py index 05f66c9e5..535d53014 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -1111,6 +1111,8 @@ def should_use_bf16(device=None, model_params=0, prioritize_performance=True, ma if is_amd(): arch = torch.cuda.get_device_properties(device).gcnArchName if arch in ["gfx1030", "gfx1031", "gfx1010", "gfx1011", "gfx1012", "gfx906", "gfx900", "gfx803"]: # RDNA2 and older don't support bf16 + if manual_cast: + return True return False props = torch.cuda.get_device_properties(device) From 31e54b7052bd65c151018950bd95473e3f9a9489 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Mon, 17 Feb 2025 04:53:40 -0500 Subject: [PATCH 59/78] Improve AMD arch detection. --- comfy/model_management.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/comfy/model_management.py b/comfy/model_management.py index 535d53014..9252afab1 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -245,7 +245,7 @@ try: logging.info("AMD arch: {}".format(arch)) if args.use_split_cross_attention == False and args.use_quad_cross_attention == False: if torch_version_numeric[0] >= 2 and torch_version_numeric[1] >= 7: # works on 2.6 but doesn't actually seem to improve much - if arch in ["gfx1100"]: #TODO: more arches + if any((a in arch) for a in ["gfx1100", "gfx1101"]): # TODO: more arches ENABLE_PYTORCH_ATTENTION = True except: pass @@ -1110,7 +1110,7 @@ def should_use_bf16(device=None, model_params=0, prioritize_performance=True, ma if is_amd(): arch = torch.cuda.get_device_properties(device).gcnArchName - if arch in ["gfx1030", "gfx1031", "gfx1010", "gfx1011", "gfx1012", "gfx906", "gfx900", "gfx803"]: # RDNA2 and older don't support bf16 + if any((a in arch) for a in ["gfx1030", "gfx1031", "gfx1010", "gfx1011", "gfx1012", "gfx906", "gfx900", "gfx803"]): # RDNA2 and older don't support bf16 if manual_cast: return True return False From b07258cef2ec53e2f76ef9ae73682ca1aa08a9b1 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Tue, 18 Feb 2025 07:28:33 -0500 Subject: [PATCH 60/78] Fix typo. Let me know if this slows things down on 2000 series and below. --- comfy/model_management.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/model_management.py b/comfy/model_management.py index 9252afab1..9ff63f35d 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -1121,7 +1121,7 @@ def should_use_bf16(device=None, model_params=0, prioritize_performance=True, ma bf16_works = torch.cuda.is_bf16_supported() - if bf16_works or manual_cast: + if bf16_works and manual_cast: free_model_memory = maximum_vram_for_weights(device) if (not prioritize_performance) or model_params * 4 > free_model_memory: return True From acc152b674fd1c983acc6efd8aedbeb380660c0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jukka=20Sepp=C3=A4nen?= <40791699+kijai@users.noreply.github.com> Date: Wed, 19 Feb 2025 00:06:54 +0200 Subject: [PATCH 61/78] Support loading and using SkyReels-V1-Hunyuan-I2V (#6862) * Support SkyReels-V1-Hunyuan-I2V * VAE scaling * Fix T2V oops * Proper latent scaling --- comfy/ldm/hunyuan_video/model.py | 2 +- comfy/model_base.py | 9 +++++++++ comfy/model_detection.py | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/comfy/ldm/hunyuan_video/model.py b/comfy/ldm/hunyuan_video/model.py index fc3a67444..f3f445843 100644 --- a/comfy/ldm/hunyuan_video/model.py +++ b/comfy/ldm/hunyuan_video/model.py @@ -310,7 +310,7 @@ class HunyuanVideo(nn.Module): shape[i] = shape[i] // self.patch_size[i] img = img.reshape([img.shape[0]] + shape + [self.out_channels] + self.patch_size) img = img.permute(0, 4, 1, 5, 2, 6, 3, 7) - img = img.reshape(initial_shape) + img = img.reshape(initial_shape[0], self.out_channels, initial_shape[2], initial_shape[3], initial_shape[4]) return img def forward(self, x, timestep, context, y, guidance=None, attention_mask=None, control=None, transformer_options={}, **kwargs): diff --git a/comfy/model_base.py b/comfy/model_base.py index 98f462b32..0eeaed790 100644 --- a/comfy/model_base.py +++ b/comfy/model_base.py @@ -871,6 +871,15 @@ class HunyuanVideo(BaseModel): if cross_attn is not None: out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + image = kwargs.get("concat_latent_image", None) + noise = kwargs.get("noise", None) + + if image is not None: + padding_shape = (noise.shape[0], 16, noise.shape[2] - 1, noise.shape[3], noise.shape[4]) + latent_padding = torch.zeros(padding_shape, device=noise.device, dtype=noise.dtype) + image_latents = torch.cat([image.to(noise), latent_padding], dim=2) + out['c_concat'] = comfy.conds.CONDNoiseShape(self.process_latent_in(image_latents)) + guidance = kwargs.get("guidance", 6.0) if guidance is not None: out['guidance'] = comfy.conds.CONDRegular(torch.FloatTensor([guidance])) diff --git a/comfy/model_detection.py b/comfy/model_detection.py index 2644dd0dc..5051f821d 100644 --- a/comfy/model_detection.py +++ b/comfy/model_detection.py @@ -136,7 +136,7 @@ def detect_unet_config(state_dict, key_prefix): if '{}txt_in.individual_token_refiner.blocks.0.norm1.weight'.format(key_prefix) in state_dict_keys: #Hunyuan Video dit_config = {} dit_config["image_model"] = "hunyuan_video" - dit_config["in_channels"] = 16 + dit_config["in_channels"] = state_dict["img_in.proj.weight"].shape[1] #SkyReels img2video has 32 input channels dit_config["patch_size"] = [1, 2, 2] dit_config["out_channels"] = 16 dit_config["vec_in_dim"] = 768 From afc85cdeb64e1c758cd1d0fa8c99f0e3a9e9f9cd Mon Sep 17 00:00:00 2001 From: bymyself Date: Tue, 18 Feb 2025 15:53:01 -0700 Subject: [PATCH 62/78] Add Load Image Output node (#6790) * add LoadImageOutput node * add route for input/output/temp files * update node_typing.py * use literal type for image_folder field * mark node as beta --- api_server/routes/internal/internal_routes.py | 17 +++++++++- comfy/comfy_types/node_typing.py | 21 ++++++++++++ nodes.py | 32 +++++++++++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) diff --git a/api_server/routes/internal/internal_routes.py b/api_server/routes/internal/internal_routes.py index a66fe529b..613b0f7c7 100644 --- a/api_server/routes/internal/internal_routes.py +++ b/api_server/routes/internal/internal_routes.py @@ -1,8 +1,9 @@ from aiohttp import web from typing import Optional -from folder_paths import folder_names_and_paths +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 class InternalRoutes: ''' @@ -50,6 +51,20 @@ class InternalRoutes: response[key] = folder_names_and_paths[key][0] return web.json_response(response) + @self.routes.get('/files/{directory_type}') + async def get_files(request: web.Request) -> web.Response: + directory_type = request.match_info['directory_type'] + if directory_type not in ("output", "input", "temp"): + return web.json_response({"error": "Invalid directory type"}, status=400) + + directory = get_directory_by_type(directory_type) + sorted_files = sorted( + (entry for entry in os.scandir(directory) if entry.is_file()), + key=lambda entry: -entry.stat().st_mtime + ) + 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() diff --git a/comfy/comfy_types/node_typing.py b/comfy/comfy_types/node_typing.py index 056b1aa65..0f70fdb23 100644 --- a/comfy/comfy_types/node_typing.py +++ b/comfy/comfy_types/node_typing.py @@ -66,6 +66,19 @@ class IO(StrEnum): b = frozenset(value.split(",")) return not (b.issubset(a) or a.issubset(b)) +class RemoteInputOptions(TypedDict): + route: str + """The route to the remote source.""" + refresh_button: bool + """Specifies whether to show a refresh button in the UI below the widget.""" + control_after_refresh: Literal["first", "last"] + """Specifies the control after the refresh button is clicked. If "first", the first item will be automatically selected, and so on.""" + timeout: int + """The maximum amount of time to wait for a response from the remote source in milliseconds.""" + max_retries: int + """The maximum number of retries before aborting the request.""" + refresh: int + """The TTL of the remote input's value in milliseconds. Specifies the interval at which the remote input's value is refreshed.""" class InputTypeOptions(TypedDict): """Provides type hinting for the return type of the INPUT_TYPES node function. @@ -113,6 +126,14 @@ class InputTypeOptions(TypedDict): # defaultVal: str dynamicPrompts: bool """Causes the front-end to evaluate dynamic prompts (``STRING``)""" + # class InputTypeCombo(InputTypeOptions): + image_upload: bool + """Specifies whether the input should have an image upload button and image preview attached to it. Requires that the input's name is `image`.""" + image_folder: Literal["input", "output", "temp"] + """Specifies which folder to get preview images from if the input has the ``image_upload`` flag. + """ + remote: RemoteInputOptions + """Specifies the configuration for a remote input.""" class HiddenInputTypeDict(TypedDict): diff --git a/nodes.py b/nodes.py index 504a3376e..b39adc654 100644 --- a/nodes.py +++ b/nodes.py @@ -1763,6 +1763,36 @@ class LoadImageMask: return True + +class LoadImageOutput(LoadImage): + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "image": ("COMBO", { + "image_upload": True, + "image_folder": "output", + "remote": { + "route": "/internal/files/output", + "refresh_button": True, + "control_after_refresh": "first", + }, + }), + } + } + + DESCRIPTION = "Load an image from the output folder. When the refresh button is clicked, the node will update the image list and automatically select the first image, allowing for easy iteration." + EXPERIMENTAL = True + FUNCTION = "load_image_output" + + def load_image_output(self, image): + return self.load_image(f"{image} [output]") + + @classmethod + def VALIDATE_INPUTS(s, image): + return True + + class ImageScale: upscale_methods = ["nearest-exact", "bilinear", "area", "bicubic", "lanczos"] crop_methods = ["disabled", "center"] @@ -1949,6 +1979,7 @@ NODE_CLASS_MAPPINGS = { "PreviewImage": PreviewImage, "LoadImage": LoadImage, "LoadImageMask": LoadImageMask, + "LoadImageOutput": LoadImageOutput, "ImageScale": ImageScale, "ImageScaleBy": ImageScaleBy, "ImageInvert": ImageInvert, @@ -2049,6 +2080,7 @@ NODE_DISPLAY_NAME_MAPPINGS = { "PreviewImage": "Preview Image", "LoadImage": "Load Image", "LoadImageMask": "Load Image (as Mask)", + "LoadImageOutput": "Load Image (from Outputs)", "ImageScale": "Upscale Image", "ImageScaleBy": "Upscale Image By", "ImageUpscaleWithModel": "Upscale Image (using Model)", From 0d4d9222c6922e123e81c9fea104275df33b497d Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 19 Feb 2025 07:11:49 -0500 Subject: [PATCH 63/78] Add early experimental SaveWEBM node to save .webm files. The frontend part isn't done yet so there is no video preview on the node or dragging the webm on the interface to load the workflow yet. This uses a new dependency: PyAV. --- comfy_extras/nodes_video.py | 75 +++++++++++++++++++++++++++++++++++++ nodes.py | 1 + requirements.txt | 1 + 3 files changed, 77 insertions(+) create mode 100644 comfy_extras/nodes_video.py diff --git a/comfy_extras/nodes_video.py b/comfy_extras/nodes_video.py new file mode 100644 index 000000000..f3922e03d --- /dev/null +++ b/comfy_extras/nodes_video.py @@ -0,0 +1,75 @@ +import os +import av +import torch +import folder_paths +import json +from fractions import Fraction + + +class SaveWEBM: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + self.type = "output" + self.prefix_append = "" + + @classmethod + def INPUT_TYPES(s): + return {"required": + {"images": ("IMAGE", ), + "filename_prefix": ("STRING", {"default": "ComfyUI"}), + "codec": (["vp9", "av1"],), + "fps": ("FLOAT", {"default": 24.0, "min": 0.01, "max": 1000.0, "step": 0.01}), + "crf": ("FLOAT", {"default": 32.0, "min": 0, "max": 63.0, "step": 1, "tooltip": "Higher crf means lower quality with a smaller file size, lower crf means higher quality higher filesize."}), + }, + "hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"}, + } + + RETURN_TYPES = () + FUNCTION = "save_images" + + OUTPUT_NODE = True + + CATEGORY = "image/video" + + EXPERIMENTAL = True + + def save_images(self, images, codec, fps, filename_prefix, crf, prompt=None, extra_pnginfo=None): + filename_prefix += self.prefix_append + full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir, images[0].shape[1], images[0].shape[0]) + + file = f"{filename}_{counter:05}_.webm" + container = av.open(os.path.join(full_output_folder, file), mode="w") + + if prompt is not None: + container.metadata["prompt"] = json.dumps(prompt) + + if extra_pnginfo is not None: + for x in extra_pnginfo: + container.metadata[x] = json.dumps(extra_pnginfo[x]) + + codec_map = {"vp9": "libvpx-vp9", "av1": "libaom-av1"} + stream = container.add_stream(codec_map[codec], rate=Fraction(round(fps * 1000), 1000)) + stream.width = images.shape[-2] + stream.height = images.shape[-3] + stream.pix_fmt = "yuv420p" + stream.bit_rate = 0 + stream.options = {'crf': str(crf)} + + for frame in images: + frame = av.VideoFrame.from_ndarray(torch.clamp(frame[..., :3] * 255, min=0, max=255).to(device=torch.device("cpu"), dtype=torch.uint8).numpy(), format="rgb24") + for packet in stream.encode(frame): + container.mux(packet) + container.close() + + results = [{ + "filename": file, + "subfolder": subfolder, + "type": self.type + }] + + return {"ui": {"images": results, "animated": (True,)}} # TODO: frontend side + + +NODE_CLASS_MAPPINGS = { + "SaveWEBM": SaveWEBM, +} diff --git a/nodes.py b/nodes.py index b39adc654..4e68af79d 100644 --- a/nodes.py +++ b/nodes.py @@ -2265,6 +2265,7 @@ def init_builtin_extra_nodes(): "nodes_hooks.py", "nodes_load_3d.py", "nodes_cosmos.py", + "nodes_video.py", "nodes_lumina2.py", ] diff --git a/requirements.txt b/requirements.txt index 3bc945a1b..3229fe81f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,3 +19,4 @@ psutil kornia>=0.7.1 spandrel soundfile +av From 5715be2ca9930b7239590524203d89f74ec9f568 Mon Sep 17 00:00:00 2001 From: maedtb Date: Wed, 19 Feb 2025 07:14:45 -0500 Subject: [PATCH 64/78] Fix Hunyuan unet config detection for some models. (#6877) The change to support 32 channel hunyuan models is missing the `key_prefix` on the key. This addresses a complain in the comments of acc152b674fd1c983acc6efd8aedbeb380660c0c. --- comfy/model_detection.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/model_detection.py b/comfy/model_detection.py index 5051f821d..b1faa63f4 100644 --- a/comfy/model_detection.py +++ b/comfy/model_detection.py @@ -136,7 +136,7 @@ def detect_unet_config(state_dict, key_prefix): if '{}txt_in.individual_token_refiner.blocks.0.norm1.weight'.format(key_prefix) in state_dict_keys: #Hunyuan Video dit_config = {} dit_config["image_model"] = "hunyuan_video" - dit_config["in_channels"] = state_dict["img_in.proj.weight"].shape[1] #SkyReels img2video has 32 input channels + dit_config["in_channels"] = state_dict['{}img_in.proj.weight'.format(key_prefix)].shape[1] #SkyReels img2video has 32 input channels dit_config["patch_size"] = [1, 2, 2] dit_config["out_channels"] = 16 dit_config["vec_in_dim"] = 768 From b4d3652d88927a341f22a35252471562f1f25f1b Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" <128333288+ltdrdata@users.noreply.github.com> Date: Wed, 19 Feb 2025 21:15:36 +0900 Subject: [PATCH 65/78] fixed: crash caused by outdated incompatible aiohttp dependency (#6841) https://github.com/comfyanonymous/ComfyUI/issues/6038#issuecomment-2661776795 https://github.com/comfyanonymous/ComfyUI/issues/5814#issue-2700816845 --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3229fe81f..afbcb7cba 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,8 @@ transformers>=4.28.1 tokenizers>=0.13.3 sentencepiece safetensors>=0.4.2 -aiohttp +aiohttp>=3.11.8 +yarl>=1.18.0 pyyaml Pillow scipy From c5be423d6bf0e53d460471f49d75455e621773c0 Mon Sep 17 00:00:00 2001 From: Silver <65376327+silveroxides@users.noreply.github.com> Date: Thu, 20 Feb 2025 13:07:07 +0100 Subject: [PATCH 66/78] Fix link pointing to non-exisiting docs (#6891) * Fix link pointing to non-exisiting docs The current link is pointing to a path that does not exist any longer. I changed it to point to the currect correct path for custom nodes datatypes. * Update node_typing.py --- comfy/comfy_types/node_typing.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/comfy/comfy_types/node_typing.py b/comfy/comfy_types/node_typing.py index 0f70fdb23..0696dbe5e 100644 --- a/comfy/comfy_types/node_typing.py +++ b/comfy/comfy_types/node_typing.py @@ -85,7 +85,7 @@ class InputTypeOptions(TypedDict): Due to IDE limitations with unions, for now all options are available for all types (e.g. `label_on` is hinted even when the type is not `IO.BOOLEAN`). - Comfy Docs: https://docs.comfy.org/essentials/custom_node_datatypes + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/datatypes """ default: bool | str | float | int | list | tuple @@ -154,7 +154,7 @@ class HiddenInputTypeDict(TypedDict): class InputTypeDict(TypedDict): """Provides type hinting for node INPUT_TYPES. - Comfy Docs: https://docs.comfy.org/essentials/custom_node_more_on_inputs + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/more_on_inputs """ required: dict[str, tuple[IO, InputTypeOptions]] @@ -164,14 +164,14 @@ class InputTypeDict(TypedDict): hidden: HiddenInputTypeDict """Offers advanced functionality and server-client communication. - Comfy Docs: https://docs.comfy.org/essentials/custom_node_more_on_inputs#hidden-inputs + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/more_on_inputs#hidden-inputs """ class ComfyNodeABC(ABC): """Abstract base class for Comfy nodes. Includes the names and expected types of attributes. - Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/server_overview """ DESCRIPTION: str @@ -188,7 +188,7 @@ class ComfyNodeABC(ABC): CATEGORY: str """The category of the node, as per the "Add Node" menu. - Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#category + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/server_overview#category """ EXPERIMENTAL: bool """Flags a node as experimental, informing users that it may change or not work as expected.""" @@ -202,9 +202,9 @@ class ComfyNodeABC(ABC): * Must include the ``required`` key, which describes all inputs that must be connected for the node to execute. * The ``optional`` key can be added to describe inputs which do not need to be connected. - * The ``hidden`` key offers some advanced functionality. More info at: https://docs.comfy.org/essentials/custom_node_more_on_inputs#hidden-inputs + * The ``hidden`` key offers some advanced functionality. More info at: https://docs.comfy.org/custom-nodes/backend/more_on_inputs#hidden-inputs - Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#input-types + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/server_overview#input-types """ return {"required": {}} @@ -219,7 +219,7 @@ class ComfyNodeABC(ABC): By default, a node is not considered an output. Set ``OUTPUT_NODE = True`` to specify that it is. - Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#output-node + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/server_overview#output-node """ INPUT_IS_LIST: bool """A flag indicating if this node implements the additional code necessary to deal with OUTPUT_IS_LIST nodes. @@ -230,7 +230,7 @@ class ComfyNodeABC(ABC): A node can also override the default input behaviour and receive the whole list in a single call. This is done by setting a class attribute `INPUT_IS_LIST` to ``True``. - Comfy Docs: https://docs.comfy.org/essentials/custom_node_lists#list-processing + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/lists#list-processing """ OUTPUT_IS_LIST: tuple[bool] """A tuple indicating which node outputs are lists, but will be connected to nodes that expect individual items. @@ -248,7 +248,7 @@ class ComfyNodeABC(ABC): the node should provide a class attribute `OUTPUT_IS_LIST`, which is a ``tuple[bool]``, of the same length as `RETURN_TYPES`, specifying which outputs which should be so treated. - Comfy Docs: https://docs.comfy.org/essentials/custom_node_lists#list-processing + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/lists#list-processing """ RETURN_TYPES: tuple[IO] @@ -258,19 +258,19 @@ class ComfyNodeABC(ABC): RETURN_TYPES = (IO.INT, "INT", "CUSTOM_TYPE") - Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#return-types + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/server_overview#return-types """ RETURN_NAMES: tuple[str] """The output slot names for each item in `RETURN_TYPES`, e.g. ``RETURN_NAMES = ("count", "filter_string")`` - Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#return-names + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/server_overview#return-names """ OUTPUT_TOOLTIPS: tuple[str] """A tuple of strings to use as tooltips for node outputs, one for each item in `RETURN_TYPES`.""" FUNCTION: str """The name of the function to execute as a literal string, e.g. `FUNCTION = "execute"` - Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#function + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/server_overview#function """ @@ -288,7 +288,7 @@ class CheckLazyMixin: Params should match the nodes execution ``FUNCTION`` (self, and all inputs by name). Will be executed repeatedly until it returns an empty list, or all requested items were already evaluated (and sent as params). - Comfy Docs: https://docs.comfy.org/essentials/custom_node_lazy_evaluation#defining-check-lazy-status + Comfy Docs: https://docs.comfy.org/custom-nodes/backend/lazy_evaluation#defining-check-lazy-status """ need = [name for name in kwargs if kwargs[name] is None] From 29d4384a75abb4ca90f5b64e70499f2120d76a3a Mon Sep 17 00:00:00 2001 From: Robin Huang Date: Thu, 20 Feb 2025 04:09:45 -0800 Subject: [PATCH 67/78] Normalize extra_model_config.yaml paths to prevent duplicates. (#6885) * Normalize extra_model_config.yaml paths before adding. * Fix tests. * Fix tests. --- tests-unit/utils/extra_config_test.py | 6 +++--- utils/extra_config.py | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/tests-unit/utils/extra_config_test.py b/tests-unit/utils/extra_config_test.py index 6d232079e..eae1aa3d3 100644 --- a/tests-unit/utils/extra_config_test.py +++ b/tests-unit/utils/extra_config_test.py @@ -145,7 +145,7 @@ def test_load_extra_model_paths_expands_appdata( else: expected_base_path = '/Users/TestUser/AppData/Roaming/ComfyUI' expected_calls = [ - ('checkpoints', os.path.join(expected_base_path, 'models/checkpoints'), False), + ('checkpoints', os.path.normpath(os.path.join(expected_base_path, 'models/checkpoints')), False), ] assert mock_add_model_folder_path.call_count == len(expected_calls) @@ -197,8 +197,8 @@ def test_load_extra_path_config_relative_base_path( load_extra_path_config(dummy_yaml_name) - expected_checkpoints = os.path.abspath(os.path.join(str(tmp_path), sub_folder, "checkpoints")) - expected_some_value = os.path.abspath(os.path.join(str(tmp_path), sub_folder, "some_value")) + expected_checkpoints = os.path.abspath(os.path.join(str(tmp_path), "my_rel_base", "checkpoints")) + expected_some_value = os.path.abspath(os.path.join(str(tmp_path), "my_rel_base", "some_value")) actual_paths = folder_paths.folder_names_and_paths["checkpoints"][0] assert len(actual_paths) == 1, "Should have one path added for 'checkpoints'." diff --git a/utils/extra_config.py b/utils/extra_config.py index b7196e36f..a0fcda9e8 100644 --- a/utils/extra_config.py +++ b/utils/extra_config.py @@ -29,5 +29,6 @@ def load_extra_path_config(yaml_path): full_path = os.path.join(base_path, full_path) elif not os.path.isabs(full_path): full_path = os.path.abspath(os.path.join(yaml_dir, y)) - logging.info("Adding extra search path {} {}".format(x, full_path)) - folder_paths.add_model_folder_path(x, full_path, is_default) + normalized_path = os.path.normpath(full_path) + logging.info("Adding extra search path {} {}".format(x, normalized_path)) + folder_paths.add_model_folder_path(x, normalized_path, is_default) From 12da6ef581cd9f47a4341d74159ce32f3d2f3e8d Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Thu, 20 Feb 2025 09:29:59 -0500 Subject: [PATCH 68/78] Apparently directml supports fp16. --- comfy/model_management.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/comfy/model_management.py b/comfy/model_management.py index 9ff63f35d..9066e0dc2 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -1021,8 +1021,6 @@ def is_directml_enabled(): return False def should_use_fp16(device=None, model_params=0, prioritize_performance=True, manual_cast=False): - global directml_enabled - if device is not None: if is_device_cpu(device): return False @@ -1033,8 +1031,8 @@ def should_use_fp16(device=None, model_params=0, prioritize_performance=True, ma if FORCE_FP32: return False - if directml_enabled: - return False + if is_directml_enabled(): + return True if (device is not None and is_device_mps(device)) or mps_mode(): return True From d37272532cf80fe7c58532b4161502fa9043ed33 Mon Sep 17 00:00:00 2001 From: Robin Huang Date: Thu, 20 Feb 2025 15:26:16 -0800 Subject: [PATCH 69/78] Add discord channel to support section. (#6900) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 44f46a41a..e50ed6607 100644 --- a/README.md +++ b/README.md @@ -293,6 +293,8 @@ Use `--tls-keyfile key.pem --tls-certfile cert.pem` to enable TLS/SSL, the app w ## Support and dev channel +[Discord](https://comfy.org/discord): Try the #help or #feedback channels. + [Matrix space: #comfyui_space:matrix.org](https://app.element.io/#/room/%23comfyui_space%3Amatrix.org) (it's like discord but open source). See also: [https://www.comfy.org/](https://www.comfy.org/) From f579a740ddcfa90a1dfdfd9a8378c27fa9b2ac87 Mon Sep 17 00:00:00 2001 From: filtered <176114999+webfiltered@users.noreply.github.com> Date: Fri, 21 Feb 2025 21:58:12 +1100 Subject: [PATCH 70/78] Update frontend release schedule in README. (#6908) Changes release schedule from weekly to fortnightly. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e50ed6607..83d67cef4 100644 --- a/README.md +++ b/README.md @@ -311,7 +311,7 @@ For any bugs, issues, or feature requests related to the frontend, please use th The new frontend is now the default for ComfyUI. However, please note: -1. The frontend in the main ComfyUI repository is updated weekly. +1. The frontend in the main ComfyUI repository is updated fortnightly. 2. Daily releases are available in the separate frontend repository. To use the most up-to-date frontend version: @@ -328,7 +328,7 @@ To use the most up-to-date frontend version: --front-end-version Comfy-Org/ComfyUI_frontend@1.2.2 ``` -This approach allows you to easily switch between the stable weekly release and the cutting-edge daily updates, or even specific versions for testing purposes. +This approach allows you to easily switch between the stable fortnightly release and the cutting-edge daily updates, or even specific versions for testing purposes. ### Accessing the Legacy Frontend From 41c30e92e7c468dde630714a27431299de438490 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Fri, 21 Feb 2025 06:32:11 -0500 Subject: [PATCH 71/78] Let all model memory be offloaded on nvidia. --- comfy/model_management.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/model_management.py b/comfy/model_management.py index 9066e0dc2..331aa9fd3 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -220,7 +220,7 @@ def is_amd(): MIN_WEIGHT_MEMORY_RATIO = 0.4 if is_nvidia(): - MIN_WEIGHT_MEMORY_RATIO = 0.1 + MIN_WEIGHT_MEMORY_RATIO = 0.0 ENABLE_PYTORCH_ATTENTION = False if args.use_pytorch_cross_attention: From a6deca6d9ae36ec60722d66ad5c31cbb05725383 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Fri, 21 Feb 2025 20:14:30 -0500 Subject: [PATCH 72/78] Latest mac still has the black image bug. --- comfy/model_management.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/model_management.py b/comfy/model_management.py index 331aa9fd3..86b4727a3 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -943,7 +943,7 @@ def force_upcast_attention_dtype(): upcast = args.force_upcast_attention macos_version = mac_version() - if macos_version is not None and ((14, 5) <= macos_version <= (15, 2)): # black image bug on recent versions of macOS + if macos_version is not None and ((14, 5) <= macos_version <= (15, 3)): # black image bug on recent versions of macOS upcast = True if upcast: From 072db3bea6e530ad14c168a94cb83024358ecb9b Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Fri, 21 Feb 2025 20:24:07 -0500 Subject: [PATCH 73/78] Assume the mac black image bug won't be fixed before v16. --- comfy/model_management.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/model_management.py b/comfy/model_management.py index 86b4727a3..8b6c4a667 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -943,7 +943,7 @@ def force_upcast_attention_dtype(): upcast = args.force_upcast_attention macos_version = mac_version() - if macos_version is not None and ((14, 5) <= macos_version <= (15, 3)): # black image bug on recent versions of macOS + if macos_version is not None and ((14, 5) <= macos_version < (16,)): # black image bug on recent versions of macOS upcast = True if upcast: From b50ab153f96fd396ea26a76529f164c5ae3b50a6 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Fri, 21 Feb 2025 20:28:28 -0500 Subject: [PATCH 74/78] Bump ComfyUI version to v0.3.15 --- comfyui_version.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/comfyui_version.py b/comfyui_version.py index 6be6f59f0..fc7bb1df8 100644 --- a/comfyui_version.py +++ b/comfyui_version.py @@ -1,3 +1,3 @@ # This file is automatically generated by the build process when version is # updated in pyproject.toml. -__version__ = "0.3.14" +__version__ = "0.3.15" diff --git a/pyproject.toml b/pyproject.toml index a450b9b0c..877ae4d70 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "ComfyUI" -version = "0.3.14" +version = "0.3.15" readme = "README.md" license = { file = "LICENSE" } requires-python = ">=3.9" From aff16532d4505d3df2129802f89309ec6eb4499a Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sat, 22 Feb 2025 04:45:14 -0500 Subject: [PATCH 75/78] Remove some useless code. --- comfy/ldm/modules/attention.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/comfy/ldm/modules/attention.py b/comfy/ldm/modules/attention.py index 975faa21f..24fb9d950 100644 --- a/comfy/ldm/modules/attention.py +++ b/comfy/ldm/modules/attention.py @@ -41,27 +41,12 @@ def exists(val): return val is not None -def uniq(arr): - return{el: True for el in arr}.keys() - - def default(val, d): if exists(val): return val return d -def max_neg_value(t): - return -torch.finfo(t.dtype).max - - -def init_(tensor): - dim = tensor.shape[-1] - std = 1 / math.sqrt(dim) - tensor.uniform_(-std, std) - return tensor - - # feedforward class GEGLU(nn.Module): def __init__(self, dim_in, dim_out, dtype=None, device=None, operations=ops): From ace899e71a3d8d75f64a016fa398b95fa83e6978 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sun, 23 Feb 2025 04:45:54 -0500 Subject: [PATCH 76/78] Prioritize fp16 compute when using allow_fp16_accumulation --- comfy/model_management.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/comfy/model_management.py b/comfy/model_management.py index 8b6c4a667..f4a63c6d3 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -256,9 +256,12 @@ if ENABLE_PYTORCH_ATTENTION: torch.backends.cuda.enable_flash_sdp(True) torch.backends.cuda.enable_mem_efficient_sdp(True) + +PRIORITIZE_FP16 = False # TODO: remove and replace with something that shows exactly which dtype is faster than the other try: if is_nvidia() and args.fast: torch.backends.cuda.matmul.allow_fp16_accumulation = True + PRIORITIZE_FP16 = True # TODO: limit to cards where it actually boosts performance except: pass @@ -681,6 +684,10 @@ def unet_dtype(device=None, model_params=0, supported_dtypes=[torch.float16, tor if model_params * 2 > free_model_memory: return fp8_dtype + if PRIORITIZE_FP16: + if torch.float16 in supported_dtypes and should_use_fp16(device=device, model_params=model_params): + return torch.float16 + for dt in supported_dtypes: if dt == torch.float16 and should_use_fp16(device=device, model_params=model_params): if torch.float16 in supported_dtypes: From 4553891bbd993d0ee37377a6a30e13bd0e070143 Mon Sep 17 00:00:00 2001 From: Robin Huang Date: Sun, 23 Feb 2025 16:13:39 -0800 Subject: [PATCH 77/78] Update installation documentation to include desktop + cli. (#6899) * Update installation documentation. * Add portable to description. * Move cli further down. --- README.md | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 83d67cef4..b51f7a067 100644 --- a/README.md +++ b/README.md @@ -31,10 +31,24 @@ ![ComfyUI Screenshot](https://github.com/user-attachments/assets/7ccaf2c1-9b72-41ae-9a89-5688c94b7abe) -This ui will let you design and execute advanced stable diffusion pipelines using a graph/nodes/flowchart based interface. For some workflow examples and see what ComfyUI can do you can check out: -### [ComfyUI Examples](https://comfyanonymous.github.io/ComfyUI_examples/) +ComfyUI lets you design and execute advanced stable diffusion pipelines using a graph/nodes/flowchart based interface. Available on Windows, Linux, and macOS. + +## Get Started + +#### [Desktop Application](https://www.comfy.org/download) +- The easiest way to get started. +- Available on Windows & macOS. + +#### [Windows Portable Package](#installing) +- Get the latest commits and completely portable. +- Available on Windows. + +#### [Manual Install](#manual-install-windows-linux) +Supports all operating systems and GPU types (NVIDIA, AMD, Intel, Apple Silicon, Ascend). + +## Examples +See what ComfyUI can do with the [example workflows](https://comfyanonymous.github.io/ComfyUI_examples/). -### [Installing ComfyUI](#installing) ## Features - Nodes/graph/flowchart interface to experiment and create complex Stable Diffusion workflows without needing to code anything. @@ -121,7 +135,7 @@ Workflow examples can be found on the [Examples page](https://comfyanonymous.git # Installing -## Windows +## Windows Portable There is a portable standalone build for Windows that should work for running on Nvidia GPUs or for running on your CPU only on the [releases page](https://github.com/comfyanonymous/ComfyUI/releases). @@ -141,6 +155,15 @@ See the [Config file](extra_model_paths.yaml.example) to set the search paths fo To run it on services like paperspace, kaggle or colab you can use my [Jupyter Notebook](notebooks/comfyui_colab.ipynb) + +## [comfy-cli](https://docs.comfy.org/comfy-cli/getting-started) + +You can install and start ComfyUI using comfy-cli: +```bash +pip install comfy-cli +comfy install +``` + ## Manual Install (Windows, Linux) python 3.13 is supported but using 3.12 is recommended because some custom nodes and their dependencies might not support it yet. From 96d891cb94d90f220e066cebad349887137f07a6 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Mon, 24 Feb 2025 05:41:07 -0500 Subject: [PATCH 78/78] Speedup on some models by not upcasting bfloat16 to float32 on mac. --- comfy/ldm/modules/attention.py | 13 +++++++------ comfy/model_management.py | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/comfy/ldm/modules/attention.py b/comfy/ldm/modules/attention.py index 24fb9d950..2758f9508 100644 --- a/comfy/ldm/modules/attention.py +++ b/comfy/ldm/modules/attention.py @@ -30,11 +30,12 @@ ops = comfy.ops.disable_weight_init FORCE_UPCAST_ATTENTION_DTYPE = model_management.force_upcast_attention_dtype() -def get_attn_precision(attn_precision): +def get_attn_precision(attn_precision, current_dtype): if args.dont_upcast_attention: return None - if FORCE_UPCAST_ATTENTION_DTYPE is not None: - return FORCE_UPCAST_ATTENTION_DTYPE + + if FORCE_UPCAST_ATTENTION_DTYPE is not None and current_dtype in FORCE_UPCAST_ATTENTION_DTYPE: + return FORCE_UPCAST_ATTENTION_DTYPE[current_dtype] return attn_precision def exists(val): @@ -81,7 +82,7 @@ def Normalize(in_channels, dtype=None, device=None): return torch.nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True, dtype=dtype, device=device) def attention_basic(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): - attn_precision = get_attn_precision(attn_precision) + attn_precision = get_attn_precision(attn_precision, q.dtype) if skip_reshape: b, _, _, dim_head = q.shape @@ -150,7 +151,7 @@ def attention_basic(q, k, v, heads, mask=None, attn_precision=None, skip_reshape def attention_sub_quad(query, key, value, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): - attn_precision = get_attn_precision(attn_precision) + attn_precision = get_attn_precision(attn_precision, query.dtype) if skip_reshape: b, _, _, dim_head = query.shape @@ -220,7 +221,7 @@ def attention_sub_quad(query, key, value, heads, mask=None, attn_precision=None, return hidden_states def attention_split(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): - attn_precision = get_attn_precision(attn_precision) + attn_precision = get_attn_precision(attn_precision, q.dtype) if skip_reshape: b, _, _, dim_head = q.shape diff --git a/comfy/model_management.py b/comfy/model_management.py index f4a63c6d3..1e6599be2 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -954,7 +954,7 @@ def force_upcast_attention_dtype(): upcast = True if upcast: - return torch.float32 + return {torch.float16: torch.float32} else: return None